Mission Base Station
Octanis communicates via two way Iridium, VHF and Bluetooth. All data received from the rover is sent to what we'll call “Mission Base Station”. This is a service running on a cloud server accepting structured data via REST API. Since this interface is standardised and centralised, it can be used for various other purposes like monitoring displays, phone apps and web apps.
Architecture
- Node.js/Express/Mongodb providing the API and data persistance
- Frontends: octanis.org/mc , octanis 1 app
- Ingestion via RockBlock API or custom API methods
API
Type | Resource | Comment | Data Fields |
---|---|---|---|
GET/PUT | heartbeat | all sensor data (full, no data limit) | temp_in, temp_out, pres_in, pres_out, batt_v, batt_i, sol_v, sol_i, mot1_rpm, mot2_rpm, mot3_rpm, mot4_rpm, strut1_pos, strut2_pos, strut3_pos, strut4_pos, iridium_lat, iridium_lon, iridium_accuracy, timestamp |
GET/PUT | map | current obstacles, current location, path planned | |
GET/PUT | image | current image taken | |
GET/PUT | payload | payload specific data |
Setup (Ubuntu 12.04 LTS)
- sudo apt-get install nodejs
- sudo apt-get install npm
- sudo apt-get install mongodb
- sudo ln -s /usr/bin/nodejs /usr/bin/node (ATTENTION!)
- sudo npm install express -g
- sudo npm install express-generator -g
- cd Octanis1-Mission-Base-Station
- sudo npm install
- Run the app: DEBUG=Octanis1-Mission-Base-Station npm start
Links
Rockblock API docs: http://www.rock7mobile.com/downloads/RockBLOCK-Web-Services-User-Guide.pdf
Online octanis 1 status board (IN DEVELOPMENT): http://octanis.org/mc