User Tools

Site Tools


inhabitat:kaunas:day04

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
inhabitat:kaunas:day04 [2026/05/29 08:19] harley.larainhabitat:kaunas:day04 [2026/05/29 08:45] (current) harley.lara
Line 242: Line 242:
 The student demonstrates that: The student demonstrates that:
  
-* They can identify the DS18B20 pins: VCC, GND, and DATA +  * They can identify the DS18B20 pins: VCC, GND, and DATA 
-* They can identify the ESP32 GPIO pin used for the DS18B20 data line +  * They can identify the ESP32 GPIO pin used for the DS18B20 data line 
-* They can explain the purpose of the 4.7kΩ pull-up resistor +  * They can explain the purpose of the 4.7kΩ pull-up resistor 
-* They can identify the GPIO pin used for the LED +  * They can identify the GPIO pin used for the LED 
-* The breadboard wiring is organized enough to be inspected +  * The breadboard wiring is organized enough to be inspected 
-* The circuit matches the provided schematic before code is uploaded+  * The circuit matches the provided schematic before code is uploaded
  
 ==== Instructor Check ==== ==== Instructor Check ====
Line 253: Line 253:
 Before the student continues, the instructor should confirm: Before the student continues, the instructor should confirm:
  
-* No power and ground lines are reversed +  * No power and ground lines are reversed 
-* The DS18B20 data line is not connected directly to VCC or GND +  * The DS18B20 data line is not connected directly to VCC or GND 
-* The pull-up resistor is placed correctly +  * The pull-up resistor is placed correctly 
-* The LED has a current-limiting resistor +  * The LED has a current-limiting resistor 
-* The ESP32, sensor, and LED share a common ground+  * The ESP32, sensor, and LED share a common ground 
  
---- 
  
 ===== Milestone 2: DS18B20 Sensor Reading ===== ===== Milestone 2: DS18B20 Sensor Reading =====
Line 279: Line 279:
 The student or group must show: The student or group must show:
  
-* Arduino code that initializes the DS18B20 +  * Arduino code that initializes the DS18B20 
-* Required DS18B20 libraries included +  * Required DS18B20 libraries included 
-* Correct GPIO pin configured for the DS18B20 data line +  * Correct GPIO pin configured for the DS18B20 data line 
-* Temperature reading requested from the sensor +  * Temperature reading requested from the sensor 
-* Temperature value printed to the Serial Monitor +  * Temperature value printed to the Serial Monitor
-* Basic handling of invalid or missing sensor readings+
  
 ==== Checkpoint Evidence ==== ==== Checkpoint Evidence ====
Line 290: Line 289:
 The student demonstrates that: The student demonstrates that:
  
-* Temperature values appear in the Serial Monitor +  * Temperature values appear in the Serial Monitor 
-* The values are realistic +  * The values are realistic 
-* The code uses the same ESP32 GPIO pin as the physical circuit +  * The code uses the same ESP32 GPIO pin as the physical circuit 
-* The student can explain the difference between connecting the sensor and reading the sensor in code +  * The student can explain the difference between connecting the sensor and reading the sensor in code 
-* The student can identify whether a problem is likely caused by wiring or code+  * The student can identify whether a problem is likely caused by wiring or code
  
---- 
  
 ===== Milestone 3: Conditional Logic and LED Control ===== ===== Milestone 3: Conditional Logic and LED Control =====
Line 317: Line 315:
 The student or group must show: The student or group must show:
  
-* LED connected to the ESP32 +  * LED connected to the ESP32 
-* LED GPIO pin correctly defined in the Arduino code +  * LED GPIO pin correctly defined in the Arduino code 
-* Temperature threshold implemented in the Arduino code +  * Temperature threshold implemented in the Arduino code 
-* LED turning on or off according to the condition +  * LED turning on or off according to the condition 
-* Clear explanation of the chosen threshold+  * Clear explanation of the chosen threshold
  
 ==== Checkpoint Evidence ==== ==== Checkpoint Evidence ====
Line 327: Line 325:
 The student demonstrates that: The student demonstrates that:
  
-* The LED responds to the temperature condition +  * The LED responds to the temperature condition 
-* The condition is based on the DS18B20 reading +  * The condition is based on the DS18B20 reading 
-* The threshold value is visible in the code +  * The threshold value is visible in the code 
-* The student can explain why the LED turns on or off +  * The student can explain why the LED turns on or off 
-* The student can distinguish between a sensor-reading issue and an LED-control issue+  * The student can distinguish between a sensor-reading issue and an LED-control issue
  
