meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ixc2025:pre [2025/01/19 10:12] divaixc2025: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! 
  
-{{:ixc2025:stock-photo-happy-multicultural-programmers-giving-high-five-while-working-office-together.jpeg?400|}}+{{ :ixc2025:stock-photo-happy-multicultural-programmers-giving-high-five-while-working-office-together.jpeg?400 | You should have fun :)}}
  
 **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://docs.keyestudio.com/projects/KS5009/en/latest/docs/index.html#how-to-install-the-smart-home|External Link]] Tutorials: [[https://docs.keyestudio.com/projects/KS5009/en/latest/docs/index.html#how-to-install-the-smart-home|External Link]]
  
-=== 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, no slides are necessary, just share your idea to everyone :D For presentation, no slides are necessary, just share your idea to everyone :D
 +
 +
 +
 ====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 Power Measurements ==
 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.\\ 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.\\
-**1CPU Load**+  - __CPU Load__: 
 +    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. 
 +  - __Heap Memory Status__: 
 +    ESP32 can also track the state/ status of its heap memory, that is utilized during runtime/ task performance/ computation, by installing ESP-IDF library on the arduino IDE, you can track and record the processor's free heap size and minimum free heap size throughout its runtime. 
 +  - __Memory space__: 
 +    ESP32 can track its available memory during runtime, this is helpful to detect potential memory leaks during runtime. 
 +  - __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. 
  
- **2Heap 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/ computation, by installing ESP-IDF library on the arduino IDE, you can track and record the processor's free heap size and minimum free heap size throughout its runtime. 
  
- **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:{{ :ixc2025:dr_sanaul_iot_hackathon_2025.pdf |Slides by Dr. Sanaul Haque}}
- +
- **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: {{ :ixc2025:dr_sanaul_iot_hackathon_2025.pdf |}}+
    
 ====Phase 7: Final presentation and reflection==== ====Phase 7: Final presentation and reflection====
Line 170: Line 175:
  
 After your presentation, feel free to share your overall reflection during these 2 days. You can share on your learning outcomes, your hardships and experience during this pilot hackathon. After your presentation, feel free to share your overall reflection during these 2 days. You can share on your learning outcomes, your hardships and experience during this pilot hackathon.
 +
 +
 +
 +====Credits====
 +Click on this link to look at the nerds that prepared this for you 8-) :[[:iXc2025:credits|Credits page]]
 +
 +
 +====Pilot Run Results====
 +Click on this link to view the pilot run results by Sunway University students: [[:iXc2025:pilotresults|View Pilot Results]]