Connect and control things

31
CCT: Connect and Control Things A Novel Mobile Application to Manage M2M Devices and Endpoints Soumya Kanti Datta Research Engineer, EURECOM, France Email: [email protected] IEEE Ninth International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP 2014)

Transcript of Connect and control things

CCT: Connect and Control Things A Novel Mobile Application to Manage M2M Devices and

Endpoints

Soumya Kanti Datta

Research Engineer, EURECOM, France

Email: [email protected]

IEEE Ninth International Conference on Intelligent Sensors, Sensor Networks

and Information Processing (ISSNIP 2014)

Contents

• Introduction – M2M & IoT

– Sensor Markup Language

• Extending SenML Capabilities

• Architectural Design and Novel Capabilities

• Prototype Android Application

• Performance Evaluation and Optimization

• Use Cases

• Conclusion

22-Apr-14 CCT: Connect and Control Things 2

Introduction

22-Apr-14 CCT: Connect and Control Things 3

M2M Communication

• Communication between two or more entities that do not necessarily need any direct human intervention [ETSI].

• Information exchange between a Subscriber station and a Server in the core network (through a base station) or between Subscriber station, which may be carried out without any human interaction [IEEE 802.16p].

IoT

• A global network infrastructure, linking physical and virtual objects through the exploitation of data capture and communication capabilities [EU FP7 CASAGRAS].

• A global infrastructure for the information society, enabling advanced services by interconnecting (physical and virtual) things based on, existing and evolving, interoperable information and communication technologies [ITU-T Y.2060]

Sensor Markup Language (SenML)

• Represents simple sensor measurements and device parameters.

• Implemented using JSON/XML/EXI.

22-Apr-14 CCT: Connect and Control Things 4

Source: Media Types for Sensor Markup Language (SENML) draft-jennings-senml-10

Introducing CCT: Connect and Control Things

• It enables real time interaction with M2M devices.

– Each device manages a sensor and/or an actuator.

• One possible deployment scenario

– CCT interacts with the M2M devices via the M2M gateway.

22-Apr-14 CCT: Connect and Control Things 5

Clients running CCT

M2M Gateway

Device with sensor and actuator

Functionalities

• Dynamic discovery

– Devices and endpoints attached to the M2M gateway

• Real time interaction

• Connecting to both smart and legacy things

• Subscription to receive push notifications

• SenML implementation

• Actuator control

– Sensing based actuation

– SenML extensions

22-Apr-14 CCT: Connect and Control Things 6

Contents

• Introduction

• Extending SenML Capabilities

– For actuator control

• Architectural Design and Novel Capabilities

• Prototype Android Application

• Performance Evaluation and Optimization

• Use Cases

• Conclusion

22-Apr-14 CCT: Connect and Control Things 7

SenML Extensions for Actuators

• An Interface Definition – Necessary to distinguish between a sensor and an actuator.

• Name of actuator – Unique name that identifies the actuator and represented by base name.

• Type of actuator (Optional) – Defines various types of actuator e.g. temperature controlling actuator.

• Allowed range of values – The mobile clients must know the allowed range of values in order to control the actuators.

– The range could be continuous (e.g. for a motor) or discreet values (e.g. 0/1 for LED).

• Unit – The unit of the values.

• Capabilities (Optional) – It signifies whether an actuator is smart or legacy endpoint.

– In case of a legacy actuator, another M2M device must translate the instructions to machine executable form.

• Semantic (Optional) – It is used to associate a semantic notion of the actuator operation and can be pre-configured for the

actuators.

8 22-Apr-14 CCT: Connect and Control Things

Contents

• Introduction

• Extending SenML Capabilities

• Architectural Design and Novel Capabilities

• Prototype Android Application

• Performance Evaluation and Optimization

• Use Cases

• Conclusion

22-Apr-14 CCT: Connect and Control Things 9

Gateway Centric IoT Architecture

22-Apr-14 CCT: Connect and Control Things 10

Software Architecture of CCT

22-Apr-14 CCT: Connect and Control Things 11

Device and Endpoint Discovery Module

• Based on CoRE link approach and performed in two steps – GET request to retrieve the descriptions of M2M Devices.

• resource type and attributes including location, id, name, and software version of the device.

– GET request to retrieve the descriptions of M2M endpoints attached to those devices. • id – the resource identifier

• Name – human readable name

• Device – link to the connected M2M device

• Location – URI of the endpoint

• Senml – senml metadata

22-Apr-14 CCT: Connect and Control Things 12

