Emergency alerts are often sent out late to citizens, but an automated emergency notification system can change that!
ProblemIn 2017, Napa wildfires destroyed over 10,000 homes and killed 44 people. The problem: the failures of emergency warnings. A similar narrative repeated two months later with the Thomas Fire, California's largest fire on record in 2018. Warnings only reached a fraction of the people in danger. One reason- decisions to send out evacuation orders were late.
Another reason was the complexity of alerting a large number of people in a short period. Phone numbers were not updated accordingly in the contacts database for notification, and only a few people actually picked up the phone to listen to the alert.
The third most pertinent issue is that although a federal wireless system is in place (you may know it by the amber alert), the messages are limited to 90 CHARACTERS. More alarmingly, cellphone carriers can choose NOT TO SEND the messages.
So what’s the solution?
My solution is to use IoT to integrate an automated emergency alert system that sends out clear, concise messages to the people in the surrounding areas as soon as an abnormal increase in temperature is detected. My system will collect data from Seeed Studio’s LoRaWAN Dev Kits, connect to the cloud through Helium’s innovative LoRaWAN technology, and send notifications through Ubidots.
IoT makes it possible for any organization: individual, business, or government to use this project, and ensures the timeliness of the message.
In order to solve the governmental issue of correctly sending clear messages to a mass amount of people, I propose that the quickest solution is to give every household an email address by geographic location, most likely through Microsoft 365. In doing so, everyone is guaranteed to receive the clear message to a more considerable degree. Since emails are often overlooked, it will be essential to label them as urgent, high priority emails, a remarkable feature of Outlook, Microsoft’s email service. However, the emergency notification system in this project will not be Microsoft Azure but Ubidots, due to the variety of notifications possible and their beginner-friendly interface.
____
Quick FAQ:
Why an email address?
It is true that emails are often overlooked and the sound of a phone ringing more quickly alerts the recipient. However, at stated above, phone numbers have not been adequately updated, and in actuality, a very small percentage of people actually respond to the call. In short, the collection of phone numbers is not an easy task and the calls themselves work at a very low rate.
Instead of collecting phone numbers, would it be possible for the government to give out phone numbers and create legislation for that? Well, it might be possible, but it is very difficult as people now have mobile phones and no longer require on a home phone. In addition, US telephone numbers are managed by cellphone carriers and not the US government.
It would be much easier for the government to contact through an email address, more specifically, a specialized email address for emergency alerts ONLY, meaning it only accepts 1 sender- the government. By having a specialized email, people will not question the emails received like they might in a phone number. It being an email, longer messages will be possible with an email's bandwidth.
____
OBJECTIVES (Goals)- Design a monitoring and emergency notification system for California wildfires
- Generate the mandatory documentation so the system can be replicated.
Step 1:
Connect your Wio Terminal to your computer/laptop with a Type C cable.
Connect your Grove LoRa E5 to a nearby LoRa gateway using Seeed Studio’s tutorial: Preliminary Preparation - Seeed Wiki (seeedstudio.com)
Tip 1--- Make sure to plug in your Grove LoRa E5 on the RIGHT port of the Wio Terminal!
Tip 2--- Extend the console window in Arduino IDE so that you can debug errors more easily!
Step 2:
Connect your Grove Temp&Humi Sensor & test out collecting data through Seeed Studio’s tutorial: Grove Temp&Humi Sensor (SHT40) & Grove LoRa E5 - Seeed Wiki (seeedstudio.com)
____
Short note on Helium Console:
"Helium Console combines powerful management tools with network server capabilities to accelerate moving data from IoT devices to the Internet over The People’s Network. With Console, developers can provision and manage devices, monitor data activity, and manage connectivity costs. For flexibility, the Console is built on an extensible set of REST APIs."
____
Setting up Helium FlowsStep 3:
Register for a Helium account on https://console.helium.com/
After registering, name the first device Wio Terminal It may take some time to register, so take a break! Breaks are good for the mind!
Step 4:
Follow this Seeed Tutorial’s section on “Connect Wio Terminal with Helium” Steps 1-6 ONLY.
Soil moisture monitoring alarm system - Seeed Wiki (seeedstudio.com)
BUT for step 2: Use this code to send data from the SHT40 sensor instead of the soil moisture sensor:
Tip 1--- Don't forget to define frequency based on your device's location.
Step 5:
- Continue the Helium tutorial.
- BUT instead of naming things “Soil_data”, name the function “temp&humi” since our project focuses on temperature and humidity instead of the tutorial’s soil moisture!!
- FOR THE DECODING FUNCTION CODE use the code here instead!!
//Seeed-Studio-LoRaWAN-Dev-Kit-main\Seeed-Studio-LoRaWAN-Dev-Kit-main\decoder\SHT40-data-decoder.js
// GitHub - limengdu/Seeed-Studio-LoRaWAN-Dev-Kit
function Decoder(bytes, port) {
var decoded = {};
function transformers(bytes){
value = bytes[0] * 256 + bytes[1];
if (value >= 32768) {
value = 32768 - value;
}
value = value/100.0;
return value;
}
if (port == 8) {
decoded.temp = transformers(bytes.slice(0, 2));
decoded.humi = transformers(bytes.slice(2, 4));
}
return decoded;
}
____
Short note on Ubidots by IoT platform | Internet of Things | Ubidots:
"Connect your hardware and/or digital data-services to Ubidots’ device agnostic cloud with our REST API and deliver customized IoT and Cloud solutions the way you want.
Develop your business’ solutions with Ubidots’ intuitive, code-free application development tools: Rules & Events Engine, Scheduled Reporting, Real-time dashboards, and more.
Deploy custom applications to end-users with your Company’s branding, URLs, colors plus customize alert messages, languages, and more to deliver your solutions the way you want."
____
Integrate UbidotsStep 6:
Connect Helium with Ubidots through the help of a Ubidots tutorial:
Plugins: Connect Helium with Ubidots | Ubidots Help Center
Tip 1--- Sign up for a Ubidots STEM account, the free open-source version.
Tip 2--- We already decoded the data in Helium, so “Step 2. Decoding payloads from Helium Devices” is not necessary.
Step 7:
Add the Ubidots Integration to your “Flows” on the left in Helium, very similar to how you added the decoding function to your “Flows” in Helium (In the given Helium tutorial, it is in Section “Received Data Decoded in Helium”, “Step 3”.
Specifically:
7a. Click on “Devices” on the left in Helium.
7b. On the top left click the "+” sign next to ”NODES”.
7c. Click Integrations.
7d. Drag and drop the Ubidots integration into the flow.
7e. Connect the function to the Ubidots integration by connecting their adjacent ends and voila!
IMPORTANT- Since Helium Console gives you a limited amount of credits (displayed on the top right of the screen), it is important to sometimes go to Helium console, devices, and turn off the device until necessary for testing purposes!!!
Step 8: Data Dashboard
Step 8a. Go to “Data” on the top center -> then ‘Dashboards”.
Step 8b. Click the “+” icon on the top left and add a “Values Table” widget.
Step 8c. Press “Add Column” then “Value”.
Step 8d. Select “Wio Terminal” Device and then select “temp” variable – Change name accordingly to variable name.
Step 8e. Click the bottom right check mark icon.
Step 8f. Repeat for “humi” variable.
Step 8g. Repeat steps 8a to 8f, adding a “Gauge” widget instead of a “Values Table” widget (Data should show in device also).
Setting up the Emergency Notification System:Recommended Read--- Events: Creating Conditional Events and Alerts | Ubidots Help Center
Step 9:
Step 9a. Go to “Data” on the top center -> then “Events”.
Step 9b. Click the plus icon.
Step 9c. Select “Wio Terminal” Device and then select “temp” variable.
Step 9d. Select “has been inactive” for “5” minutes.
Step 9e. Fill in corresponding email addresses(leave in yours for testing purposes)
- Fill in Subject as: “[Device Name] @ [Trigger Timestamp] | [Variable name] INACTIVITY ALERT!” - ID: [Device ID]
- Add to Message: “[Device Name] has not been responsive for 5 minutes.”
- Turn ON Repeat action every “5” minutes up to “6” times.
Step 9f. Continue along by clicking the right-pointing arrow icon and name the event appropriately.
Step 9g. Repeat Steps 9a – 9f (LOOK AT IMAGES BELOW TO CHECK)
- For 9d. Select “value” is “Greater than or equal to 100” for “5” minutes.
- For 9f. :
- Change subject to: “EMERGENCY ALERT! A WILDFIRE HAS BEEN DETECTED IN YOUR NEARBY VICINITY!”
- Change Message to: “EMERGENCY ALERT! A WILDFIRE HAS BEEN DETECTED IN YOUR NEARBY VICINITY- [specific county]! [evacuation order]”.
- TECHNICAL NOTE: “[Variable Name] was [Trigger Value] at [Trigger Timestamp]”.
For testing purposes, I tried out both email notifications. I was more interested to see if the email would come through for the increase in temperature one, so I changed the if condition to be confirmed automatically- that is why the temperature is 25.08 instead of greater than 100.
Through Microsoft 365 & Outlook, there is currently no easy way for the sender to send only high priority emails to a recipient unless the recipient marks the sender as a high priority sender. However, there is information on Outlook's “importance” feature here: https://learn.microsoft.com/en-us/exchange/client-developer/web-service-reference/importance.
So ideally, the government would partner with Microsoft to create a specialized emergency email service to integrate more completely and more easily with the IoT to detect a wildfire through an abnormal increase in temperature.
A wooden box-shaped Cotton Region Shelter is often used to measure outdoor air temperature accurately. If I were to continue this project, I would prototype this shelter and focus on the heat and physical resistance of the prototype.
Additional features that require upgraded Ubidots account:
- To white-label emails you send- Application Branding: How to white-label emails coming from your Account | Ubidots Help Center
- To retrieve the location of the device- UbiFunctions: Integrate Google's Geolocation API with Ubidots | Ubidots Help Center
Comments