City Data Collector
A network of sensors which can collect enviromnent data and transmit it without internet access.
Author: Andrei Stan
GitHub Project Link: link_to_github
Description
This project aims to collect and process environmental data within a city using a network of sensors placed at fixed locations (bus stops). The data to be collected initially includes: temperature, atmospheric pressure, and noise level. Data transmission to the central server will be carried out without using an internet connection, relying solely on communication between nodes in the network.
The network will consist of three types of nodes:
- Sensor nodes: Collect data from the field, installed at bus stops.
- Collector nodes: Mobile units that gather data from sensor nodes, installed on buses.
- Aggregator nodes: Receive all the data from the collectors, installed at the bus depot.
Several laboratories that are particularly relevant to the implementation of this project include:
- Lab02: GPIO
- Lab04: Asynchronous Development
- Lab06: Inter-Integrated Circuit
- Lab07: Wi-Fi
Motivation
I chose this project because it addresses a real need for monitoring urban environmental quality, leveraging existing infrastructure (bus stops and buses) to create an efficient and autonomous data collection network without relying on internet connectivity. This system can support local authorities in making informed decisions to improve living conditions.
Architecture
Log
Hardware
The three types of nodes will be based on Raspberry Pi Pico 2W boards. Sensor nodes will be equipped with a temperature and atmospheric pressure sensor, as well as a sound sensor. Additionally, these nodes will include distance sensors to detect when a bus is at the stop, allowing data transfer to begin. A Real-Time Clock (RTC) will also be used to record the exact time when the data is collected.
Collector and Aggregator nodes will consist of Raspberry Pi Pico 2W boards, which will store and forward the collected data.
Bill of Materials
Device | Usage | Price |
---|---|---|
Raspberry Pi Pico 2W | Microcontroller | 39,66 RON |
BMP180 | Temperature and Pressure Sensor | 6,98 RON |
HC-SR04+ | Distance Sensor | 14,99 RON |
DS3231 | Real Time Clock | 18,99 RON |
MAX4466 | Microphone | 14,51 RON |
Software
Library | Description | Usage |
---|---|---|
cyw43 | Wi-Fi chip driver | Used for communication with the integrated Wi-Fi chip |
embedded-hal | Hardware Abstraction Layer | Used for I2C and GPIO control |
embassy | Async framework | Used for async task scheduling, timers, and peripheral drivers |