How ngubg/esp32-s3-industrial-cold-chain-asset-data-logger works
This is ESP32-S3 firmware for cold-chain and mobile-asset monitoring: it samples environmental data, retains records offline, and synchronizes them when connectivity returns. The README describes a four-task FreeRTOS design with queues, secure MQTT telemetry, OTA, and health monitoring. Sampled source files are empty, so the relationships below reflect the README’s documented architecture rather than verified implementations; optional or requirement-only capabilities are shown separately.
Main entry points: app_main.c Task and queue setup · storage_task.c Storage task · network_task.c Network task · health_task.c Health task
Components 12
Task orchestration
- Task and queue setup
cold-chain-logger/main/app_main.c
Sensing and storage
- Sensor task
cold-chain-logger/main/sensor_task.c - Storage task
cold-chain-logger/main/storage_task.c - LittleFS records
Network services
- Network task
cold-chain-logger/main/network_task.c - MQTT TLS broker
- HTTPS OTA service
Device health
- Health task
cold-chain-logger/main/health_task.c - Battery monitor
- Watchdog
Other components
- I2C sensor
- Backend / dashboard
Connections 13
- Task and queue setup → Sensor task: starts task
- Task and queue setup → Storage task: starts task
- Task and queue setup → Network task: starts task
- Task and queue setup → Health task: starts task
- I2C sensor → Sensor task: provides readings
- Sensor task → Storage task: queues records
- Storage task → LittleFS records: stores offline
- Storage task → Network task: queues records
- Network task → MQTT TLS broker: publishes TLS
- MQTT TLS broker → Backend / dashboard: delivers telemetry
- Network task → HTTPS OTA service: checks for updates
- Health task → Battery monitor: reads voltage
- Health task → Watchdog: feeds