ibbt event : technical workshop ilab.t: wilab bart jooris friday november 14th 2008

56
IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

Post on 19-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

IBBT event : Technical workshop iLab.t:

wilab

Bart Jooris

Friday November 14th 2008

Page 2: 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

Page 3: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

3

Overview

Overview of technical characteristics Introduction Hardware

Tmote SkyEE iNode

SoftwareJobScenario iPlatform

Some example experiments Conclusions, Q&A

Page 4: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

4

Introduction:

Zuiderpoort office park 3 floors

2 zones per floor 190 locations

Page 5: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

5

Deployment of the testbed 1st floor

Page 6: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

6

Deployment of the testbed 2nd floor

Page 7: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

7

Deployment of the testbed 3th floor

Page 8: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

8DUT

Introduction

WLAN

sensor

iNode:Embedded PC

WLAN EE

Page 9: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

9

Overview

Overview of technical characteristics Introduction Hardware

Tmote SkyEE iNode

SoftwareJobScenario iPlatform

Some example experiments Conclusions, Q&A

Page 10: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 11: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

11

Tmote Sky front

Page 12: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

12

Tmote Sky back

Page 13: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

13

Tmote Sky IPC headers

Page 14: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

14

Overview

Overview of technical characteristics Introduction Hardware

Tmote SkyEE iNode

SoftwareJobScenario iPlatform

Some example experiments Conclusions, Q&A

Page 15: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

15

Block Diagram of the EE

Page 16: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

16

EE front

Page 17: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

17

EE back

Page 18: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 19: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 20: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

20

Overview

Overview of technical characteristics Introduction Hardware

Tmote SkyEE iNode

SoftwareJobScenario iPlatform

Some example experiments Conclusions, Q&A

Page 21: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 22: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

22

Inode mobo front

Page 23: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

23

Inode mobo back

Page 24: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 25: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

25

Components

Page 26: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

26

How did we get there ?

iNodes

EEs

Assembly days

Page 27: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

27

Overview

Overview of technical characteristics Introduction Hardware

Tmote SkyEE iNode

SoftwareJobScenario iPlatform

Some example experiments Conclusions, Q&A

Page 28: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 29: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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 .. .. ..

Page 30: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 31: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

33

Overview

Overview of technical characteristics Introduction Hardware

Tmote SkyEE iNode

SoftwareJobScenario iPlatform

Some example experiments Conclusions, Q&A

Page 32: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 33: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

35

Overview

Overview of technical characteristics Introduction Hardware

Tmote SkyEE iNode

SoftwareJobScenario iPlatform

Some example experiments Conclusions, Q&A

Page 34: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

36

Software scenario

Scenario Execute events on predefined relative times or RT

New re-factored events interface Sampler Streamer GpioTris GpioPinStatus Config7Seg ConfigOccurrences

Page 35: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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.

Page 36: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 37: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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.

Page 38: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 39: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 40: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

42

Overview

Overview of technical characteristics Introduction Hardware

Tmote SkyEE iNode

SoftwareJobScenario iPlatform

Some example experiments Conclusions, Q&A

Page 41: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 42: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 43: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 44: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 45: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 46: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 47: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 48: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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)

Page 49: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

51

Overview

Overview of technical characteristics Introduction Hardware

Tmote SkyEE iNode

SoftwareJobScenario iPlatform

Some example experiments Conclusions, Q&A

Page 50: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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 51: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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,…

Page 52: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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%

Page 53: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

55

Overview

Overview of technical characteristics Introduction Hardware

Tmote SkyEE iNode

SoftwareJobScenario iPlatform

Some example experiments Conclusions, Q&A

Page 54: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 55: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

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

Page 56: IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008

58

?