ForestSentinel is an affordable wildfire detection system using sensors to detect flames and gather data about temperature, humidity, sound, and movement. This data is sent to a user-friendly dashboard for real-time monitoring, offering a potentially cost-effective solution for areas lacking early detection systems or cannot afford expensive solutions like satellites or drone technology.
## Why did we build this prototype ?Wildfires pose a threat, burning millions of hectares annually. Existing detection methods using satellites and drones offer promising solutions, but their high cost limits their reach in many countries. This necessitates a more affordable wildfire detection system for broader accessibility.
## The Build Process### SensorsThis project uses six sensors to capture data of its surroundings. A DHT11 sensor measures temperature and humidity, two key factors that can influence fire risk. Additionally, a sound sensor to detect chainsaws, fire crackling..etc, while a push button allows for emergency calls if necessary. Movement is tracked by a PIR sensor, and a flame sensor is the system's frontline defense, directly detecting the presence of fire. The system is built on a custom PCB and uses an Arduino MKR WAN 1310 for processing and sending telemetry. Finally, two LEDs provide visual feedback on the system's status. check the list of sensors above for more information.
We designed a custom PCB with KiCad (free software) to fit all the components in a compact 4cm x 9cm size. Sensors are on both sides for maximum space efficiency. Pin headers make it easy to connect everything during prototyping. Schematics available below!
We used C++ along with the Arduino Framework for firmware development, an ideal choice for rapid prototyping. We further optimized the development process by integrating PlatformIO, a powerful platfor that handles uploading firmware, and library management, and serial monitoring.
### LoRa and TTNOur device uses LoRa, a low-power wide-area networking protocol, to transmit data. The Things Network (TTN) acts as an intermediary in this process. It receives the data from our device and forwards it to our server via MQTT, a lightweight messaging protocol designed for efficient data exchange.
To establish communication with TTN, the device must be first registerd on the platform and then using the Over-the-Air Activation (OTAA) to establish connection. TTN makes data processing easy on our backend server by automatically formatting the received payload into JSON.
This convenient payload formatting is implemented in JavaScript. The functionality is available directly on the TTN platform.
### Backend ServerOn the backend, we run a simple HTTP server built with TypeScript on Node.js. This server is used data processing. It also has an MQTT client to receive data streams from The Things Network.
The data and payloads received from the devices are stored in a PostgreSQL database. To efficiently manage SQL queries, we used Prisma, an ORM. Prisma simplifies database interactions by handling SQL queries and automating database migrations, ensuring the schema remains consistent.
Our server also exposes API routes. These routes allow us to retrieve the formatted data stored within the database. Those api routes are meant to be called from the frontend (dashboard) to display data.
### DashboardWe made a user-friendly dashboard to show real-time forest data. It's built with Angular and has beautiful charts and metrics for all sensors. Soon, we'll add interactive maps for device localization.
This project has been an incredibly enriching journey, full with opportunities for research, learning, and meaningful team work.
## AcknowledgementsSpecial thanks to Professor Nicolas Dailly for teaching us LoRA and IoT.
We're grateful to Professor Monsieur Caron for assisting us in using KiCAD and PCB design.
A big shoutout to Professor Adrien BRACQ for his invaluable help with machinery such as the Laser Cutter.
We extend our appreciation to the Unimakers Association for granting us access to the necessary tools for prototyping.
We also want to express our gratitude to the Angular Discord Community for their continuous and supportive assistance.
## LinksThis project is part of our engineering degree RIOC at UniLaSalle Amiens.
For more information about our school check out this link: https://www.unilasalle.fr
and more about our RIOC here: https://www.unilasalle.fr/parcours-reseaux-informatiques-et-objets-connectes
**DISCLAIMER**
**This Project is made with sweat, tears, coffee, sleepless nights, and some Love**
Comments