M2M communications and internet of things for smart cities
Connect and control things
1. CCT: Connect and Control Things
A Novel Mobile Application to Manage M2M Devices and
Endpoints
Soumya Kanti Datta
Research Engineer, EURECOM, France
Email: soumya-kanti.datta@eurecom.fr
IEEE Ninth International Conference on Intelligent Sensors, Sensor Networks
and Information Processing (ISSNIP 2014)
2. 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
3. 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]
4. 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
5. 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
6. 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
7. 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
8. 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.
822-Apr-14 CCT: Connect and Control Things
9. 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
10. Gateway Centric IoT Architecture
22-Apr-14 CCT: Connect and Control Things 10
12. 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
13. 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
14. 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
15. 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
16. 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
17. 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
19. 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
20. 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%
21. 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
22. Optimization Techniques
• Intelligent filtering at Gateway
• Reducing metadata content
• MQTT based implementation
22-Apr-14 CCT: Connect and Control Things 22
23. 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
24. Use Cases
• Gateway Centric IoT architecture suitable for
– Smart Agriculture
– E-Health
– Smart Home
22-Apr-14 CCT: Connect and Control Things 24
25. 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
26. 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
29. 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