https://github.com/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.
https://github.com/tedski999/bangnet
iot lora
Last synced: 4 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/tedski999/bangnet
- Owner: tedski999
- License: gpl-3.0
- Created: 2024-02-02T21:46:25.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-03T13:18:56.000Z (about 2 years ago)
- Last Synced: 2025-05-20T22:56:44.079Z (about 1 year ago)
- Topics: iot, lora
- Language: C++
- Homepage:
- Size: 2.42 MB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# bangnet


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](https://teaching.scss.tcd.ie/module/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](CONTRIBUTING.md) for tips on how to work on this project.
## Getting Started
### Prerequisites
```sh
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
```sh
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
```sh
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](https://teaching.scss.tcd.ie/module/cs7ns2-internet-of-things/) \
Licensed under [GPLv3](LICENSE)