Top Banner
How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag
42

How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

How to put applications on wilab

Bart Jooris

Friday May 15th 2009

aka IBCN-dag

Page 2: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

Is Wilab something for you?

Page 3: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

What's behind the scenes?

Page 6: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

6DUT

What is above our heads

WLAN

sensor

iNode:Embedded PC

WLAN EE

Page 7: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

Running applications on hardware with limited resources

Page 12: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

14

DUT (Sensornode) Tmote Sky front

Page 15: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

15

Block Diagram of the EE

Page 16: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

16

EE front

Page 17: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

19

Inode (ALIX3c3) mobo front

Page 20: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

21

How did we get there ?

iNodes

EEs

Assembly days

Page 22: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

OS and Software

Page 24: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

How to put applications on wilab?

Page 28: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

Zones on wilab

1B

2B

3B

SB3A

2A

1A

Page 30: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

Experiments on wilab are JOBS

Page 32: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

Sample Experiments

Page 36: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

Result 1 Experiment transmitters on 2nd floor

Page 38: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

Result 2 Experiment transmitters on 2nd floor

Page 39: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

Result 3 Current measurements during Tx with Lpl

Page 40: How to put applications on wilab Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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 Bart Jooris Friday May 15th 2009 aka IBCN-dag.

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