How lhg96/airquality-platform works
This repository describes an air-quality platform spanning sensor measurement, public-data collection, serial acquisition, calibration, an API, and a demo dashboard. The README documents the main data path and the demo’s mock/live modes; the only sampled source is the device header, so device internals and the Java subsystems are represented at the documented subsystem level rather than as inferred call graphs.
Main entry points: main.py Demo server · air-quality-api REST API server · RA200_v1.3.ino ESP32 RA200 · air-quality-calibration Data calibration
Components 15
Device sensing
- ESP32 RA200
air-quality-device/RA200_v1.3/RA200_v1.3.ino - Sensor state
air-quality-device/RA200_v1.3/RA100.h - Device filtering
air-quality-device/RA200_v1.3/Filter.ino
Data collection
- Serial acquisition
air-quality-serial - AirKorea crawler
air-quality-crawler
Calibration
- Data calibration
air-quality-calibration
API service
- REST API server
air-quality-api - Air-quality storage
air-quality-api
Demo dashboard
- Demo server
demo/main.py - Mock data generator
demo/mock_data.py - Live API client
demo/api_client.py - Dashboard UI
demo/static/app.js
Other components
- Operator
- AirKorea API
- API clients
air-quality-client
Connections 14
- ESP32 RA200 → Sensor state: updates readings
README.md - ESP32 RA200 → Device filtering: filters readings
README.md - ESP32 RA200 → Serial acquisition: streams serial data
README.md - AirKorea API → AirKorea crawler: provides measurements
README.md - Serial acquisition → Data calibration: supplies sensor data
README.md - AirKorea crawler → Data calibration: supplies collected data
README.md - Data calibration → REST API server: provides processed data
README.md - REST API server → Air-quality storage: stores and retrieves
README.md - API clients → REST API server: uses endpoints
README.md - Operator → Demo server: opens dashboard
README.md - Demo server → Mock data generator: generates demo data
README.md - Demo server → Live API client: proxies live requests
README.md - Live API client → REST API server: requests live data
README.md - Demo server → Dashboard UI: serves dashboard
README.md