Tutorial & Demo! image and audio transmission on wireless sensor networks!

Similar documents
WP1 Acoustic Test bed Qualification

CIS-331 Exam 2 Fall 2015 Total of 105 Points Version 1

CIS-331 Fall 2013 Exam 1 Name: Total of 120 Points Version 1

CIS-331 Exam 2 Fall 2014 Total of 105 Points. Version 1

CIS-331 Fall 2014 Exam 1 Name: Total of 109 Points Version 1

CIS-331 Spring 2016 Exam 1 Name: Total of 109 Points Version 1

CIS-331 Exam 2 Spring 2016 Total of 110 Points Version 1

4. Specifications and Additional Information

C1098 JPEG Module User Manual

CIS-331 Final Exam Spring 2018 Total of 120 Points. Version 1

CIS-331 Final Exam Spring 2015 Total of 115 Points. Version 1

Gateway Ascii Command Protocol

The cache is 4-way set associative, with 4-byte blocks, and 16 total lines

Real-time On-Demand Multi-Hop Audio Streaming with Low-Resource Sensor Motes

Technical Specification. Third Party Control Protocol. AV Revolution

ZN-DN312XE-M Quick User Guide

APPLESHARE PC UPDATE INTERNATIONAL SUPPORT IN APPLESHARE PC

6. Specifications & Additional Information

UNH-IOL MIPI Alliance Test Program

CIS-331 Final Exam Spring 2016 Total of 120 Points. Version 1

ECHO Process Instrumentation, Inc. Modbus RS485 Module. Operating Instructions. Version 1.0 June 2010

July Registration of a Cyrillic Character Set. Status of this Memo

KNX TinySerial 810. Communication Protocol. WEINZIERL ENGINEERING GmbH

RS 232 PINOUTS. 1. We use RJ12 for all of our RS232 interfaces (Link-2-Modbus & Link-2-PC- Serial/RS232). The diagram below shows our pin out.

Streaming the Sound of Smart Cities: Experimentations on the SmartSantander test-bed

Digital Lighting Systems, Inc. CD400-DMX DMX512 Four Channel Dimmer and Switch module

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )

6.1 Font Types. Font Types

CMSC 313 Lecture 03 Multiple-byte data big-endian vs little-endian sign extension Multiplication and division Floating point formats Character Codes

Digital Lighting Systems, Inc.

Here is a C function that will print a selected block of bytes from such a memory block, using an array-based view of the necessary logic:

CDR File Information. Comments Direct PCM

Triple DES and AES 192/256 Implementation Notes

Hash Constant C Determinants leading to collisionfree

DBK24. Isolated Digital Output Chassis. Overview

B: Modbus Map and Retrieving Logs

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012

ID: Cookbook: browseurl.jbs Time: 19:37:50 Date: 11/05/2018 Version:

Communications guide. Line Distance Protection System * F1* GE Digital Energy. Title page

CIS-331 Final Exam Fall 2015 Total of 120 Points. Version 1

ID: Cookbook: urldownload.jbs Time: 23:23:00 Date: 11/01/2018 Version:

Acquirer JCB EMV Test Card Set

2-Type Series Pressurized Closures

Systems/DBG Debugger Version 2.20

CS 537: Introduction to Operating Systems Fall 2015: Midterm Exam #1

VM7000A PAPERLESS RECORDER COMMUNICATION FUNCTION OPERATION MANUAL

TLS 1.2 Protocol Execution Transcript

USB-ASC232. ASCII RS-232 Controlled USB Keyboard and Mouse Cable. User Manual

First Data Dual Interface EMV Test Card Set. Version 1.20

First Data EMV Test Card Set. Version 1.30

Digital Projector X30N/X35N

First Data EMV Test Card Set. Version 2.00

ENGI 8868/9877 Computer and Communications Security III. BLOCK CIPHERS. Symmetric Key Cryptography. insecure channel

Digital Lighting Systems, Inc.

ETSI TS V ( )

First Data DCC Test Card Set. Version 1.30

VM7000A PAPERLESS RECORDER COMMUNICATION FUNCTION OPERATION MANUAL

Programming Notes and Examples

TEST DVD-VIDEO/ DVD-ROM For Checking DVD Players, DVD Recorders and DVD Drives TDH-940

