meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ixc2025:pre [2025/01/19 10:10] – [Phase 6: Evaluating and refining the design] diva | ixc2025:pre [2025/01/21 09:29] (current) – jeanettetan | ||
---|---|---|---|
Line 3: | Line 3: | ||
Welcome to the pilot IoT Programming Hackathon! | Welcome to the pilot IoT Programming Hackathon! | ||
- | {{: | + | {{ : |
**Prerequisites**: | **Prerequisites**: | ||
Line 26: | Line 26: | ||
Follow the tutorials provided below to guide you through the process and ensure everything is connected correctly. | Follow the tutorials provided below to guide you through the process and ensure everything is connected correctly. | ||
- | |||
- | === Building Smart Home ==== | ||
Tutorials: [[https:// | Tutorials: [[https:// | ||
- | === Wiring Details === | + | == Wiring Details == |
+ | |||
+ | After installing the components on the boards, you will now need to connect the components with the processor. | ||
+ | |||
+ | Each component has at least three terminals: G (Ground), V (Voltage), S (Signal). The signal wire is the one that transfers the input and output signal in the system, while ground and voltage wires are for power supply. | ||
+ | |||
+ | The following table is a list of which pin on the ESP32 board that you should connect to the signal terminal of the component. | ||
| **Connection**| **Component** | | **Connection**| **Component** | ||
Line 72: | Line 76: | ||
- Troubleshooting guides to help you solve common issues. | - Troubleshooting guides to help you solve common issues. | ||
- Essential installation files to set up your development environment. | - Essential installation files to set up your development environment. | ||
+ | |||
+ | |||
| | ||
====Phase 4: Brainstorming and presenting the design==== | ====Phase 4: Brainstorming and presenting the design==== | ||
Line 94: | Line 100: | ||
For presentation, | For presentation, | ||
+ | |||
+ | |||
+ | |||
====Phase 5: Implementing the design==== | ====Phase 5: Implementing the design==== | ||
Line 130: | Line 139: | ||
====Phase 6: Evaluating and refining the design==== | ====Phase 6: Evaluating and refining the design==== | ||
- | == Power Measurements == | + | === Power Measurements |
You can use Power Measurements to see how much energy is used in your design. Try your best to reduce the energy used and remember to document it as well! | You can use Power Measurements to see how much energy is used in your design. Try your best to reduce the energy used and remember to document it as well! | ||
Line 136: | Line 145: | ||
- | ==Additional Measurements == | + | ==Additional |
- | | + | Apart from power measurements that track total energy used in the IoT system, there are other measurements that can be tracked for total energy reduction.\\ |
- | **1. CPU Load** | + | - __CPU Load__: |
+ | | ||
+ | | ||
+ | - __Heap Memory Status__: | ||
+ | | ||
+ | - __Memory space__: | ||
+ | | ||
+ | - __FreeRTOS Task Monitoring__: | ||
+ | * ESP32 can also track its task during runtime with the FreeRTOS library, that will track task completion during runtime. | ||
+ | - __Input and Output Signal tracking__: | ||
+ | * ESP32 can also utilize available libraries like ESP32PulseCounter that can track amount of inputs and outputs it processed during task execution. | ||
- | Given that ESP32 microcontroller has a built-in processor, measurements of its cpu load can be calculated during its runtime through the calculating the total time the processor is idle, (active but not processing any tasks) from total runtime. | ||
- | ESP32 has a built in function to detect processor state in which it is idle. | ||
- | **2. Heap Memory Status** | + | === Behavioral Measurements === |
+ | Behavioral measurements in the context of smart home systems and energy efficiency focus on how user habits and actions are influenced by the implemented systems. The goal is to evaluate whether the system encourages sustainable behaviors, such as conserving energy or adapting to environmentally friendly habits. | ||
- | ESP32 can also track the state/ status of its heap memory, that is utilized during runtime/ task performance/ | ||
- | **3. Memory space** | ||
- | ESP32 can track its available memory during runtime, this is helpful to detect potential memory leaks during runtime. | + | Reference Slides for behavioral Measurements:{{ : |
- | + | ||
- | **4. FreeRTOS Task Monitoring** | + | |
- | + | ||
- | ESP32 can also track its task during runtime with the FreeRTOS library, that will track task completion during runtime. | + | |
- | + | ||
- | + | ||
- | **5. Input and Output Signal tracking** | + | |
- | + | ||
- | ESP32 can also utilize available libraries like ESP32PulseCounter that can track amount of inputs and outputs it processed during task execution. | + | |
- | + | ||
- | * Behavioral Measurement: {{ : | + | |
====Phase 7: Final presentation and reflection==== | ====Phase 7: Final presentation and reflection==== | ||
Line 170: | Line 175: | ||
After your presentation, | After your presentation, | ||
+ | |||
+ | |||
+ | |||
+ | ====Credits==== | ||
+ | Click on this link to look at the nerds that prepared this for you 8-) : | ||
+ | |||
+ | |||
+ | ====Pilot Run Results==== | ||
+ | Click on this link to view the pilot run results by Sunway University students: [[: |