wp04: wireless networking libelium david remón & anartz nuin brussels, march 31, 2014 midterm...

44
WP04: Wireless Networking Libelium David Remón & Anartz Nuin Brussels, March 31, 2014 Midterm Review 1 31/03/2014

Upload: antony-lucas

Post on 03-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

WP04: Wireless Networking

LibeliumDavid Remón & Anartz Nuin

Brussels, March 31, 2014

Midterm Review 131/03/2014

WP04 Objetives

● Setting up wireless connections● Selection of a low level wireless data transfer protocol● Adaptation of the high level application protocol layer ● Testing the wireless communications

Midterm Review 231/03/2014

WP04 Partners

1. UNIMI2. AMIS6. GORE7. LBL8. UPV

Midterm Review 331/03/2014

WP04 Tasks

● T4.1 Definition of Requirements (LBL, GORE, AMIS, UNIMI) [M6-M10]

● T4.2 Functional Analysis (LBL, GORE, AMIS, UNIMI) [M9-M12]● T4.3 Implementation (GORE, LBL) [M10-M15]● T4.4 Construction and validation of network performance

model (UPV, LBL, UNIMI) [M11-M17]● T4.5 Tests (LBL, GORE, AMIS) [M12-M23]

Midterm Review 431/03/2014

WP04 deliverables

● D4.1 Wireless Protocols Report (LBL) [M10]● D4.2 First Experimentation Report (GORE) [M15]● D4.3 Report on predicted system performance (UPV)

[M17]● D4.4 Final report on experimentation (LIB) [M23]

Midterm Review 531/03/2014

Gantt• D4.1 (LIB)

● Delivered • D4.2 (AMIS)

● Delivered • D4.3 (UPV)

● Expected delivering with delay• MS5 Month16

● Partially achieved: communication chain completed but not integrated. Final integration at Cartif mockup

Midterm Review 631/03/2014

Goals• Communication chain completed• Security Layer: TLS• QoS layer established• State Diagram for SandS Board defined• Managing Connections: Keep Alive• Handling Command Queues• Frame treatment in both ends

Midterm Review 731/03/2014

Midterm Review 831/03/2014

Task report

Midterm Review 931/03/2014

Tasks● T4.1 Definition of Requirements ● T4.2 Functional Analysis ● T4.3 Implementation ● T4.4 Construction and validation of network performance

model● T4.5 Tests

Midterm Review 931/03/2014

Midterm Review 1031/03/2014

T4.1 Definition of requirements

• Coming from WP01

• Results shown in D1.1, D3.1 and D3.3

• Branded and Non branded SolutionDifferent approach = Different requirements

• Defining recipes, instructions/commands

Midterm Review 1131/03/2014

T4.2 Functional Analysis

● Branded and Non branded Solution.

● Branded Solution- Dedicated web server.- Specially developed test application- Extensive tests

Explained in Task 3.5

Midterm Review 1231/03/2014

T4.2 Functional Analysis

Security- TLS

Communications:- MQTT- TCP- WiFi

Wifi Access Point Interface Design

Midterm Review 1331/03/2014

Double Layer Security • WiFi encryption

WEP/WPA/WPA2

• TLS encryption

Midterm Review 1431/03/2014

COMMUNICATIONS & SECURITY

- Two ends carrying out communications and encryption: DI CM & appliance

UN DI CM

Midterm Review 1531/03/2014

● mqtt

● TLS

Linux board AR9331 DI CM

libmosquitto

C implementation of MQTT

libmosquitto uses library OPENSSL

mqtt.js

implementation of MQTT in node.js

mqtt.js uses library OPENSSL

Midterm Review 1631/03/2014

Accessing the eahouker WiFi network

1. Sands boardconfigures as Access Point.

2. eahouker introduces WiFicredentials.

Midterm Review 1731/03/2014

Accessing the eahouker WiFi network

Designed.

• Next step:ImplementationIn SandS board

Midterm Review 1831/03/2014

T4.3 Implementation

● Branded and Non branded Solution.

● Branded Solution- Dedicated web server.- Specially developed test application- Extensive tests

Explained in Task 3.5

Midterm Review 1931/03/2014

● Non branded solution:

- Two ends carrying out communications: DI CM & appliance

UN DI CM

Midterm Review 2031/03/2014

