How to put applications on wilab
Bart Jooris
Friday May 15th 2009
aka IBCN-dag
Is Wilab something for you?
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
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
What's behind the scenes?
6DUT
What is above our heads
WLAN
sensor
iNode:Embedded PC
WLAN EE
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
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
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
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
Running applications on hardware with limited resources
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
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
14
DUT (Sensornode) Tmote Sky front
15
Block Diagram of the EE
16
EE front
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
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
19
Inode (ALIX3c3) mobo front
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
21
How did we get there ?
iNodes
EEs
Assembly days
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
OS and Software
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
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
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
How to put applications on wilab?
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:
Zones on wilab
1B
2B
3B
SB3A
2A
1A
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
Experiments on wilab are JOBS
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
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
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
Sample Experiments
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,…
Result 1 Experiment transmitters on 2nd floor
Result 2 Experiment transmitters on 2nd floor
Result 3 Current measurements during Tx with Lpl
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%
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
Top Related