0% found this document useful (0 votes)
9 views

Software for Embedded Systems Assignment

The assignment involves designing a Smart Home Energy Monitoring System that monitors energy usage in real-time using embedded systems. Key tasks include data acquisition from appliances, local data storage, cloud transmission, and user interface development. Deliverables include source code, simulation logs, technical documentation, and a demonstration video, with a focus on modularity and error handling.

Uploaded by

pmenon830
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Software for Embedded Systems Assignment

The assignment involves designing a Smart Home Energy Monitoring System that monitors energy usage in real-time using embedded systems. Key tasks include data acquisition from appliances, local data storage, cloud transmission, and user interface development. Deliverables include source code, simulation logs, technical documentation, and a demonstration video, with a focus on modularity and error handling.

Uploaded by

pmenon830
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

1

SOFTWARE FOR EMBEDDED SYSTEMS – ASSIGNMENT I

Submission Date: 14th April 2025 11.50 PM

Weightage: 30%

Building a Smart Embedded System with Real-Time Capabilities

Assignment Title:

"Design and Development of a Smart Home Energy Monitoring System"

Objective:

To apply the concepts of embedded systems by designing a real-time embedded application that
monitors and reports energy usage in a smart home environment. This assignment focuses on
integrating an embedded operating system, programming languages, and a lightweight database,
along with IoT communication protocols.

Scenario/Description:

Software for Embedded Systems – Assignment I


2

You are tasked with building a Smart Home Energy Monitoring System that
collects, processes, and visualizes energy usage data from multiple devices in real-time. The
system should:

1. Measure power consumption of three appliances using sensors (simulated or physical)


2. Store the data locally in an embedded database for real-time access
3. Periodically transmit data to a cloud server (simulated as a local Python/Java server)
4. Allow users to query energy usage statistics via a basic user interface or command-line
tool

Task Breakdown:

1. Real-Time Task Management:

 Use an embedded OS to manage:


o Sensor data acquisition
o Writing data to the local database
o Sending aggregated data to the (simulated) cloud server

2. Programming Language:

 Use C/C++/Java/Python for embedded system tasks


 Use Python/Java to simulate:
o A cloud server to receive data
o A simple analytics dashboard to visualize energy usage

3. Data Storage:

 Implement a lightweight embedded database such as SQLite or store the data in


structured files (e.g., JSON or CSV) for local storage
 Design a database schema to include:
o Device ID
o Timestamp
o Power consumption (in watts)

4. IoT Communication:

 Implement a communication protocol (e.g., MQTT or HTTP) to send data to the server
 Simulate network latency and ensure your system handles delayed or dropped
transmissions gracefully

5. Error Handling and Reliability:

 Incorporate error-handling mechanisms for:


o Sensor disconnections

Software for Embedded Systems – Assignment I


3

o Database write failures


o Network transmission issues
 Implement a retry mechanism for failed data transmissions

6. User Interaction:

 Provide a simple user interface:


o Query real-time power consumption
o View statistics like average power usage and peak usage periods

Deliverables:

1. Source Code:
o Embedded system code for data acquisition, storage, and communication
o Server-side code (Python/Java) for receiving and visualizing data
2. Simulation Logs:
o Sample data from sensors and communication with the server
3. Technical Documentation:
o System architecture and design explanation
o Database schema
4. Demonstration:
o A short video or live demonstration of the working system

Additional Instructions:

 Ensure modularity in your codebase, with separate scripts for each


stage.
 Use proper logging and error handling in all scripts.
 Provide detailed documentation, including:
o Explanation of the pipeline design.
o Challenges faced and solutions implemented.
 Submit a short video (5–10 minutes) demonstrating your pipeline
workflow.

Submission Requirements:

 Source Code: Organized into folders by stage.


 Documentation: Markdown or PDF format.
 Video Walkthrough: Demonstrating the pipeline.
 Final Deliverables: Compressed .zip file with all code, data, and
documentation.

Software for Embedded Systems – Assignment I


4

General Notes:

 Although specific tools, products, and platforms are mentioned as


examples in the tasks, you are free to choose and justify a toolchain
of your preference, provided it aligns with the objectives,
expectations, and deliverables of the assignment.
 Refer the document used while registering the groups. In case of
discrepancies, write to me separately (copying all your group
members) with subject line as "SES Group <your_group_number>".
email – [email protected]
 Using the LMS, only one member of group has to upload the file. No
submission over email will be considered.
 Make sure that you upload the file well ahead of deadline. At last
moments, we have seen several groups have faced issues while
doing the submissions.
 Note - As it’s a group assignment, only one submission is expected
from each group. Unnecessary don’t upload the solution on
individual basis. If it’s observed, then the penalty (25% reduction)
will be applicable on it.

Software for Embedded Systems – Assignment I

You might also like