20081114 Friday Food iLabt Bart Joris
Transcript of 20081114 Friday Food iLabt Bart Joris
IBBT event : Technical workshop iLab.t:
wilab
Bart Jooris
Friday November 14th 2008
2
Overview
Overview of technical characteristics Introduction Hardware
Tmote SkyEE iNode
SoftwareJobScenario iPlatform
Some example experiments Conclusions, Q&A
3
Overview
Overview of technical characteristics Introduction Hardware
Tmote SkyEE iNode
SoftwareJobScenario iPlatform
Some example experiments Conclusions, Q&A
4
Introduction:
Zuiderpoort office park 3 floors
2 zones per floor 190 locations
5
Deployment of the testbed 1st floor
6
Deployment of the testbed 2nd floor
7
Deployment of the testbed 3th floor
8DUT
Introduction
WLAN
sensor
iNode:Embedded PC
WLAN EE
9
Overview
Overview of technical characteristics Introduction Hardware
Tmote SkyEE iNode
SoftwareJobScenario iPlatform
Some example experiments Conclusions, Q&A
10
Sensornode: Tmote Sky
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
11
Tmote Sky front
12
Tmote Sky back
13
Tmote Sky IPC headers
14
Overview
Overview of technical characteristics Introduction Hardware
Tmote SkyEE iNode
SoftwareJobScenario iPlatform
Some example experiments Conclusions, Q&A
15
Block Diagram of the EE
16
EE front
17
EE back
18
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
19
WiLab @ IBBT: Environment Emulator
DUT can be a sensor,
but also an actuator!
Environment Emulators
can be put in cascade
DUTEnvironment
EmulatorPWR
SI
I(O)
Power
DAC/ADC, I2C, …
GP(I)O
USB
Ethernet + power
Fixed interface:
RS232, USB, …
iNode
Current
DUTEnvironment
EmulatorPWR
SI
I(O)
Power
DAC/ADC, I2C, …
GP(I)O
Fixed interface:
RS232, USB, …
Current
20
Overview
Overview of technical characteristics Introduction Hardware
Tmote SkyEE iNode
SoftwareJobScenario iPlatform
Some example experiments Conclusions, Q&A
21
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
22
Inode mobo front
23
Inode mobo back
24
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
25
Components
26
How did we get there ?
iNodes
EEs
Assembly days
27
Overview
Overview of technical characteristics Introduction Hardware
Tmote SkyEE iNode
SoftwareJobScenario iPlatform
Some example experiments Conclusions, Q&A
28
Software : 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/
Others Contiki & Reflex
29
Software TinyOS?
You can try any other OS on the Tmote/telosb platform No restrictions on firmware!!! Encapsulate non-tinyos messages with tinyos
message header
enum { TOS_SERIAL_ACTIVE_MESSAGE_ID = 0, TOS_SERIAL_802_15_4_ID = 2, TOS_SERIAL_UNKNOWN_ID = 255,};
typedef nx_struct serial_header { nx_am_addr_t dest; nx_am_addr_t src; nx_uint8_t length; nx_am_group_t group; nx_am_id_t type;} serial_header_t;
45 00 FF FF 00 00 37 00 50 00 00 00 00 FF 9E .. .. ..
32
Software
Sensor board communication exchanging messages
Wilab has support for messages in many ways Tunneling over tcp socket with sf or serialForwarder
Sf is running on each iNodeWilab will connect to each sfBut the user can also connect to each sf
Bridging between wired and wireless with Basestation Auto storage of registered messages in the user db Analyze your messages in the db RT with wilab-visual
33
Overview
Overview of technical characteristics Introduction Hardware
Tmote SkyEE iNode
SoftwareJobScenario iPlatform
Some example experiments Conclusions, Q&A
34
Software: Job
Job Connect firmware images to specific sensor nodes Registration of messages
Only registered messages are parsed and stored in the user database.
Schedule in a user selected zone in a free time slot
35
Overview
Overview of technical characteristics Introduction Hardware
Tmote SkyEE iNode
SoftwareJobScenario iPlatform
Some example experiments Conclusions, Q&A
36
Software scenario
Scenario Execute events on predefined relative times or RT
New re-factored events interface Sampler Streamer GpioTris GpioPinStatus Config7Seg ConfigOccurrences
Software Scenario sampler interface
Sampler ADCid can be 0-4,6,8,9 interSampleDelay in us with lower limit equal to 100us which is 10kHz numberOfBuffersReq: a buffer is by default 50 samples
if numberOfBuffersReq >= 1000 it means forever! It can work depending on the interSampleDelay
if classification is activated then numberOfBuffersReq will be used to aggregate the numberOfBuffersReq buffers into a report
if numberOfBuffersReq==0 then this request will be used to stop the sampler on the ADC.
triggerLevel is interpreted like this <0 = falling edge; buffers will be transmitted starting with the buffer where a sample goes
below |triggerLevel| >0 = rising edge; buffers will be transmitted starting with the buffer where a sample goes
up |triggerLevel| =0 = immediately
classification (7 values) will be activated when the first classifiers !=0 for example if classifiers[0] = 10 then the number of samples with a value between 0 and
10 will be stored in the EEMsgSamplerReport.values[0]. The EEMsgSamplerReport will be sent every numberOfBuffersReq and every time this happens the values will be cleared.
Software Scenario sampler report
Sampler report ADCid can be 0-4,6,8,9
MessageCounter will be cleared for every new SamplerConfig
The flag classified
Extra info min, avg, max
Samples
if classified only the first 8 samples will be valid
Software Scenario streamer interface
Streamer DACid can be 0,1 interSampleDelay in us with lower limit equal to 100us which is 10kHz numberOfSamples is in the range from 0..50
0 will stop an already running streamer if streamer was already busy the values will be posted in the Q
Samples if harvesterMulitiplier > 0 then the values will become relative instead of
absolute DAC1 is internally connected to ADC4 and DAC0 is internally
connected to ADC0 Internally a virtual capacitor will keep track of the values which will be
multiplied by this harvesterMulitiplier. AND for every sample on the connected ADC the value of the sample will be subtracted from the virtual capacitor.
for every sample on the connected ADC the value of the harvester will be added to the virtual capacitor.
Software Scenario 7seg interface
Config7Seg 7segType selects one of the types:
0 : EEMSG7SEG_BITWISE 1 : EEMSG7SEG_HEX_DOT 4-8: EEMSG7SEG_CONNECT_TO_GPIO_Xbits
interCharDelay (in ms) if the type is EEMSG7SEG_BITWISE or EEMSG7SEG_HEX_DOT
you can create a scrolling text numberOfChars (1..100) Chars
Software Scenario GPIO & Occurrences interface
32 bit “atomic” registers used for changing 16 entities: GpioTris GpioPinStatus ConfigOccurrences
0..3 : GPIO_X_PIN_EDGE 4..9 : ADCX_SAMPLER_END A..B : DACX_STREAMER_END C : SCROLLER_UPDATE D : CLASSIFIER_OVERFLOW E : QUEUE_OVERFLOW
42
Overview
Overview of technical characteristics Introduction Hardware
Tmote SkyEE iNode
SoftwareJobScenario iPlatform
Some example experiments Conclusions, Q&A
iNodeà DUT
DUT
iNodeà DUT
iNodeà DUT
Ethernet connection (PoE)
Control interface (emulation of the sensors,...)
Admin interface (new firmware, logging, … )
Switch
CentralManagement
...EE DUTEE DUTEE
Extention w-iLab.t
p. 43
Software iPlatform
User determines Inodes linux kernel Inodes device drivers Own software running for experiment
Logging of experiment output
Job defenition & planning integrated in current Wilab web interface
p. 44
Software iPlatform: General setup
p. 45
Partition 1 SANET jobs
Partition 2 iNode jobs
/tmp/log on iNode automaticly saved to log/job_run/nodeId
on NFS share
Software iPlatform: Intended usage
Develop on own small ALIX testbed / VM Install Voyage Linux
Netboot: type voyage-alix Installation finished when ALIX automatically
reboots Test on w.iLab-t
When stable Scalability, performance, ...
p. 46
Software iPlatform: Files needed for experiment
p. 47
Program files
start_mount_code:
This script is automatically started after booting. You can start your own
software by calling it in this script
vmlinuz:
Custom linux kernel
initrd.img:
Custom driverslog directory:
Automatically created, contains content of /tmp/log directory of iNodes
Software iPlatform : concept
p. 48
Inode 1
Inode 2
Inode 3
Inode 4
Master
Slaves
1.2.3.4:/master_code/
1.2.3.4:/slave_code/
An iPlatform defines for all iNodes in w-iLab.t
which user code will run on which iNode
Inode 5
Inode 6
Inode 7Not used
Software iPlatform : Policy
No WLAN testing 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 The nodes in the auditorium are not restricted Allows to test if your planned experiment is
configured correctly during working hours Select zone “Sandbox” on w-iLab.t scheduler
p. 49
Software iPlatform : nfs mount
p. 50
Grant mount access to the motelab server:• Edit the file /etc/exports on the mount host machine•Add line like this: /mount/path/ 10.10.5.226(rw,no_root_squash)
51
Overview
Overview of technical characteristics Introduction Hardware
Tmote SkyEE iNode
SoftwareJobScenario iPlatform
Some example experiments Conclusions, Q&A
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
53
Demo 1 communicationJob + Scenario + Visualisation
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,…
54
Demo 2 : 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%
55
Overview
Overview of technical characteristics Introduction Hardware
Tmote SkyEE iNode
SoftwareJobScenario iPlatform
Some example experiments Conclusions, Q&A
56
Conclusion: Feature set
Feature set: 195 fixed locations
3 floors ca. 65 nodes per floor Every node is a generic PC and is equipped with
2 x WiFi interfaces Environment emulator Sensor node Extendable: Bluetooth, Software defined radio, …
Every node is powered via PoE and can be dis/enabled on user request Environment emulator can emulate
The battery voltage of the sensor nodes and can measure the consumed electrical power real time
Environmental variables like sound or switches Live stream audio can be injected into the sensor nodes
Log the events of the sensor nodes Sensor nodes can measure and react on:
real and emulated environmental variables like light, switches, sound, relative humidity and temperature
Indispensable for lots of testing Stress, interference and scalability
57
Software demo features
Inode Toggle user led Connect to screen or beamer
EE 7seg display (can display scroller)
Tmote 3 leds
Tmote invent Motion sensors Mic + speaker 3 leds
58
?