Context

Internship project supporting environmental monitoring research with 24 sensor nodes.

Problem

Research lab sensors produced high-frequency readings stored in flat files, making analysis slow and error-prone.

Solution

Implemented an MQTT-based ingestion pipeline with time-series storage and Grafana dashboards for real-time visualization.

Technical Decisions

  • Selected InfluxDB for native time-series optimization
  • Used MQTT QoS 1 for balance between reliability and performance

Technical Implementation

Technical Implementation

Sensor nodes publish readings to an MQTT broker every 10 seconds. A Python consumer validates payloads, applies unit conversions, and writes to InfluxDB. Grafana dashboards provide live views and historical analysis.

Offline buffering on each node stores up to 24 hours of readings locally, replaying on reconnection to prevent gaps.

Challenges

  • Handling burst traffic during calibration events
  • Ensuring data integrity during network interruptions

What I Learned

  • Time-series databases dramatically simplify sensor data workflows
  • Buffering at the edge prevents data loss during connectivity gaps

Results

  • Enabled researchers to query 30 days of data in under 2 seconds
  • Pipeline ran continuously for 14 months without manual intervention

← Back to projects