-
Notifications
You must be signed in to change notification settings - Fork 33
Testbed IoT
The IoT Testbed consists of the following elements:
- WRIO-InternetOS as a rendering engine (https://github.com/webRunes/WRIO-InternetOS)
- Gateways Server for Testbed to manage and perform tasks on Sensors (https://github.com/webRunes/Testbed-GatewayServer)
- Gateway of Sensor to communicate with Gateways Server in Cloud (https://github.com/webRunes/Testbed-Gateway)
- A sensor like Zolertia App (https://github.com/webRunes/Testbed-Sensors)
To Make WRIO-InternetOS working with back-end services there are several steps needs to follow
- Deploy https://github.com/webRunes/Testbed-GatewayServer on site
- Add Reference of Gateway Server in config.js (https://github.com/webRunes/WRIO-InternetOS/blob/master/src/config.js) of WRIO-InternetOS project, So it can consume Gateway`s API
- To Deploy Gateway and Sensor release start jFed Experiment using Package (https://github.com/webRunes/jFed-Experimenter-Toolkit) on Zolertia based sensor
That`s it.
- An account on ilabt https://doc.ilabt.imec.be/ilabt/wilab/getting_started.html
- Installed jFed and properly working on Linux platform
- the Installed latest version of Node
- Install asp.net core 3.1
- Install Heroku CLI
- Installed Docker on local machine
There are 3 major components of the system
-
WRIO-InternetOS (Front Part)
-
Gateway Server (Gateway Service)
-
Gateway (Node) & Sensor (Mote) These components collaborate with each other to make System work, WRIO-InternetOS has been built up using react, Gateway Server in Asp.net core and Gateway & Sensor has been built up in C++ and C respectively
-
Gateway/Node sends commands to Motes and receives results of it over the serial port
-
Gateway transmit data to Gateway Server using MQTT protocol
-
Gateway Send and receive data to WRIO-InternetOS using REST call and WebSocket
-
WRIO-InternetOS gets that data and show it to User on browser
Please take a look at https://github.com/webRunes/WRIO-local-dev/blob/master/readme.md and https://github.com/webRunes/WRIO-InternetOS/wiki/Testbed-IoT for this
Download latest code from git
Set your own configuration in config.json file
Using Heroku Cli login your-self,
heroku login
heroku container:login
Build an image of Gateway Server
docker build -t registry.heroku.com/imec/web -f ./Demo/Dockerfile .
Here “imec” is the app name
To Push it on Heroku, use these commands
docker push registry.heroku.com/imec/web
To Release it use this command
Heroku container: release web -a imec
Steps to deploy imec release are as follows
- Reserve Node from https://boss.wilab1.ilabt.iminds.be/inventory/?viewMode=inventory# or Use jFed for this,
- Download the latest jFed-expermental-toolkit from git and extract it to a folder
- Goto iot.rspec of extracted folder and insert node id in it
- Select this folder from jFed`s Espec tool button
- Start the experiment with this Espec
Live data would be displayed on https://imec.wr.io/43981/22131/#feed, from this page we can see sensors values and control them.