20081114 Friday Food iLabt Bart Joris
Upcoming SlideShare
Loading in...5
×
 

20081114 Friday Food iLabt Bart Joris

on

  • 737 views

 

Statistics

Views

Total Views
737
Views on SlideShare
736
Embed Views
1

Actions

Likes
0
Downloads
3
Comments
0

1 Embed 1

http://events.iminds.be 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Komt niet in handouts

20081114 Friday Food iLabt Bart Joris 20081114 Friday Food iLabt Bart Joris Presentation Transcript

  • IBBT event : Technical workshop iLab.t: wilab Bart Jooris Friday November 14th 2008
  • Overview
    • Overview of technical characteristics
      • Introduction
      • Hardware
        • Tmote Sky
        • EE
        • iNode
      • Software
        • Job
        • Scenario
        • iPlatform
    • Some example experiments
    • Conclusions, Q&A
  • Overview
    • Overview of technical characteristics
      • Introduction
      • Hardware
        • Tmote Sky
        • EE
        • iNode
      • Software
        • Job
        • Scenario
        • iPlatform
    • Some example experiments
    • Conclusions, Q&A
    View slide
  • Introduction:
    • Zuiderpoort office park
      • 3 floors
        • 2 zones per floor
      • 190 locations
    View slide
  • Deployment of the testbed 1 st floor
  • Deployment of the testbed 2 nd floor
  • Deployment of the testbed 3 th floor
  • Introduction DUT WLAN sensor iNode: Embedded PC WLAN EE
  • Overview
    • Overview of technical characteristics
      • Introduction
      • Hardware
        • Tmote Sky
        • EE
        • iNode
      • Software
        • Job
        • Scenario
        • iPlatform
    • Some example experiments
    • Conclusions, Q&A
  • 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 Radio BUS Antenna Int Sensors pcb IO
  • Tmote Sky front
  • Tmote Sky back
  • Tmote Sky IPC headers
  • Overview
    • Overview of technical characteristics
      • Introduction
      • Hardware
        • Tmote Sky
        • EE
        • iNode
      • Software
        • Job
        • Scenario
        • iPlatform
    • Some example experiments
    • Conclusions, Q&A
  • Block Diagram of the EE
  • EE front
  • EE back
  • GPIO of the EE <-> GPIO of the DUT
  • WiLab @ IBBT: Environment Emulator DUT can be a sensor, but also an actuator! Environment Emulators can be put in cascade DUT Environment Emulator PWR SI I(O)‏ Power DAC/ADC, I 2 C, … GP(I)O USB Ethernet + power Fixed interface: RS232, USB, … iNode Current DUT Environment Emulator PWR SI I(O)‏ Power DAC/ADC, I 2 C, … GP(I)O Fixed interface: RS232, USB, … Current
  • Overview
    • Overview of technical characteristics
      • Introduction
      • Hardware
        • Tmote Sky
        • EE
        • iNode
      • Software
        • Job
        • Scenario
        • iPlatform
    • Some example experiments
    • Conclusions, Q&A
  • 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
  • Inode mobo front
  • Inode mobo back
  • 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
  • Components
  • How did we get there ? iNodes EEs Assembly days
  • Overview
    • Overview of technical characteristics
      • Introduction
      • Hardware
        • Tmote Sky
        • EE
        • iNode
      • Software
        • Job
        • Scenario
        • iPlatform
    • Some example experiments
    • Conclusions, Q&A
  • 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
  • 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 .. .. ..
  • nesC static linking events and commands
    • interface X {
      • async command void a();
      • event void b();
    • }
    • nesC C onfiguration
      • CompA.X -> CompB.X
        • CompA registers for event b() from compB
        • CompA can invoke command a()‏
    • nesC P rogram
      • module CompBP {
      • provides interface X;
      • }
      • Implementation {
      • async command void X.a() {…}
      • }
      • module CompAP {
      • uses interface X;
      • }
      • Implementation {
      • event void X.b() {…}
      • }
  • Demo code
    • RedLed
    RedLedP.nc (Program)‏ module RedLedP { uses interface Leds; uses interface Boot; } Implementation { event void Boot.booted() { int i; call Leds.led0Toggle(); for (i=0;i<10;i++){}; //enter your C code here } } RedLedC.nc (Config)‏ configuration RedLedC { } implementation { components MainC, RedLedP, LedsC; RedLedP.Boot -> MainC.Boot; RedLedP.Leds -> LedsC.Leds; } Makefile COMPONENT=RedLedC include $(MAKERULES)‏ On cmdline you enter: make tmote If ok, upload main.exe to wilab build/telosb/main.exe
  • 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 iNode
        • Wilab will connect to each sf
        • But 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
  • Overview
    • Overview of technical characteristics
      • Introduction
      • Hardware
        • Tmote Sky
        • EE
        • iNode
      • Software
        • Job
        • Scenario
        • iPlatform
    • Some example experiments
    • Conclusions, Q&A
  • 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
  • Overview
    • Overview of technical characteristics
      • Introduction
      • Hardware
        • Tmote Sky
        • EE
        • iNode
      • Software
        • Job
        • Scenario
        • iPlatform
    • Some example experiments
    • Conclusions, Q&A
  • 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_ X bits
      • 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 : ADC X _SAMPLER_END
        • A..B : DAC X _STREAMER_END
        • C : SCROLLER_UPDATE
        • D : CLASSIFIER_OVERFLOW
        • E : QUEUE_OVERFLOW
  • Overview
    • Overview of technical characteristics
      • Introduction
      • Hardware
        • Tmote Sky
        • EE
        • iNode
      • Software
        • Job
        • Scenario
        • iPlatform
    • Some example experiments
    • Conclusions, Q&A
  • Extention w-iLab.t p.
  • 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.
  • Software iPlatform : General setup p. 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.
  • Software iPlatform: Files needed for experiment p. 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 drivers log directory: Automatically created, contains content of /tmp/log directory of iNodes
  • Software iPlatform : concept p. 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 7 Not 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.
  • Software iPlatform : nfs mount p.
    • 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)
  • Overview
    • Overview of technical characteristics
      • Introduction
      • Hardware
        • Tmote Sky
        • EE
        • iNode
      • Software
        • Job
        • Scenario
        • 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_address]
  • Demo 1 communication Job + 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 IRDelay
        • Enf, #Tx, #Rec, RSSI, LQI,…
  • 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 guaranteed On channel 50 (a band)‏ Tweaking QoS WiFi parameter can give a profit of 10%
  • Overview
    • Overview of technical characteristics
      • Introduction
      • Hardware
        • Tmote Sky
        • EE
        • iNode
      • Software
        • Job
        • Scenario
        • iPlatform
    • Some example experiments
    • Conclusions, Q&A
  • 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
  • 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
  • ?