My LoRaWAN Signal Mapping MSc summer project.
This is a copy of the actual repository with personal information removed.
Starbeamrainbowlabs
2a065e144a
Rollu doesn't appear to like the path polyfill on npm, since it uses Node.js various environment features that Rollup doesn't provide |
||
---|---|---|
client_src | ||
common | ||
iot | ||
lantern-build-engine@617fcdb5b9 | ||
server | ||
.gitignore | ||
.gitmodules | ||
.tern-project | ||
build | ||
compile_flags.txt | ||
Initial Report Spec.pdf | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
rollup.config.js | ||
Signal Mapping Architecture.drawio | ||
ttn-listener.conf | ||
ttn-listener.service |
Msc-Summer-Project
My Msc Summer Project
Hardware Used
- RFM95 w/ breakout (alternatively this)
- GPS (or this)
- microSD breakout
- DC in + USB-a power regulator (or maybe this)
- microSD Card - any card that's 1GiB+ will do.
- Arduino Uno
- Breadboard
- Jumper cables (e.g. a, b, and c)
- Battery - Size currently unknown - I'll need to run some tests to see how much power it uses to figure out the right battery size.
- Project box - if we can't 3D print one
- TPL-5111 - also available from Pimoroni
Getting Started
Run bash ./build setup
from the command line at the root of this repository.
IoT Device
- Copy
settings.custom.cpp.example
tosettings.custom.cpp
and fill in the fields there- This Bash one-liner can be used to generate a new encryption key in the right formats:
head -c16 /dev/urandom | od -tx1 | awk '{ gsub(/^0+\s+/, "", $0); toml=$0; gsub(/\s+/, "", toml); print("settings.toml format: " toml); arduino=toupper($0); gsub(/\s+/, ", 0x", arduino); print("settings.custom.cpp format: 0x" arduino); exit }'
- This Bash one-liner can be used to generate a new encryption key in the right formats:
- Review
settings.h
to make sure it matches your setup - Copy the folders in
iot/libraries
to your Arduino IDE libraries folder
Server
- The
bash ./build setup
should have already installed the necessary dependencies. - Create
settings.toml
in the root of the repository if it doesn't exist already. - Review
server/settings.default.toml
and adjustsettings.toml
to fill in the values for the required fields, not forgetting the encryption key generated when setting up the IoT device.
Useful Links
- Entropy extraction from the watchdog timer vs the internal clock: https://github.com/taoyuan/Entropy