---- 
  
 ===== Milestone 4: WiFi Connection and IP Address ===== ===== Milestone 4: WiFi Connection and IP Address =====
Line 354: Line 351:
 The student or group must show: The student or group must show:
  
-* WiFi credentials added to the Arduino code +  * WiFi credentials added to the Arduino code 
-* ESP32 successfully connected to WiFi +  * ESP32 successfully connected to WiFi 
-* IP address printed in the Serial Monitor +  * IP address printed in the Serial Monitor 
-* Basic connection status messages +  * Basic connection status messages 
-* Code structure that separates WiFi setup from the main loop+  * Code structure that separates WiFi setup from the main loop
  
 ==== Checkpoint Evidence ==== ==== Checkpoint Evidence ====
Line 364: Line 361:
 The student demonstrates that: The student demonstrates that:
  
-* The ESP32 receives an IP address +  * The ESP32 receives an IP address 
-* The Serial Monitor confirms WiFi connection +  * The Serial Monitor confirms WiFi connection 
-* The student can explain why WiFi is needed before MQTT can work +  * The student can explain why WiFi is needed before MQTT can work 
-* The student can identify whether the ESP32 is connected to the network+  * The student can identify whether the ESP32 is connected to the network
  
 --- ---
Line 395: Line 392:
 The student or group must show: The student or group must show:
  
-* MQTT broker address configured in the Arduino code +  * MQTT broker address configured in the Arduino code 
-* MQTT topic configured in the Arduino code +  * MQTT topic configured in the Arduino code 
-* ESP32 connected to the MQTT broker +  * ESP32 connected to the MQTT broker 
-* Temperature values published to MQTT +  * Temperature values published to MQTT 
-* Serial Monitor output showing MQTT publishing activity +  * Serial Monitor output showing MQTT publishing activity 
-* Payload format suitable for Node-RED processing+  * Payload format suitable for Node-RED processing
  
 ==== Checkpoint Evidence ==== ==== Checkpoint Evidence ====
Line 406: Line 403:
 The student demonstrates that: The student demonstrates that:
  
-* The ESP32 connects to the MQTT broker +  * The ESP32 connects to the MQTT broker 
-* Temperature values are published repeatedly +  * Temperature values are published repeatedly 
-* The MQTT topic is clear and unique to the student or group +  * The MQTT topic is clear and unique to the student or group 
-* The MQTT payload contains only the value or a clearly structured value +  * The MQTT payload contains only the value or a clearly structured value 
-* The student can explain the difference between WiFi connection and MQTT connection+  * The student can explain the difference between WiFi connection and MQTT connection
  
---- 
  
 ===== Milestone 6: Node-RED MQTT Subscription and Value Processing ===== ===== Milestone 6: Node-RED MQTT Subscription and Value Processing =====
Line 422: Line 418:
 The flow must: The flow must:
  
-* Subscribe to the MQTT topic. +  * Subscribe to the MQTT topic. 
-* Receive the temperature value. +  * Receive the temperature value. 
-* Convert the incoming payload into a number if needed. +  * Convert the incoming payload into a number if needed. 
-* Optionally check that the value is valid. +  * Optionally check that the value is valid. 
-* Prepare the value for writing into InfluxDB.+  * Prepare the value for writing into InfluxDB.
  
 Recommended nodes: Recommended nodes:
  
-* MQTT input node +  * MQTT input node 
-* Debug node +  * Debug node 
-* Function node or Change node for value conversion +  * Function node or Change node for value conversion 
-* InfluxDB output node+  * InfluxDB output node
  
 ==== Required Deliverables ==== ==== Required Deliverables ====
Line 439: Line 435:
 The student or group must show: The student or group must show:
  
-* Node-RED MQTT input node subscribed to the correct topic +  * Node-RED MQTT input node subscribed to the correct topic 
-* Debug output showing the incoming MQTT payload +  * Debug output showing the incoming MQTT payload 
-* Node-RED logic that converts the payload into a number +  * Node-RED logic that converts the payload into a number 
-* Processed value ready for InfluxDB +  * Processed value ready for InfluxDB 
-* Organized and readable Node-RED flow+  * Organized and readable Node-RED flow
  
 ==== Checkpoint Evidence ==== ==== Checkpoint Evidence ====
Line 449: Line 445:
 The student demonstrates that: The student demonstrates that:
  
