|
| 1 | +# Aido Robot: Sensor Hub and Data Fusion (Simulated) |
| 2 | + |
| 3 | +> ⚠️ **Disclaimer:** This is a simulated project developed for educational and demonstration purposes. It is **not** an actual implementation of the Aido Robot hardware but is intended to showcase the core logic, design architecture, and data fusion principles used in a sensor hub system. |
| 4 | +
|
| 5 | +## 📌 Project Overview |
| 6 | + |
| 7 | +This project simulates the working of a **Sensor Hub and Data Fusion System** for the Aido Robot — a multi-sensor, intelligent companion robot. It models how various environmental and proximity sensors can be integrated with intelligent data polling, logging, and air quality assessment. |
| 8 | + |
| 9 | +## 🔧 Technologies Used |
| 10 | + |
| 11 | +- **STM32 Blue Pill (STM32F103C6)** microcontroller |
| 12 | +- **Proteus** for simulation |
| 13 | +- **STM32CubeIDE** for embedded development |
| 14 | +- **C (Bare-metal)** programming |
| 15 | +- External `.c/.h` module structure |
| 16 | + |
| 17 | +## 🧠 Key Features |
| 18 | + |
| 19 | +- ✅ **Adaptive Sensor Polling** based on environmental triggers and thresholds |
| 20 | +- ✅ **Sensor Power Management** using GPIO control to reduce energy consumption |
| 21 | +- ✅ **Structured Sensor Representation** via `sensor_t` struct for modular design |
| 22 | +- ✅ **Data Logging** with FIFO buffer mechanism for temporary storage |
| 23 | +- ✅ **Advanced AQI Calculation** using pollutant concentration data |
| 24 | +- ✅ **Sleep/Stand-by Modes** to improve overall system efficiency |
| 25 | +- ✅ **Integration with IR and Ultrasonic Sensors** for obstacle detection |
| 26 | +- ✅ **Modular Codebase** structured for scalability and hardware independence |
| 27 | + |
| 28 | +## 📈 Sensors Simulated |
| 29 | + |
| 30 | +| Sensor | Type | Functionality | Polling | Logging | |
| 31 | +|-------------|---------------------------------------------|--------------------------------------|----------|----------| |
| 32 | +| DHT22 | Temp & Humidity | Adaptive polling, comfort zone logic | ✅ | ✅ | |
| 33 | +| MQ135 | Gas Sensor (CO, etc) | Adaptive on fluctuations | ✅ | ✅ | |
| 34 | +| BME688 | Env. Sensor (Gas, Pressure, Temp, Humidity) | Adaptive | ✅ | ✅ | |
| 35 | +| Ultrasonic | Distance | Continuous object detection | ✅ | ❌ | |
| 36 | +| IR Sensor | Obstacle detection | Continuous sensing | ✅ | ❌ | |
| 37 | + |
| 38 | +## 📊 Air Quality Index (AQI) |
| 39 | + |
| 40 | +AQI is calculated using individual pollutant indexes based on the following formula: |
| 41 | +$$ I=\frac{(Ihigh−Ilow)}{(Chigh−Clow)}×(C−Clow)+Ilow $$ |
| 42 | +𝐼 : AQI value \ |
| 43 | +𝐶 : Pollutant concentration \ |
| 44 | +𝐶𝑙𝑜𝑤 , 𝐶ℎ𝑖𝑔ℎ : Concentration range \ |
| 45 | +𝐼𝑙𝑜𝑤 , 𝐼ℎ𝑖𝑔ℎ : AQI range for that concentration |
| 46 | + |
| 47 | +- Based on 24-hour averages for PM2.5 |
| 48 | +- Based on 8-hour averages for CO, NO2, etc. |
| 49 | +- Overall AQI determined by the highest individual AQI |
| 50 | + |
| 51 | +## 📚 Project Structure |
| 52 | + |
| 53 | + |-- Core/ |
| 54 | + | |
| 55 | + ├── src/ |
| 56 | + │ ├── main.c |
| 57 | + │ ├── sensor_logger.c |
| 58 | + │ ├── aqi.c |
| 59 | + | |-- DHT22.c |
| 60 | + | |
| 61 | + ├── inc/ |
| 62 | + │ ├── main.h |
| 63 | + │ ├── sensor_logger.h |
| 64 | + │ ├── aqi.h |
| 65 | + | |-- DHT22.h |
| 66 | + ├── README.md |
| 67 | + |
| 68 | + |--- Debug/ |
| 69 | + | |
| 70 | + |-- Aido SensorHub.hex |
| 71 | + |
| 72 | +--- |
| 73 | + |
| 74 | +## 📷 Circuit Diagram |
| 75 | + |
| 76 | +> Proteus-based schematic showing STM32 Blue Pill and connected sensors. |
| 77 | +
|
| 78 | + |
| 79 | + |
| 80 | +--- |
| 81 | + |
| 82 | +## 🔁 System Flow Chart |
| 83 | + |
| 84 | +> A high-level flow diagram of sensor polling, data logging, and AQI processing. |
| 85 | +
|
| 86 | + |
| 87 | + |
| 88 | +--- |
| 89 | + |
| 90 | +## ⚙️ Pin Configuration |
| 91 | + |
| 92 | +> GPIO pin mapping of each sensor and peripherals to the STM32 controller. |
| 93 | +
|
| 94 | + |
| 95 | + |
| 96 | +## 📂 DHT22 GitHub Repository |
| 97 | + |
| 98 | +Used the external Library for Dht22 from "MrHause": |
| 99 | +👉 **[GitHub Link](https://github.com/MrHause/DHT22_STM32_HAL_LIBRARY)** |
| 100 | + |
| 101 | +--- |
| 102 | + |
| 103 | +## 📌 Future Scope |
| 104 | + |
| 105 | +- Real hardware deployment and calibration |
| 106 | +- Integration with machine learning models for predictive analytics |
| 107 | +- Live AQI display and data cloud sync |
| 108 | + |
| 109 | +--- |
| 110 | + |
| 111 | +🛠️ Feel free to fork, study, and build upon this simulation. |
| 112 | +📩 Contributions and suggestions are always welcome! |
0 commit comments