How to put applications on wilab
description
Transcript of How to put applications on wilab
![Page 1: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/1.jpg)
How to put applications on wilab
Bart Jooris
Friday May 15th 2009
aka IBCN-dag
![Page 2: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/2.jpg)
Is Wilab something for you?
![Page 3: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/3.jpg)
Running applications on Wilab
Available Real-time applications without login visualisation of the temperature on a map
Select [w-iLab_t]_Visual_Temperature Click on the button ”start visualiser”
Use keyboard arrows to zoom Enter A to add and R to remove the time slider
![Page 4: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/4.jpg)
Running applications on Wilab
Available real-time applications without login Temperature graph of one node
Still in the toolbox Select [w-iLab_t]_Analyse_Temperature Click on the button ”start analyser”
Double-click to store the graph in your home directory
![Page 5: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/5.jpg)
What's behind the scenes?
![Page 6: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/6.jpg)
6DUT
What is above our heads
WLAN
sensor
iNode:Embedded PC
WLAN EE
![Page 7: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/7.jpg)
User, LAN and WiFi activity leds
Toggle the user led on a specific location Click on the status menu Click on the button ”toggle user led”
WiFi 2WiFi 1LAN
![Page 8: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/8.jpg)
8
ComponentsPoE Switches = 2 x HP2600-8-PWR (8p) + 10 HP2626-PWR (24p)
D-Link DWL-P50
100Mb Ethernet Power 12V max 1A
iNode = Alix3c3•1GB CF•2 x Compex SAG54-23•2 x dual band antenne
USB + audio
USB
EE bus (IDC 10 + 6)EE
DUT = TMote Sky
Cat 6 UTPAtlasVLAN Wilab
Wilab.test•SW RAID1•LAMP
Wilabfs.test•HW RAID5•User directories•Backup server
![Page 9: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/9.jpg)
Benchmark E2E test
When nobody is running an application on the inode Kyoto protocol
Cycle 5 min Inode → EE → DUT (Power for 10s) DUT runs default firmware
Transmits over USB a packet with temperature,… Inode forwards the packet to wilab.test Wilab.test adds extra info
Location timestamp
![Page 10: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/10.jpg)
Remote access to wilab
OpenVPN Runs on windows, linux, mac NAT friendly Runs even over HTTP proxy (TCP port 443)
Account: email [email protected]
Virtual wall
VPN server
10.0.0.0/16
10.0.0.2
www.wall.test
Wireless labwww.wilab.test
OpenVPN connection
10.0.0.x
![Page 11: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/11.jpg)
Running applications on hardware with limited resources
![Page 12: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/12.jpg)
12
Where will your applications run?
DUT can be a sensor,
but also an actuator! DUTEnvironment
EmulatorPWR
SI
I(O)
Power
DAC/ADC, I2C, …
GP(I)O
USB
Ethernet + power
Fixed interface:
RS232, USB, …
iNode
Current
![Page 13: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/13.jpg)
13
Block Diagram and specifications of the DUT
Tmote Sky:
Radio; CC2420 (2.4GHz band, channels 11-26, 250kbps)
uC; msp4301611 (4MHz, 48K Program Flash, 10K RAM)
Bus; SPI with DMA (500kbps)
I/O; (8 ADC (6 +2), 2 DAC, 13 GPIO)
Interface; USB (program and data)
Sensors; enf, 2 x t, h, 2 x l Antenna; onboard
uC RadioBUS AntennaInt
Sensors pcb
IO
![Page 14: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/14.jpg)
14
DUT (Sensornode) Tmote Sky front
![Page 15: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/15.jpg)
15
Block Diagram of the EE
![Page 16: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/16.jpg)
16
EE front
![Page 17: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/17.jpg)
17
GPIO of the EE <-> GPIO of the DUT
EE DUT(TMote Sky)GPIO MSP MSPfunc Conn functionality MSP MSPfunc Conn functionality
GPIO_0 P23 interrupt J6-3 Interrupt 0 P23 Interrupt U28-3 GIO2
GPIO_1 P26 interrupt J6-4 Interrupt 1 P26 Interrupt U28-4 GIO3
GPIO_2 P35 URXD0 J3-4 Serial Receive P34 UTXD0 U2-4 UART Transmit
GPIO_3 P34 UTXD0 J3-2 Serial transmit P35 URXD0 U2-2 UART Receive
GPIO_4 P63 ADC3 J3-A P63 ADC3 U2-A Analogue Input 3 (GIO0)
GPIO_5 P60 ADC0 J6-1 AudioOutR P66 ADC6 DAC0 U28-1 Analogue Input 6
GPIO_6 P61 ADC1 J6-2 AudioOutL P67 ADC7 DAC1 U28-2 Analogue Input 7
GPIO_7 P66 ADC6,DAC0 J3-3 P60 ADC0 U2-3 Analogue Input 0
GPIO_8 P62 ADC2 J3-5 AudioInR+0.8V P61 ADC1 U2-5 Analogue Input 1GPIO_9 P21 interrupt J6-5 Interrupt 9; 7SEG_CONNECT_TO_GPIO_Xbits P27 Interrupt U28-5 User Interrupt
GPIO_A P20 interrupt J6-6 Interrupt 10 Reset Reset U28-6 Reset
GPIO_B P65 EnableUSBPort1
GPIO_C P30 EnableUSBPort2
GPIO_D P15 J7-2 Opendrain0
GPIO_E P16 J7-3 Opendrain1
GPIO_F P17 J7-4 Opendrain2
P67; P64 DAC1; ADC4 J3-1 Battery Emulator U2-1 Analogue VCC
J3-6 NOTUSED U2-6 IIC Clock (GIO4)
J3-7 AudioInL+0.8V P62 ADC2 U2-7 Analogue Input 2 (GIO1)
J3-8 NOTUSED U2-8 ICC Data (GIO5)
J3-9 GND U2-9 GND
J7-1 GND
J7-5 +5V-diode
![Page 18: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/18.jpg)
18
iNode specifications
iNode = PC-Engines ALIX 3c3 alix3c3 = 1 LAN / 2 miniPCI / LX800 / 256 MB / USB / VGA / audio Spec CPU: 500 MHz AMD Geode LX800 Processing powerPIII 800 MHz DRAM: 256 MB DDR DRAM Storage: CompactFlash socket Power: DC jack or passive POE, min. 7V to max. 20V Three LEDs Expansion: 2 miniPCI slots, LPC bus Connectivity: 1 Ethernet channel (Via VT6105M 10/100) I/O: DB9 serial port, dual USB, VGA, audio headphone out/mic in RTC battery Board size: 100 x 160 mm Firmware: Award BIOS
![Page 19: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/19.jpg)
19
Inode (ALIX3c3) mobo front
![Page 20: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/20.jpg)
20
iNode specifications
iNode is equipped with: 1 x Compact Flash 1GB 2 x Compex WLM54SAG 200mW AR5006XS 802.11a/b/g 54/108
Mbps miniPCI wireless card (only main connector is used) 2 x Pigtail cable I-PEX -> reverse SMA 2 x dual band antenna’s
Electrical Properties of antenna Frequency Range 2.42.5, 5.15 and 5.9GHz Impedance 50 Ohm nominal VSWR 2.0 Gain 2.45GHz = 5dBi
5.25GHz = 5dBi Radiation Omni Polarization Vertical Electrical Wave λ/4 Dipole Connector SMA Plug REVERSE
![Page 21: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/21.jpg)
21
How did we get there ?
iNodes
EEs
Assembly days
![Page 22: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/22.jpg)
22
Demo features
Inode Toggle user led Connect to screen or beamer
EE 7seg display can scroll a “text”
Tmote 3 leds
Tmote invent Motion sensors Mic + speaker 3 leds
![Page 23: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/23.jpg)
OS and Software
![Page 24: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/24.jpg)
24
Software Sensornode : Tinyos
Why tinyos Big community, support for many platforms, huge
implementation resource,... one IBBT team = one development environment
General description on en.wikipedia.org Tutorials on http://docs.tinyos.net/index.php/ IBBT Subversion https://svn.atlantis.ugent.be/svn/wsn/
IDRA framework (contact Eli De Poorter) Network and cross layer architecture
![Page 25: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/25.jpg)
iNode OS and software
Debian 5.0 (Lenny) Voyage distro 0.6.1 Patched kernel 2.6.24.7 for click Click modular router 1.6.0 with all elements available in
user level and as kernel module JRE 1.6.0_12 Time synchronization via ptpd IEEE 1588 standard
wilab.test synchronized with ntp.atlantis.ugent.beptp master clock
Convergence (offset from master)< 100 us after ca. 8 min< 10 us after ca. 13 min
![Page 26: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/26.jpg)
Preparing Software for the iNode
Best practice: prepared VM (http://wilab.test/data/wilabuser) Desktop iNode
Apt-get install’s are not recommended Copy binaries instead (check with file arch <=i586) Locate the libs you need with ldd Execute with:
LD_LIBRARY_PATH=~/iPlatform/libs click
![Page 27: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/27.jpg)
How to put applications on wilab?
![Page 28: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/28.jpg)
An account on wilab
New accounts: Account features:
Quota in minutes per half floor (smallest zone) Database (remote access + phpmyadmin) Ssh account on wilabfs (shared 1.5TB) Ssh account on the iNodes
Personal IP is used in dynamic firewall More info, changing password or IP on:
![Page 29: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/29.jpg)
Zones on wilab
1B
2B
3B
SB3A
2A
1A
![Page 30: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/30.jpg)
Wilab policy and sandbox
No WiFi experiments between 06:00 and 22:00 Enforcement
Experiments can always be scheduled Wireless interfaces are continously monitored and
killed When killed, message is written to the log files
Sandbox No enforcement
p. 30
![Page 31: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/31.jpg)
Experiments on wilab are JOBS
![Page 32: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/32.jpg)
Registering messages
enum { AM_TEMPHUMLIGHTMSG = C};
typedef nx_struct { nx_uint16_t temperature; nx_uint16_t humidity; nx_uint16_t light;} TempHumLightMsg;
TempHumLightMsg.java
javac
TempHumLightMsg.class
Add java class to job A Schedule ID = B
Automatically a table A_B_C will be created
with the same fields + locationID + timestamp
TinyOS tool MIG
![Page 33: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/33.jpg)
33
Events
Events: ConfigEvents → EventReports Config7Seg SetGpioPinStatus SetGpioTris ConfigSampler → SamplerReports ConfigStreamer
Coulombs law ( Q = I . t = C . V → V = f (I, t, C) ) Virtual capacity (Cv)
Energy harvesting (Ieh)Simple battery depletion emulation
load
Ieh
Cv
I
![Page 34: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/34.jpg)
34
Job
Job contains: Tinyos firmware images Registered messages Scenarios
Execute events on predefined relative times (or RT) iPlatform = wilabfs.test/home/user/iPlatform/iNodeProfile
Contains bins, scripts, libs, config Start_mount_script will be started after boot Specific kernel /tmp/log is mounted to ./log/ScheduleID/NodeID/
Schedule a Job in a wilab zone in a free time slot Analyze your messages in the db RT or offline with
easy to configure via xml (some examples on the server) wilab-visualiser wilab-analyser
![Page 35: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/35.jpg)
Sample Experiments
![Page 36: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/36.jpg)
36
Sample sensor experiment
Example research application: RadioPerf (IBCN devel.) Configurable packet generator
Radio (txPower, channel)Packet generator (#, size, IPDelay,…)MAC properties (backoff, retries,…)LPL properties (duty cycle,…)Reports (IRDelay, …)
Dumps reports every IRDelayEnf, #Tx, #Rec, RSSI, LQI,…
![Page 37: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/37.jpg)
Result 1 Experiment transmitters on 2nd floor
![Page 38: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/38.jpg)
Result 2 Experiment transmitters on 2nd floor
![Page 39: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/39.jpg)
Result 3 Current measurements during Tx with Lpl
![Page 40: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/40.jpg)
40
Experiment iPlatform (dist. ca 30m)
Max throughput on Turbo Channel without tweaking the Qos parameters using 1 wireless interface per iNode:
^AP / Wireless terminal ->
Unicast UDP:Ca. 65 Mbits guaranteedOn channel 50 (a band)
Tweaking QoS WiFi parameter can give a profit of 10%
![Page 41: How to put applications on wilab](https://reader035.fdocuments.in/reader035/viewer/2022081503/56815847550346895dc59d3f/html5/thumbnails/41.jpg)
Wilab statistics since May 1st 2008
35 registered users 1199 hours total active time 5482 total number of experiments 463 hours top user Jono 17min 52sec average time of an experiment 30.6 numbers of nodes used per job 119 jobs in the sandbox 41min avg time of a sandbox experiment 10 number of children born