It's highly recommend to read the page indicating in the link below besides reading the tutorial on this page. The link provided additional tools and tips for conducting experiment on IoT-Lab with A8 nodes. https://github.com/openwsn-berkeley/openwsn-on-iotlab/blob/master/A8/README.md |
Running following command in your command line.
$ scons board=iot-lab_A8-M3 toolchain=armgcc oos_openwsn $ pscp 03oos_openwsn_prog* <login>@grenoble.iot-lab.info:A8/ |
Thing in A8 Directory is mount and shared by all experiment A8 nodes |
Connect to the frontend SSH of grenoble site and install openwsn-sw in the directory A8 of your home directory
<your computer>:~$ ssh -L 1234:localhost:1234 <login>@grenoble.iot-lab.info <login>@grenoble:~$ mkdir A8/openwsn <login>@grenoble:~$ cd A8/openwsn <login>@grenoble:~/A8/openwsn$ git clone https://github.com/openwsn-berkeley/openwsn-sw.git |
<login>@grenoble:~/A8/openwsn$ vi openwsn-sw/software/openvisualizer/openvisualizer/moteProbe/moteProbe.py |
.... elif os.name=='posix': if platform.system() == 'Darwin': portMask = '/dev/tty.usbserial-*' else: portMask = '/dev/ttyUSB*' #serialports = [(s,BAUDRATE_GINA) for s in glob.glob(portMask)] serialports = [("/dev/ttyA8_M3", 500000)] .... |
This code will be merged into openwsn develop repository. Remove this steps after it's done. |
add your credentials for REST API access (just the first time you use CLI tools)
<login>@grenoble:~$ auth-cli -u <login> |
submit experiment
<login>@grenoble:~$ experiment-cli submit -d 60 -l 2,archi=a8:at86rf231+site=grenoble |
<login>@grenoble:~$ experiment-cli get -p { "deploymentresults": { "0": [ "a8-8.grenoble.iot-lab.info", "a8-9.grenoble.iot-lab.info" ] }, ... |
<login>@grenoble:~$ ssh root@node-a8-8 |
Login A8–8 and A8-9 node and flash without dagroot firmware.
<login>@grenoble:~$ ssh root@node-a8-8 root@node-a8-8:~# flash_a8_m3 A8/03oos_openwsn_prog.exe |
<login>@grenoble:~$ ssh root@node-a8-9 root@node-a8-9:~# flash_a8_m3 A8/03oos_openwsn_prog.exe |
root@node-a8-8:~/A8/openwsn/openwsn-sw/software/openvisualizer# scons runcli root@node-a8-9:~/A8/openwsn/openwsn-sw/software/openvisualizer# scons runcli |
In node-a8-8 node, set it as dagroot will following command in openvisualizer.
root /dev/ttyA8_M3 |
You can ping the node-a8-9 after you see the DAO information from it. Open another terminal to use the ping6 command.
<login>@grenoble:~$ ssh root@node-a8-8 root@node-a8-8:ping6 bbbb::(eui64_a8-9) |
The web interface of Openvisualzier shows the status of a node. It's also possible to use web interface through port forwarding to see the A8 nodes on your computer, even most time they are controlled through terminal.
Login to IoT-Lab through putty as shown in Running a Network to tunnel port 1234 from the server to the host.
Login to A8 nodes through ssh to tunnel port 1234 from node to the server.
<login>@grenoble:~$ ssh -L 1234:localhost:1234 root@node-a8-8 |
Run Openvisualzier
root@node-a8-8:~/A8/openwsn/openwsn-sw/software/openvisualizer# scons runweb --port=1234 |
Then open your browser and enter: localhost:1234, you will see the web interface of Openvisualizer. There are less information tranmistted through A8 node when they are de-synchronized.
See the node as dagroot through openvisualizer terminal, you will see more information showing on the web interface.
Currently, there is no way to local the firmware of A8 through IoT-Lab web interface (A8 node is using M3 firmware, the website doesn't allow the A8 nodes associate to M3 firmware). But we can program it through terminal as this tutorial shows.
When programming multiple A8 nodes, it required to login to each nodes to flash the node, which will take lots of repeat work if the number if large. There is a way to use ssh to issue remote command to program one A8 node as shown below.
ssh root@node-a8-9 'source /etc/profile; flash_a8_m3 A8/03oos_openwsn_prog.exe' |