Wildfires happen during dry seasons, and it’s one of the worst natural disasters.
According to the bbc The Northern California wildfire that killed dozens of people and burned down the town of Paradise was the world's costliest single natural disaster in 2018.
The reinsurance giant said the CampFire in November caused overall losses of $16.5 billion. The company said some $12.5 billion in losses were insured. Over 50000 people were displaced from their homes.
Also National Geographic mentioned “Wildfires can burn millions of acres of land at rapid speeds and can consume everything—trees, homes, even humans—in their paths. These rolling flames travel up to 14 miles an hour, which converts to about a four-minute mile pace, and can overtake the average human in minutes.”
Over time, California has lost many acres of woods, trees and bushes, but also houses have been lost. Some of them still have consequences, wildfires also burned electric, gas, and water infrastructure. That left 2 million californians in the dark due to blackouts, according to Business insider.
Last year in Australia 27.2 million acres were burned and 33 people died in this event. New South Wales (NSW), fire has affected more than five million hectares, destroying more than 2,000 houses and forcing thousands to seek shelter elsewhere.
In Australia Wildfires were one of the biggest natural disasters last year, causing problems still after the flames stopped burning, people and animals died. In just this area this natural disaster is worth losses of over 27 million USD, and more than 25 thousand koalas died.
What if there is a device able to protect trees all around your town, parks, mangroves and more?
Solution:I developed an IoT Enabled Forest Fire Detection and Early Warning System, in order to become the TREE FORCE!, My system will aid in preventing Forest Fires with our sensor capabilities, and our early notification system.
For that they will employ our IoT modules that track Ambient humidity and temperature, and perhaps the most important one in the Gas Sensor, which is the one utilized in providing the notifications by AI analysis to combat Forest Fires.
Features:- Low-power battery consumption (QuickFeather and LoRaWAN).
- High accuracy (thanks to sensiml).
- Easy production at large scale, due to its simplicity.
The whole system will be based in the following architecture:
We will be communcating to the cloud via LoRaWAN and in turn the cloud will send all the data to a web application where after some processing through SensiML we will give back useful information.
First we will have to arrange all the components and build the following circuit:
There's nothing really special about it so just follow well the schematic and go for the next step. It should look like so:
Notice I am using grove components to simplify the assembly, but It can be done without that.
Capture Data:In order to capture the information from an analog sensor, my first attempt was to use the QuickFeather ADC directly, however I had little success in getting it to work together with the Data Capture Lab Simple Stream, so my second option was to use the ADS1115 component. To adapt the sensor and be able to use it correctly, follow the SensiML tutorial.
https://sensiml.com/blog/tutorial-series/ Connecting New I2C Sensors to QuickFeather and Capturing the Data in SensiML
The complete project for you to compile the code if you wish is in the Sampling folder.
If you only want to enable reading from A0, use the binary in the Sampling Bin folder.
QuickFeather Setup:Once the sensor is working, we can start capturing data from the Data Capture Lab, as we can see in the following video.
Capturing Data:In this case, I did two types of data capture. One of the sensor capturing data for 10 min, stable and without alteration.
And another data capture by exposing the sensor to smoke.
For data labeling, perform 3 samples from the normal sensor condition and 2 samples from the sensor exposed to smoke.
The total of samples generated for both cases is:
The results of the training with these data were.
The results when testing the model were.
When downloading the project instead of downloading the binary, we will download the library.
Unlike the audio and accelerometer examples, in order to use the generated model, we must modify the SensiML\knowledgepack and change it with the one we downloaded here:
For this I have already made the corresponding changes to the code for its easy implementation in the SensiML folder.
Or if you want to use my model to test it, just flash the binary of the SensiML Bin layer.
- Fire Detected.
- Normal.
You can follow up this process in the following video:
Serial Interface:In order to implement the LOW energy concept in the project, I decided to implement an ESP32 module with LoRaWAN, to act as a LoRaWAN transmitter to a remote Gateway directly connected to AWS IoT.
In this case the communication between both modules will be by Serial.
This module has, in addition to direct serial communication with the QuickFeather, a DHT11 sensor, in order to also receive environmental data such as Temperature and Relative Humidity.
The connectivity between the LoRaWAN Sender and the LoRaWAN Gateway can be several kilometers and is low energy, in this case the connection of the system is this.
For gateway connectivity to AWS IoT, do code in Arduino IDE that connects via MQTTS to AWS IoT. This code is in the LoRaRecieverGateway folder.
Lo all Internet credentials, AWS Certificates and Keys have to be configured in the certs.h file:
static const char* ssid = "YourSSID";
static const char* password = "YourPASS";
static const char* DEVICE_NAME = "YOUR_DEVICE_NAME";
static const char* AWS_IOT_ENDPOINT = "YOUENDPOINT.iot.us-east-1.amazonaws.com";
static const char AWS_CERT_CA[] PROGMEM = R"EOF(
-----BEGIN CERTIFICATE-----
MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF
ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6
b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL
MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv
b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj
ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM
9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw
IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6
VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L
93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm
jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA
A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI
U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs
N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv
o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU
5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy
rqXRfboQnoZsG4q5WTP468SQvvG5
-----END CERTIFICATE-----
)EOF";
// Device Certificate
static const char AWS_CERT_CRT[] PROGMEM = R"KEY(
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
)KEY";
static const char AWS_CERT_PRIVATE[] PROGMEM = R"KEY(
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
)KEY";
In the case of certificates and in endpoint, you must obtain them when creating a Thing in AWS IoT.
https://docs.aws.amazon.com/iot/latest/developerguide/iot-moisture-create-thing.html
WebPage Deploy:The deployment of the web page was done using ReactJS and AWS-SDK for javascript.
https://treeforce-deploy.s3.amazonaws.com/index.html
Here is a mini demo:
AWS Cognito:For security, to safely use and consume AWS services, identity pool credentials were implemented with the Cognito service.
The access keys for AWS IoT and Cognito must be placed in the following file.
Webapp/src/components/aws-configuration.js
var awsConfiguration = {
poolId: "us-east-1:XXXXXXXXXXXXXXX", // 'YourCognitoIdentityPoolId'
host:"XXXXXXXXXXXXXX-ats.iot.us-east-1.amazonaws.com", // 'YourAwsIoTEndpoint', e.g. 'prefix.iot.us-east-1.amazonaws.com'
region: "us-east-1" // 'YourAwsRegion', e.g. 'us-east-1'
};
module.exports = awsConfiguration;
AWS IoT WebSocket:The web page receives the sensor data through AWS IoT as a web socket, so it is important to define within the page, which is the topic that we are going to receive, in this case "Lorawan/Gateway/1".
In the following file, put the name of the topic to which you will be subscribed.
WebApp/src/App.js
<IotReciever sub_topics={["Lorawan/Gateway/1"]} callback={this.callBackIoT} />
Final Product:Open device:
Closed device:
Gateway closed:
Gateway opened:
Platform:
You can check our webapp here:
https://treeforce-deploy.s3.amazonaws.com/index.html
(In case you didn't watch it before)
ClosingThe combination of the Internet of things and Artifitial Intelligence has the potential to solve part of this huge problem regarding wildfires. It offers a comercially (thinking b2b or b2governments), but needed and low-powered way to in essence improve the detection of these disasters. This in order to act quicker and avoid both the impact to nature and human prosperity. It is not an issue of if we should employ solutions such as this ones but when. The QuickFeather kit and SensiML technology offers a quick and easy way to go beyond what is needed for this solution, I might have to say that this project is more than TEN times better than its incumbents. And for this big a problem, it could be part of the way to palliate it while we work on leaving our addiction as a society on fossil fuels.
Referenceshttps://www.iii.org/fact-statistic/facts-statistics-wildfires https://www.nationalgeographic.com/environment/natural-disasters/wildfires/ https://www.npr.org/2019/11/09/777801169/the-camp-fire-destroyed-11-000-homes-a-year-later-only-11-have-been-rebuilt https://www.nbcnews.com/news/us-news/california-wildfire-was-world-s-costliest-natural-disaster-2018-insurer-n956376 https://microcredentials.digitalpromise.org/explore?page_size=24&page=1&organization__name=National%20Geographic%20Society https://www.ecomatcher.com/how-it-works/ https://www.treetrackersoftware.com/treetracker.html https://singularityhub.com/2019/07/16/how-tech-can-help-curb-emissions-by-planting-500-billion-new-trees/ https://www.nature4.org/ https://www.shopdisney.com/franchises/national-geographic/ http://www.farmerfoodshare.org/farmer-foodshare/2017/6/15/gardening-boom-1-in-3-american-households-grow-food http://www.fao.org/ag/agp/greenercities/es/CMVALC/panorama.html
Comments