Here is a C function that will print a selected block of bytes from such a memory block, using an array-based view of the necessary logic:

ASCII Code - The extended ASCII table

KRAMER ELECTRONICS LTD. USER MANUAL MODEL: VA-8xl 8-Channel Balanced Stereo Audio Amplifier. P/N: Rev 1

Acquirer JCB Dual Interface EMV Test Card Set

Enhanced Play Fair Cipher

Digital Lighting Systems, Inc. PD405-DMX. Four Channel Dimmer and Switch Packs. DMX512 compatible. PD405-DMX-24DC DMX512 4 x 5 Amps Dimmer Pack

LynX-10 Legacy Protocol Specification Version 1.01

Secret Key Systems (block encoding) Encrypting a small block of text (say 64 bits) General considerations for cipher design:

Digital Projector X30 Operator's Guide TECHNICAL

X64. Operator's Guide TECHNICAL. Example of PC signal

OOstaExcel.ir. J. Abbasi Syooki. HTML Number. Device Control 1 (oft. XON) Device Control 3 (oft. Negative Acknowledgement

FieldServer Driver FS Heatcraft-Smart Controller II

SPAREPARTSCATALOG: CONNECTORS SPARE CONNECTORS KTM ART.-NR.: 3CM EN

One subset of FEAL, called FEAL-NX, is N round FEAL using a 128-bit key without key parity.

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, SPRING 2013

Fundamentals of Cryptography

SPARE CONNECTORS KTM 2014

Example of PC signal. Projector CP-X2010/CP-X2510/CP-X3010 User's Manual (detailed) Operating Guide Technical

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

EDR Report Information

Course Contents. The TCP/IP protocol Stack

Stream Ciphers and Block Ciphers

Interested in learning more? Global Information Assurance Certification Paper. Copyright SANS Institute Author Retains Full Rights

MIDI-Scope. Artistic Licence Engineering Ltd. Software Version V1.3 Manual Revision V1.91

MicroStrain LXRS Wireless Base Station EEPROM Map

PCL ISO 8859/5 Latin/Cyrillic

CP-X253. User's Manual (detailed) Technical. Example of PC signal. Projector

460 Presentation Audio Mixer

Modbus Register Map: InRow ACRD60x / ACRC60x

Register Map: Ecoflair Indirect Air Economizer

! ' ,-. +) +))+, /+*, 2 01/)*,, 01/)*, + 01/+*, ) 054 +) +++++))+, ) 05,-. /,*+), 01/-*+) + 01/.*+)

DNP3 Communication User's manual

CSCI 454/554 Computer and Network Security. Topic 3.1 Secret Key Cryptography Algorithms

CMOS TYPE CAMERA JC406M-W01

AIT 682: Network and Systems Security

Scan Results - ( Essentials - Onsharp )

10. RS-232C communication

[MS-FSSHTTPD]: Binary Data Format for File Synchronization via SOAP. Intellectual Property Rights Notice for Open Specifications Documentation

Testing a Commercial Sensor Platform for Wideband Applications based on the standard

Parallax Serial LCD 2 rows x 16 characters Non-backlit (#27976) 2 rows x 16 characters Backlit (#27977) 4 rows x 20 characters Backlit (#27979)

Networking Level Laboratory Mote-Computer Serial Communication

Transcription:

Tutorial & Demo! image and audio transmission on wireless sensor networks! CARI 2014 tutorial - PART III! Gaston Berger University! October, 17 th, 2014! Saint-Louis, Senegal! Prof. Congduc Pham! http://www.univ-pau.fr/~cpham! Université de Pau, France!!

Development environments! Linux-based systems for higher flexibility and better interoperability! most of software tools are targeted for Unix! most of gateways devices are Linuxbased (Meshlium, Beagle, Rasperry, )! When possible, avoid Java development and priviledge C, or C++ and/or scripts (shell, python)! 2

Xbee radio module from Digi! Implements IEEE 802.15.4 standard!! 64-bit hardware MAC address!! 0x0013A200409C0343! 3

Radio (802.15.4) gateways to get data in computer! 58 3332 0013A200 3332 0013A200 CC61 40922078 4086D834 HELLO 2B32 HELLO 64-bit 0x0013A2004086D834! 16-bit 0x0010! PANID 0x3332 Seen as a! serial port! /dev/ttyusb0 USB-serial converter! Some hardware give access to! Link-layer information CC61 58 3332 0013A200 3332 0013A200 40722098 4086D834 HELLO 2B32 Transparent mode! or Serial line! replacement mode! or printf-like function Read from /dev/ttyusb0 HELLO 4

Sensor Mote as Gateway! q Program a sensor mote to write to serial port all received data from radio! q Ex: AdvanticSys TelosB with BaseStation-like TinyOs program! HELLO CC61 58 3332 0013A200 3332 0013A200 40722098 4086D834 HELLO 2B32 Read from /dev/ttyusb0 5

From serial to applications/users! CC61 58 3332 0013A200 3332 0013A200 40722098 4086D834 HELLO 2B32 // get data from radio! data=xbee.getdata();!! // data = hello! // print data to serial port! Serial.print(data);! q Write custom applications that read the serial port: /dev/ttyusbx,/dev/ttysx,! q Use tools to read serial port and print on standard output, e.g. unix stdout! q Much more flexible, and reliable! q Can use Unix redirection to feed data into other programs! > unix_tool_1 myapp unix_tool_2 unix_tool_3! 6

SerialToStdout.py! Simple python script to read serial port when no translation is needed! Change port and baud rate as needed! import serial! import sys!! ser = serial.serial('/dev/ttyusb0', 38400, timeout=0)!! # flush everything that may have been received on the port to make sure! # that we start with a clean serial input! ser.flushinput()!! while True:! out = ''! sys.stdout.write(ser.read(1024))! sys.stdout.flush()! 7

Display_image! q Read standard input for image packet! q Write packet to file! q Read from file and display image! > python SerialToStdout display_image! 8

XBeeReceive! (obsolete)! q Main target is XBee-based gateway! q Translates XBee API frame! q Read from the serial port! /dev/ttyusb0, /dev/ttys0,! q Can write to Unix stdout & can act as a transparent serial replacement! q Display images in image mode! q Reconstructs file in binary mode! q Can act in a data stream fashion: no header for packets! q SerialToStdout.py can be use instead of XBeeReceive with an XBee in transparent mode! 9

XBeeReceive cmd line! (obsolete)! USAGE:!./XBeeReceive -baud b -p dev -onlydisplay img_file.dat -pktd -pktf -B/-I -ap0 -v val!!! stdout -stream -Q 40 file_name! USAGE:!-baud, set baud rate, default is 38400! USAGE:!-p /dev/ttyusb1! USAGE:!-onlydisplay img_file.dat, display the.dat file only! USAGE:!-pktd, display received XBee frames! USAGE:!-pktf, generate pkt list file! USAGE:!-B/-I, -B for binary mode, -I for image mode, default is image mode! USAGE:!-framing, expects 0xFF0x55 for binary mode, 0xFFx50 for image mode, default is no framing! USAGE:!-ap0, indicates an Xbee in AP mode 0 (transparent mode) so do not decode frame structure! USAGE:!-v 77, use 0x77 to fill in missing value in binary mode! USAGE:!-stdout, write to stdout for pipe mode, don't work with image mode! USAGE:!-stream, assumes no header & write to stdout for pipe mode in binary mode! USAGE:!-Q 40, use 40 as Quality Factor, default is 50! USAGE:!file_name, for images: give the original bmp file. for binary: give any file name! 10

XBeeSendCmd! q XBeeSendCmd! q Uses an Xbee gateway to send ASCII string command, e.g. «/@D0030#»! USAGE: USAGE: USAGE: USAGE: USAGE: USAGE: USAGE: USAGE: USAGE: USAGE: USAGE:!./XBeeSendCmd -p dev [-L][-DM][-at] -tinyos -tinyos_amid id_hex -mac -net -addr -b message!!-p /dev/ttyusb1!!-mac 0013a2004069165d HELLO!!-net 5678 HELLO!!-addr 64_or_16_bit_addr HELLO!!-b HELLO!!-at to send remote AT command: -at -mac 0013a2004069165d ATMM!!-L insert Libelium API header!!-dm to specify DigiMesh firmware!!-tinyos to forge a TinyOS ActiveMessage compatible packet (0x3F0x05 are inserted)!!-tinyos_amid 6F, to set the ActiveMessage identifier to 0x6F (0x05 is the default)! q Example:! q XBeeSendCmd addr 0013A2004086D835 hello! q XBeeSendCmd addr 0013A2004086D835 /@Z50#!! 11

Image demo!!! 12

Previous Image sensor motes! imote2 imote2 with IMB400 multimedia board 13

More generic solution:! file sender node! Fully configurable: File to send Size of packet chunk Inter-packet delay Image/Binary mode Destination node Clock synchronization Cost:! ~132 14

Image encoding! q Encode any.bmp image file! q JPEGencoding -MSS 90 -Q 5 original_image_file.bmp! q Specify a quality factor! Original BMP 128x128 12 128 128 5 000C 0080 0080 0005 0059 00 00 CD E5 43 C2 3A C8 1B D0 A0 E7 2A C7 D1 6C EE 60 FD 5A A8 AB 53 87 C0 29 D4 85 01 43 B0 95 C5 93 7C A8 65 9C 1C 13 F4 16 CA 02 27 08 EB 4A 38 AB 06 06 22 8E 74 61 EA 18 4A BD EB 77 0D 46 D9 8F 8B 05 92 E1 EE D9 9A 98 D4 A3 3F 83 16 E0 D0 6B 87 14 48 58 4E 13 7F 0056 00 20 D5 BE 0B 70 DF 3C 0F 1B 48 13 93 9E 73 45 03 94 1E 9B A5 0B BB CF 52 04 4D 3E 88 36 B6 02 77 CE 9F F8 32 42 18 A8 F8 AA 79 9E 35 20 A0 A5 98 FE 32 16 1E 97 90 47 87 EC 69 61 60 7D AB 96 B9 AC CD B4 B8 5D B9 88 23 60 20 32 44 30 8A DA 5B A4 00 46 36 15 0057 00 32 E8 24 33 13 48 69 28 66 73 BD 03 3E 2F 37 CC CF E4 9E A9 1E CD EB 45 36 B6 12 18 FA 6A BA A9 94 1A 95 EB 49 50 CD A1 77 C2 8E 73 21 CB DC 5D 06 E4 29 A3 B6 70 C5 E0 F9 C4 62 16 9F 94 98 CD 1C AE 0D AF 7E DE 24 44 33 FB 54 6A 08 A8 1A 70 9E A2 DA 50 AC 27 0056 00 45 E8 45 44 23 09 42 33 69 5E 96 2E 7E 7F EB 8D 59 88 9F 23 9E 4F B2 77 62 30 8B BA AC 73 89 2F 3D 18 91 73 FC CF BF 36 DC B1 86 22 98 02 93 C7 86 01 06 36 85 89 BE 2F 01 6E 57 B0 51 82 AE 87 7B 43 80 42 5B E9 4B 78 58 CF 59 F8 56 29 C6 A8 1C 0C 72 09 97 0058 00 5B D9 2E 88 09 71 6D 35 C4 7A EA 22 DA DE 38 EF 8D 9C B2 A8 B4 F0 9C CA 1A 0E F5 A7 E6 2B 39 20 E6 07 67 34 CB 1F B1 BA C4 28 F0 69 EC 45 37 AF AF DE E0 04 9A A8 CE 95 73 9A 75 B5 8E A1 F0 1C 2E DF 16 23 38 A1 2E DA C6 72 3D 56 CF 7E D2 99 5E AE 12 DB 20 E2 C7 0058 00 6E E8 50 B3 86 C5 77 B9 97 57 8C AC CE 52 E1 D7 CD 4A 0D A2 B3 9B D2 DC 91 EA 63 9A 03 D5 2B 23 15 5C 1B 26 0E 0F 3C 82 4E 61 41 Collaboration 3E 9E 84 ED with 54 4A CRAN ED 62 CC 8D 6D 71 66 60 46 F5 16 22 5D ED 7D 79 E8 46 FE 3C 6F 8C laboratory, 71 88 EC Nancy, EA 01 1C France. 73 E0 4A 3D 94 BE FC 14 C6 3F 0056 00 84 D3 27 D6 C1 A4 52 F8 F2 4C 83 6F 05 6E F7 91 32 F2 3F D7 9B Very robust image encoding techniques against packet losses 09 3E D6 F6 72 AA 63 0C C1 DC 48 E2 8F DD 55 53 80 F0 94 C3 D4 5D 8D 27 F2 EE C2 80 F3 3F 55 8A 7F 47 BA 67 FA CB 17 16 EE 24 A2 72 FA E0 BA CA C7 0F C6 07 0F 11 36 69 FA 7A FC 82 66 33 49 43 0058....! 15

Adjustable Quality Factor! 200x200, suitable for Situation-Awareness Original BMP 40000b Q=50 S=11045b 142pkts Q=40 S=9701b 123pkts Q=30 S=8100b 101pkts PSNR=25.1661 PSNR=24.2231 PSNR=23.2264 Q=20 S=6236b 76pkts Q=15 S=5188b 63pkts Q=10 S=3868b 47pkts Q=5 S=2053b 24pkts PSNR=22.1293 PSNR=21.4475 PSNR=20.5255 PSNR=18.937 16

Transmit image packet! FF5000590000CDE543C23AC81BD0A0E72AC7D16CEE60F D5AA8AB5387C029D4850143B095C5937CA8659C1C13F4 16CA022708EB4A38AB0606228E7461EA184ABDEB770D4 6D98F8B0592E1EED99A98D4A33F8316E0D06B87144858 4E137F 000C 0080 0080 A8 AB 53 87 C0 38 AB 06 06 22 3F 83 16 E0 D0 73 45 03 94 1E 79 9E 35 20 A0 B9 88 23 60 20 0005 0059 00 00 CD E5 43 C2 3A C8 1B D0 A0 E7 2A C7 D1 6C EE 60 FD 5A 29 D4 85 01 43 B0 95 C5 93 7C A8 65 9C 1C 13 F4 16 CA 02 27 08 EB 4A 8E 74 61 EA 18 4A BD EB 77 0D 46 D9 8F 8B 05 92 E1 EE D9 9A 98 D4 A3 6B 87 14 48 58 4E 13 7F 0056 00 20 D5 BE 0B 70 DF 3C 0F 1B 48 13 93 9E 9B A5 0B BB CF 52 04 4D 3E 88 36 B6 02 77 CE 9F F8 32 42 18 A8 F8 AA A5 98 FE 32 16 1E 97 90 47 87 EC 69 61 60 7D AB 96 B9 AC CD B4 B8 5D 32 44 30 8A DA 5B A4 00 46 36 15 0057....! 17

Relay nodes! AdvanticSys TelosB MicaZ and imote2 Fully configurable: Destination node Additional relay delay Clock synchronization Libelium WaspMote Arduino Mega2560 18

Sink node! Linux PC/Laptop with! (a) USB/Serial gateway Xbee radio! (b) TelosB as BaseStation 19

Transmission & Relay Time! 14$ Original BMP 40000b Q=50 S=11045b 142pkts Q=40 S=9701b 123pkts Q=30 S=8100b 101pkts 250kbps: 1.28s 400pkt of 100bytes: 400*0.0115=4.6s Relay overhead: 400*0.0157=6.28s Time%in%ms% 12$ 10$ 8$ 6$ 4$ 2$ 0$ Time%in%send()%and%2me%between%2%packet%genera2on% MicaZ% -me$in$send()$ -me$in$send(),$fi8ed$ -me$between$send()$ -me$between$send(),$fi8ed$ 7.2$ 7.4$ 7.7$ 7.9$ 8.1$ 8.4$ 8.6$ 8.9$ 9.1$ 9.3$ 9.6$ 9.8$ 10.1$ 10.3$ 10.6$ 10.8$ 11.0$ 11.3$ 11.5$ 6.0$ 6.3$ 6.5$ 6.8$ 7.1$ 7.3$ 7.6$ 7.9$ 8.1$ 8.4$ 8.6$ 8.9$ 9.2$ 9.4$ 9.7$ 9.9$ 10.2$ 10.5$ 10.7$ 10$ 15$ 20$ 25$ 30$ 35$ 40$ 45$ 50$ 55$ 60$ 65$ 70$ 75$ 80$ 85$ 90$ 95$ 100$ Payload%in%bytes% PSNR=25.1661 PSNR=24.2231 Packet%read%3me%&%packet%relay%3me% PSNR=23.2264 Advan3cSys%TelosB%and%MicaZ% Q=20 S=6236b 76pkts Q=15 S=5188b 63pkts Q=10 Packet%relay%6me%(th),%TelosB% S=3868b 47pkts Packet%relay%6me%(measured),%TelosB% Q=5 S=2053b 24pkts 250kbps: 0.199s 76pkt of 95bytes: 76*0.0113=0.858s Relay overhead: 76*0.0145=1.102s PSNR=22.1293 PSNR=21.4475 Time%in%ms% 30.0% 25.0% 20.0% 15.0% 10.0% 5.0% 0.0% Packet%relay%6me%(th),%MicaZ% Packet%read%6me,%TelosB% 27.6% 28.0% 28.3% 23.8% 24.1% 25.5% 25.9% 26.2% 19.6% 19.9% 20.3% 21.7% 22.0% 22.4% 27.9% 27.8% 28.1% 15.7% 16.1% 17.5% 17.8% 18.2% 24.3% 25.0% 24.8% 25.5% 26.3% 21.9% 22.5% 22.7% 20.5% 20.0% 20.7% 20.6% 15.7% 16.2% 17.9% 17.4% 18.7% 13.4% 13.7% 13.9% 14.2% 14.5% 11.1% 11.4% 11.6% 11.9% 12.2% 9.1% 9.3% 9.6% 9.9% 15.7% 7.0% 7.3% 7.5% 7.8% 11.0% 12.2% 11.5% 11.0% 11.4% 12.4% 13.3% 13.2% 13.5% 13.7% 9.7% 6.7% 6.7% 7.5% 7.7% 8.5% 9.0% 9.8% 2% 2% 3% 3% 3% 4% 4% 4% 5% 5% 5% 6% 6% 7% 7% 7% 8% 8% 8% 1% 1% 1% 1% 2% 2% 2% 2% 3% 3% 3% 3% 3% 4% 4% 4% 4% 4% 5% PSNR=20.5255 Packet%relay%6me%(measured),%MicaZ% Packet%read%6me,%MicaZ% PSNR=18.937 10% 15% 20% 25% 30% 35% 40% 45% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95% 100% Payload%in%bytes% 20

Multi-hop forwarding increases pkt loss rate! 1 2 3 10% 20% 30% 40% 50% 60% 70% 80% 21

Test bed! D0013A2004086D828 set the 64-bit dest. mac addr! D0080 set the 16-bit dest. mac addr! T130 transmit with inter pkt time of 130ms! Z50 set the pkt size for binary mode! FdesQ5.dat set the file name to desq5.dat! D0013A2004086D828 set the 64-bit dest. mac addr! D0080 set the 16-bit dest. mac addr! I or B set to image mode/set to binary mode! All commands must be prefixed by «/@» and ended/separated by «#» Examples: /@T130#, /@FjapanQ20.dat#I#! serial Unix tool! 22

Image demo! 0x0013A200408BC81B > XBeeSendCmd addr 0013A200408BC81B /@FjapanQ20.dat#I#! Ø XBeeSendCmd addr 0013A200408BC81B /@D0013A20040762191#! Ø XBeeSendCmd addr 0013A200408BC81B /@T90#! Q=20 S=6236b 76pkts 0x0013A20040762191 Ø python SerialToStdout display_image -framing Q 20 japandisaster-200x200.bmp! serial Unix tool! 23

0x0013A200408BC81B Image demo! > XBeeSendCmd addr 0013A200408BC81B /@FjapanQ20.dat#I#! Ø XBeeSendCmd addr 0013A200408BC81B /@D0020#! Ø XBeeSendCmd addr 0020 /@D0013A20040762191#! Ø XBeeSendCmd addr 0013A200408BC81B /@T90#! > XBeeSendCmd addr 0013A200408BC81B /@FjapanQ20.dat#I#! Ø XBeeSendCmd addr 0013A200408BC81B /@D0020#! Ø XBeeSendCmd addr 0020 /@D0010#! Ø XBeeSendCmd addr 0010 /@D0013A20040762191#! Ø XBeeSendCmd addr 0013A200408BC81B /@T90#! Q=20 S=6236b 76pkts 0x0020 0x0010 0x0013A20040762191 > XBeeSendCmd addr 0013A200408BC81B /@D0080#! Ø XBeeSendCmd addr 0080 /@D0013A20040762191#! Ø XBeeSendCmd addr 0013A200408BC81B /@T90#! 0x0080 serial Unix tool! Ø python SerialToStdout display_image -framing Q 20 japandisaster-200x200.bmp! 24

Image demo! 0x0013A200408BC81B Q=20 S=6236b 76pkts 0x0020 0x0010 0x0013A20040762191 Ø XBeeSendCmd addr 0013A200408BC81B /@D0020#! Ø XBeeSendCmd addr 0010 /@D0080#! Ø XBeeSendCmd addr 0013A20040762191 /@T90#! 0x0080 serial Unix tool! Ø python SerialToStdout display_image -framing Q 20 japandisaster-200x200.bmp! 25

Automatized relay configuration! q Shell script to XbeeSendCmd for configuring route! q relay_conf.sh! > relay_conf.sh /dev/ttyusb0 /@FjapanQ20.dat#I# 0013A200408BC81B 0020 0010 0080 0013A20040762191! 0x0013A200408BC81B 0x0020 0x0010 0x0013A2004762191 0x0080 26

Audio demo! 27

Multi-hop audio solution Use dedicated audio board for sampling/storing/encoding at 8kbps Specially designed audio board by INRIA CAIRNS & Feichter Electronics dspic33 with 8kbps speex real-time encoder Allows for multi-hop, encoded audio streaming scenarios the sounds of smart environments

speex at 8kbps 160 8-bit samples (20ms) 2 bytes! framing! 0xFF0x55 1 byte! Seq. No. 20 bytes of encoded audio data 25 or 21 bytes frame 1 byte! pkt size! (21) 1 byte! # samples (20) speex_sampledec_wframing! the sounds of smart environments

1-hop test-bed w/audio board 0x0090 A1/2/3/4 aggregate audio frames! D0100 set the 16-bit dest. mac addr! C0/1 power off/on the audio board! Speex audio encoding! 8kbps! python script,! standard Unix scripting tool speex decoding tool from! open-source speex distrib play tool from sox! open-source distrib Decode & Play! Received audio! 0x0100 python 115200SerialToStdout.py speex_sampledec_wframing play --buffer 100 -t raw -r 8000 -s -2 -! the sounds of smart environments

2-hop test-bed w/audio board 0x0090 A1/2/3/4/6 aggregate audio frames! D0020 set the 16-bit dest. mac addr! C0/1 power off/on the audio board! Speex audio encoding! 8kbps! 0x0020 D0100 set the 16-bit! dest. mac addr! python script,! standard Unix scripting tool speex decoding tool from! open-source speex distrib Relay play tool from sox! open-source distrib Decode & Play! Received audio! 0x0100 python 115200SerialToStdout.py speex_sampledec_wframing play --buffer 100 -t raw -r 8000 -s -2 -! the sounds of smart environments

speex at 8kbps 160 8-bit samples (20ms) 2 bytes! framing! 0xFF0x55 1 byte! Seq. No. 20 bytes of encoded audio data 25 or 21 bytes frame Need to be able to relay a 25-byte pkt every 20ms 1 byte! pkt size! (21) 1 byte! # samples (20) speex_sampledec_wframing! the sounds of smart environments

the sounds of smart environments Relay node performances

the sounds of smart environments Relay node performances

speex at 8kbps on slow relay nodes 160 bytes (20ms) Add framing bytes! 20 bytes of encoded audio data Capture 6 audio frames (120ms) but only send 4 1 2 3 4 5 6 2 3 5 6 A6 aggregate audio frames! 7 8 8 Need to be able to relay 100-byte pkt every 120ms the sounds of smart environments

Some links! http://web.univ-pau.fr/~cpham/wsn-model/tool-html/tools.html! http://web.univ-pau.fr/~cpham/wsn-model/wvsn-castalia.html! 36