My LoRaWAN Signal Mapping MSc summer project. This is a copy of the actual repository with personal information removed.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Starbeamrainbowlabs af5b0bed61 build: Make pdflatex optional 3 years ago
iot Implement GPS delta checking 3 years ago
lantern-build-engine@617fcdb5b9 Create initial report template 3 years ago
server Fixed bugs in new AEs encryption layer. 3 years ago
.gitignore build: Make pdflatex optional 3 years ago
.gitmodules Add TinyGPS as it's got a smaller program size then TinyGPS++ 3 years ago
.tern-project Start creating the database structure, but it's unfinished. 3 years ago
Initial Report Spec.pdf Add initial report spec 3 years ago
LICENSE Initial commit 3 years ago Implement an extra layer of encryption, but it's untested. 3 years ago
Signal Mapping Architecture.drawio Add participant information sheet & consent form to ethical form phase 2 3 years ago
build build: Make pdflatex optional 3 years ago
compile_flags.txt Start weaving the libraries together, but there's quite a ways to go..... 3 years ago


My Msc Summer Project

Hardware Used

Getting Started

Run bash ./build setup from the command line at the root of this repository.

IoT Device

  • Copy settings.custom.cpp.example to settings.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 }'
  • Review settings.h to make sure it matches your setup
  • Copy the folders in iot/libraries to your Arduino IDE libraries folder


  • 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 adjust settings.toml to fill in the values for the required fields, not forgetting the encryption key generated when setting up the IoT device.