tedski999 / bangnet

Using networks of highly remote LoRa devices to trilaterate the source of loud bangs for early detection of lightning-strike wildfires, as part of a group project for CS7NS2 Internet of Things.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bangnet

Latest Build Latest Tag

Using networks of LoRa devices to triangulate the source of loud bangs. Designed and implemented in partial fulfilment of coursework for CS7NS2 Internet of Things.

Outline

Against the backdrop of global climate change and frequent natural disasters, the BangNet project utilises advanced IoT technology and cloud computing capabilities with the goal of early detection of lightning-strike induced wildfires. For our IoT devices, we developed ESP32 firmware to detect thunder, upload timestamps and capture images, drive servomotors, communicate over LoRa and perform remote delta-encoded firmware patching. For our cloud application, we built an AWS-based platform that enables computation of precise lightning strike locations and fire risk assessment. The success of the project not only proves the application potential of IoT and cloud computing in the field of disaster prevention, but also has provided us with valuable experience in technological innovation and teamwork.

See CONTRIBUTING.md for tips on how to work on this project.

Getting Started

Prerequisites

git clone --recursive -b release/v5.1 https://github.com/espressif/esp-idf.git
./esp-idf/install.sh esp32
. ./esp-idf/export.sh

Building Firmware

git clone --recursive https://github.com/tedski999/bangnet.git
espsecure.py generate_signing_key --version 1 --scheme ecdsa256 bangnet/firmware/secure_boot_signing_key.pem
ln -s ../secure_boot_signing_key.pem bangnet/firmware/sensor/secure_boot_signing_key.pem
ln -s ../secure_boot_signing_key.pem bangnet/firmware/camera/secure_boot_signing_key.pem
ln -s ../secure_boot_signing_key.pem bangnet/firmware/servo/secure_boot_signing_key.pem
idf.py --project-dir bangnet/firmware/sensor build
idf.py --project-dir bangnet/firmware/camera build
idf.py --project-dir bangnet/firmware/servo build

Flashing Firmware

idf.py --port /dev/ttyUSBx --project-dir bangnet/firmware/sensor flash
idf.py --port /dev/ttyUSBy --project-dir bangnet/firmware/camera flash
idf.py --port /dev/ttyUSBz --project-dir bangnet/firmware/servo flash
# Attach to serial of sensor: idf.py --port /dev/ttyUSBx monitor

References

Group project for CS7NS2 Internet of Things
Licensed under GPLv3

About

Using networks of highly remote LoRa devices to trilaterate the source of loud bangs for early detection of lightning-strike wildfires, as part of a group project for CS7NS2 Internet of Things.

License:GNU General Public License v3.0


Languages

Language:C++ 57.0%Language:Python 31.6%Language:HTML 7.3%Language:CMake 3.5%Language:Dockerfile 0.6%