DI end: DI Connection Manager● Manage all the connections from/to appliances

Midterm Review 2131/03/2014

DI CM● node.js: direct integrationwith DI (NTUA)

● In order toincrease Performance:

Multiple workers,as much as CPU cores

Midterm Review 2231/03/2014

DI CM● - Receiving info from appliances:Three kind of messages:

- Completed task- Info (for example, sensor measures)- First Connection status.

- Sending info to appliances: One kind of message:

- commands

Midterm Review 2331/03/2014

DI CM● Sending info to the appliances:

Recipe

Payload

xml2

command

mqtt wrapper

mqtt message to the appliance

Midterm Review 2431/03/2014

Appliance end

- Backup solution to avoid longer delay:

ReplacementSandS board Arduino YUN

Midterm Review 2531/03/2014

SandS board working Diagram

Linux processorArduino Part

SandS Board

Midterm Review 2631/03/2014

SandS board working Diagram

Linux processorArduino Part

SandS Board

In charge ofCommunications

In charge ofrunning the appliance

Midterm Review 2731/03/2014

● Linux processor AR9331:

- in charge of the communications in the appliance end.

- Communicates with Arduino part ATmega2560 through serial port.

SandS board working Diagram

Midterm Review 2831/03/2014

● Linux processor AR9331:

- receives commands from DI-CM - sends commands to Arduino part

- sends commands to Arduino part - receives ACK's & status info from Arduino part

SandS board working Diagram

Midterm Review 2931/03/2014

● LinuxprocessorAR9331

SandS board working Diagram

Midterm Review 3031/03/2014

● Linux processor AR9331:Payload

libmosquitto

mqttframe

Message coming from

DI-CM

SandS board working Diagram

Commands sent 1by1 to the Arduino

ATmega 2560

parse

Midterm Review 3131/03/2014

SandS board working Diagram

Linux processorArduino Part

SandS Board

In charge ofCommunications

In charge ofrunning the appliance

Midterm Review 3231/03/2014

● Arduino part Atmega 2560:

- Controls the appliance. - Communicates with Linux processor AR9331 through

serial port.

SandS board working Diagram

Midterm Review 3331/03/2014

● Arduino part Atmega 2560:

- This programmed diagram allows SandS partners to add a new appliance to SandS network just by inserting the working code in the structure and defining the used commands.

SandS board working Diagram

Midterm Review 3431/03/2014

● Arduino part ATMega2560

SandS board working Diagram

Midterm Review 3531/03/2014

Implementation: QoS

• Quality of Service Layer Implemented

• Handled by libmosquitto and mqtt.js

• QoS value = 1 (MQTT) mqtt message received → at least 1 ACK sent.

Midterm Review 3631/03/2014

Implementation: keep alive timer

- Implemented as MQTT Standard

- keep_alive_time=maximum time without message from the appliance

- Exists “Grace Time”=1,5 x keep_alive_time

- If an appliance must send a message every 60 seconds, it will be disconnected from Sands when 90 seconds have passed

Midterm Review 3731/03/2014

T4.4 Network Performance Models

In progress● Extension of models in WP01 ● Dependencies on last project decisions and tests.● Will be finished when whole project picture

completed

Integration: Cartif Small Scale Mockup

Midterm Review 3831/03/2014

T4.5 TestsIn progress

● Stress tests in pieces of the communication:

- DI CM- keeping alive the connection UN - DI- QoS- Security

Midterm Review 3931/03/2014

Stressing the DI-CM

● Simulation

● Thousands ofappliances

Midterm Review 4031/03/2014

● Simulation

● Thousands ofappliances

100% successmanaging connections

Stressing the DI-CM

Midterm Review 4131/03/2014

● Done: Tests in parts of the communications

● To be done: Testing the integrationSandS Boards – Communications – DI

Cartif small scale mockup

Tests

• Recovering delays:- Migrating: Arduino Yun → SandS board

• Next steps on Communications: - Finishing Implementation Wifi Access Point- Closing the loop ARD – LIB - NTUA

- Integration: Cartif small scale mockup Appliances ↔ DI

- Scalability & number appliances: large scale mockup

Midterm Review 4231/03/2014

DEMO

Midterm Review 4331/03/2014

Thanks for your attention

Midterm Review 4431/03/2014