Academic IoT project implementing a web application for smart bikes in Bogotá, Colombia. The bikes are equipped with environmental sensors (MQ135 air quality, GPS) mounted on a Raspberry Pi 3 + ESP8266, streaming real-time data via MQTT to a web dashboard with Mapbox visualization.
Academic project for the IoT course, Electronics Engineering program, Pontificia Universidad Javeriana, Bogotá D.C., Colombia (2022).
flowchart LR
subgraph Bike["Smart Bike"]
RPI[Raspberry Pi 3]
ESP[ESP8266]
MQ[MQ135 Air Quality]
GPS[GPS Module]
MQ --> ESP
GPS --> ESP
ESP --> RPI
end
RPI -->|MQTT over WebSocket| Server[PHP Backend<br/>+ MySQL]
Server --> Map[Mapbox Dashboard<br/>+ Sensor Readings]
- Hardware: Raspberry Pi 3, ESP8266, MQ135 gas sensor, GPS module
- Backend: PHP + MySQL (PDO)
- Frontend: JavaScript, jQuery, Mapbox GL JS, MQTT.js (Paho)
- Communication: MQTT over WebSocket for real-time sensor data
- Auth: Simple PHP session-based login/signup
├── index.php / login.php / signup.php / logout.php # Auth pages
├── database.php # DB connection (credentials redacted)
├── aplicacion.php # Main dashboard
├── mapa.html # Mapbox map view
├── sensores.php # Sensor data page
├── aplicacion/js/ # Dashboard JS (MQTT, Mapbox, Haversine)
├── sensores/ # Sensor documentation + images
│ └── Img/ # Hardware photos (ESP8266, MQ135, GPS, RPi)
└── login/ mapa/ sensores/ # Per-page CSS + JS
This project was built in 2022 as an academic exercise. For real-world bike-mounted air quality sensing, see:
- CanAirIO (124 stars) — ESP32 + PM2.5 sensors, mobile via BLE
- senseBox:Bike — Arduino-based environmental sensing for cyclists
- AirCasting (64 stars) — AirBeam platform for air quality mapping
Sergio Rojas — Pontificia Universidad Javeriana.
This repository is archived as an academic artifact. The database credentials have been redacted. The MQTT broker and MySQL server referenced in the code are no longer active. Forks are welcome under the GPL v3 license.