User Interface Module

• Parses the metadata from the gateway and displays to users.

• Certain components of the user interface can be dynamically configured. – The value to be sent to an actuator could

be implemented using a slider, input text box or checkbox with numeric values.

• The motivation behind this is to drive the user interface components from the M2M gateway depending on different types of endpoints.

22-Apr-14 CCT: Connect and Control Things 13

Receive Sensor Measurement Module

• Receive the most recent sensor metadata.

– Subscribe to the receive push notification

– Poll the metadata using GET request

• Notification based on predefined rules

– alarms (vibration, sound) or alerts (SMS)

22-Apr-14 CCT: Connect and Control Things 14

Actuator Control Module

• Supports the implementation of SenML extensions for actuators.

• Generates the SenML representation of the command – name, value, unit, location of actuator.

• Metadata is then sent to the M2M gateway using POST over HTTP – The metadata is forwarded to the M2M device

containing the actuator.

– HTTP response 204 is sent back as a feedback.

22-Apr-14 CCT: Connect and Control Things 15

Contents

• Introduction

• Requirement Analysis

• Extending SenML Capabilities

• Architectural Design and Novel Capabilities

• Prototype Android Application

• Performance Evaluation and Optimization

• Use Cases

• Conclusion

22-Apr-14 CCT: Connect and Control Things 16

Prototype Implementation

• Connect and Control Things (CCT)

– developed using cross platform tools PhoneGap 2.9.0 and JQuery Mobile 1.3.1.

• M2M gateway is running in a Google App Engine

• Tested with real and simulated M2M devices and Endpoints

22-Apr-14 CCT: Connect and Control Things 17

CCT

22-Apr-14 CCT: Connect and Control Things 18

Contents

• Introduction

• Extending SenML Capabilities

• Architectural Design and Novel Capabilities

• Prototype Android Application

• Performance Evaluation and Optimization – CPU usage & power consumption

– Proposed optimization

• Use Cases

• Conclusion

22-Apr-14 CCT: Connect and Control Things 19

CPU Usage Results

22-Apr-14 CCT: Connect and Control Things 20

Android Device

Device and Endpoint Discovery

Parsing Sensor Values

Sensor & Actuator Data Representation

in UI

Archos Tablet

32% 37% 4%

Nexus S 41% 40% 8%

Nexus 7 35% 36% 3%

Power Consumption Results

• Measured using Power Tutor

22-Apr-14 CCT: Connect and Control Things 21

Device Power Consumption (mW)

Mobile Data Wi-Fi

Archos Tablet 723 592

Nexus S 819 718

Nexus 7 (Wi-Fi only) -- 479

Optimization Techniques

• Intelligent filtering at Gateway

• Reducing metadata content

• MQTT based implementation

22-Apr-14 CCT: Connect and Control Things 22

Contents

• Introduction

• Extending SenML Capabilities

• Architectural Design and Novel Capabilities

• Prototype Android Application

• Performance Evaluation and Optimization

• Use Cases

• Conclusion

22-Apr-14 CCT: Connect and Control Things 23

Use Cases

• Gateway Centric IoT architecture suitable for

– Smart Agriculture

– E-Health

– Smart Home

22-Apr-14 CCT: Connect and Control Things 24

Contents

• Introduction

• Extending SenML Capabilities

• Architectural Design and Novel Capabilities

• Prototype Android Application

• Performance Evaluation and Optimization

• Use Cases

• Conclusion

22-Apr-14 CCT: Connect and Control Things 25

Conclusion

• Presented a mobile application for real time interaction with smart and legacy endpoints.

• Application performs automatic discovery of devices and benefits from SenML based implementations.

• Support for actuators through SenML implementation.

• Performance evaluation and optimization techniques.

22-Apr-14 CCT: Connect and Control Things 26

22-Apr-14 CCT: Connect and Control Things 27

Back up slides

22-Apr-14 CCT: Connect and Control Things 28

Example of SenML Extensions

<senml bn=urn:dev:mac:6399877 xbif="a">

<e n="temp" t="0" v=“25" u="Cel" uism="slider" xar="10:40/>

</senml>

22-Apr-14 CCT: Connect and Control Things 29

• Temperature controlling actuator

• Allowed range is 10-40 degree Celsius

• The allowed range is represented using a slider

• Requesting a change to 25 degree Celsius

PUSH Notification

22-Apr-14 CCT: Connect and Control Things 30

Operational flow of CCT

22-Apr-14 CCT: Connect and Control Things 31