-* MQTT messages from the ESP32 are visible in Node-RED +  * MQTT messages from the ESP32 are visible in Node-RED 
-* The payload is converted from a string to a number if necessary +  * The payload is converted from a string to a number if necessary 
-* The debug panel shows the processed value +  * The debug panel shows the processed value 
-* The student can explain the role of each node in the flow+  * The student can explain the role of each node in the flow
  
---- 
  
-===== Milestone 7: InfluxDB Storage ===== +===== Milestone 7: Grafana Dashboard =====
- +
-==== Required Behavior ==== +
- +
-The processed temperature reading must be stored in InfluxDB. +
- +
-Suggested measurement name: +
- +
-<code> +
-temperature +
-</code> +
- +
-Suggested field: +
- +
-<code> +
-value +
-</code> +
- +
-Optional tags: +
- +
-<code> +
-student +
-device +
-location +
-</code> +
- +
-Example stored data model: +
- +
-<code> +
-measurement: temperature +
-field: value +
-tag: device = esp32 +
-</code> +
- +
-==== Required Deliverables ==== +
- +
-The student or group must show: +
- +
-* Node-RED configured to write to InfluxDB +
-* Correct InfluxDB database, bucket, or measurement configuration +
-* Temperature value stored successfully +
-* Clear measurement and field names +
-* Data structure suitable for Grafana visualization +
- +
-==== Checkpoint Evidence ==== +
- +
-The student demonstrates that: +
- +
-* Node-RED sends the processed temperature value to InfluxDB +
-* InfluxDB receives new data points +
-* The measurement and field names are identifiable +
-* The student can explain what data is being stored +
- +
---- +
- +
-===== Milestone 8: Grafana Dashboard =====+
  
 ==== Required Behavior ==== ==== Required Behavior ====
Line 531: Line 471:
 The student or group must show: The student or group must show:
  
-* InfluxDB configured as a Grafana datasource +  * InfluxDB configured as a Grafana datasource 
-* Query that retrieves the temperature data +  * Query that retrieves the temperature data 
-* Dashboard panel displaying temperature over time +  * Dashboard panel displaying temperature over time 
-* Clear panel title +  * Clear panel title 
-* Correct or appropriate unit, such as degrees Celsius+  * Correct or appropriate unit, such as degrees Celsius
  
 ==== Checkpoint Evidence ==== ==== Checkpoint Evidence ====
Line 541: Line 481:
 The student demonstrates that: The student demonstrates that:
  
-* Grafana can access the InfluxDB datasource +  * Grafana can access the InfluxDB datasource 
-* Temperature values appear in a dashboard panel +  * Temperature values appear in a dashboard panel 
-* The graph updates over time +  * The graph updates over time 
-* The student can explain how Grafana receives the data indirectly through InfluxDB+  * The student can explain how Grafana receives the data indirectly through InfluxDB
  
---- +===== Milestone 8: Final System Explanation =====
- +
-===== Milestone 9: Final System Explanation =====+
  
 ==== Required Behavior ==== ==== Required Behavior ====
Line 564: Line 502:
 The student or group must explain: The student or group must explain:
  
-* What the DS18B20 measures +  * What the DS18B20 measures 
-* How the DS18B20 is physically connected to the ESP32 +  * How the DS18B20 is physically connected to the ESP32 
-* What the ESP32 does +  * What the ESP32 does 
-* Why WiFi is needed +  * Why WiFi is needed 
-* What MQTT is used for +  * What MQTT is used for 
-* What Node-RED does +  * What Node-RED does 
-* Why the data is stored in InfluxDB +  * Why the data is stored in InfluxDB 
-* What Grafana displays+  * What Grafana displays
  
 ==== Checkpoint Evidence ==== ==== Checkpoint Evidence ====
Line 577: Line 515:
 The student demonstrates that: The student demonstrates that:
  
-* They can describe the system from sensor to dashboard +  * They can describe the system from sensor to dashboard 
-* They can identify where a problem is happening in the stack +  * They can identify where a problem is happening in the stack 
-* They can distinguish between hardware, firmware, network, MQTT, Node-RED, database, and dashboard issues +  * They can distinguish between hardware, firmware, network, MQTT, Node-RED, database, and dashboard issues 
-* They can explain at least one troubleshooting step they used +  * They can explain at least one troubleshooting step they used
- +
----+
  
inhabitat/kaunas/day04.1780035569.txt.gz · Last modified: 2026/05/29 08:19 by harley.lara