Download - 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
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
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
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