How gatokttc5/project-home-automation-embedded-systems-programming works
Smart Room Automation is an STM32/ESP8266 embedded home-control system. The principal workflow is mobile HTTP commands reaching the ESP8266, crossing UART into STM32 control logic, then driving security, lighting, and climate actuators; sensor readings return through status reporting. README documents the intended module loop and capabilities, while the sampled main.c currently only initializes HAL, clocks, GPIO, and USART2 before an empty loop. Consequently, unsampled module paths are left null and relationships beyond documented architecture are conservative.
Components 14
Connectivity
- ESP8266 WiFi
- UART Transport
main.c
Firmware Runtime
- STM32 Runtime
main.c - Control Logic
- Status Reporting
Sensing
- Sensor Update
- PIR Sensor
- DHT22 Sensor
Automation Outputs
- Actuator Update
- Door Servo
- Lighting LEDs
- PWM Fan
- Alarm Buzzer
Other components
- Phone App
Connections 21
- Phone App → ESP8266 WiFi: sends commands
- ESP8266 WiFi → UART Transport: bridges WiFi
- STM32 Runtime → UART Transport: initializes
- UART Transport → STM32 Runtime: delivers commands
- STM32 Runtime → Sensor Update: dispatches update
- STM32 Runtime → Control Logic: dispatches update
- STM32 Runtime → Actuator Update: dispatches update
- STM32 Runtime → Status Reporting: dispatches update
- PIR Sensor → Sensor Update: provides motion
- DHT22 Sensor → Sensor Update: provides climate
- Sensor Update → Control Logic: provides readings
- Control Logic → Actuator Update: sets outputs
- Actuator Update → Door Servo: drives door
- Actuator Update → Lighting LEDs: drives lighting
- Actuator Update → PWM Fan: drives fan
- Actuator Update → Alarm Buzzer: triggers alarm
- Sensor Update → Status Reporting: reports readings
- Actuator Update → Status Reporting: reports state
- Status Reporting → UART Transport: returns status
- UART Transport → ESP8266 WiFi: sends response
- ESP8266 WiFi → Phone App: serves API