Octanis communicates via two way Iridium, LoRa and Bluetooth. All data received from the rover is sent to what we'll call "Mission Base Station" (MBS). This is a service running on a cloud server accepting structured data (XML, JSON) via REST API. The MBS provides data to monitoring displays, phone apps and web apps.
This MBS currently accepts incoming LoRaWAN end-device packets from an Thingpark Actility LoRaWAN application server.
Warning: This software is currently for testing/dev purposes only.
- MongoDB instance running somewhere.
- nodejs / npm
You must set these environment variables prior to running:
Unix / OSX:
export MONGODB_ADDON_USER=yourmongouser
export MONGODB_ADDON_PASSWORD=yourmongopassword
export MONGODB_ADDON_HOST=yourmongohost
export MONGODB_ADDON_PORT=27017
export MONGODB_ADDON_DB=yourmongodb
export GATEWAY_KEY=yoursecretkeyforapplicationserveraccess
Windows:
SET MONGODB_ADDON_USER=yourmongouser
SET MONGODB_ADDON_PASSWORD=yourmongopassword
SET MONGODB_ADDON_HOST=yourmongohost
SET MONGODB_ADDON_PORT=27017
SET MONGODB_ADDON_DB=yourmongodb
SET GATEWAY_KEY=yoursecretkeyforapplicationserveraccess
Windows Powershell:
$env:MONGODB_ADDON_USER = "yourmongouser"
$env:MONGODB_ADDON_PASSWORD = "yourmongopassword"
$env:MONGODB_ADDON_HOST = "yourmongohost"
$env:MONGODB_ADDON_PORT = 27017
$env:MONGODB_ADDON_DB = "yourmongodb"
$env:GATEWAY_KEY = "yoursecretkeyforapplicationserveraccess"
git clone https://github.com/Octanis1/Octanis1-Mission-Base-Station
cd Octanis1-Mission-Base-Station
npm install
PORT=8080 npm start
npm install
export MONGODB_ADDON_USER=jajoe
export MONGODB_ADDON_PASSWORD=octanis
export MONGODB_ADDON_HOST=ds043972.mlab.com
export MONGODB_ADDON_PORT=43972
export MONGODB_ADDON_DB=octanis1_jajoe
export GATEWAY_KEY=
PORT=8080 npm start
to test : https://octanis-ground-station-jajoe.c9users.io/rockblock_packets (you will see every rockblock_packets in the database)
Make sure the base station is u running by browsing to it (e.g. http://localhost:8080). The base station accepts XML POST requests at this address, which you must setup in your ThingPark device manager:
http://[basestation_host]/lorawan_packets/[GATEWAY_KEY environment variable that you setup previously]
You can also get a listing of all received packets at the same URL.
- Raw data comes in to the base station from various sources through HTTP requests.
- Raw data is stored in a collection per source. E.g. "rockblock_packets"
- Raw data is searched for protobuf identifiers and decoded accordingly. E.g "rover_status"
- The decoded raw data is then stored in higher level collections. E.g. raw data from any source can contribute to "rover_status" collection.