1. LwM2M IOT Agent in Depth
David Fernández Ros - davidfr@hopu.eu
2. HOP Ubiquitous Introduction
1
We create innovative cities with the goal of
improving life quality. Thanks to the deployment
of Smart POIs (Smart Point of Interaction self-
managing) we achieve co-creation with the citizen,
the tourism experience improvement and city
monitoring.
3. The Smart Spot device
2
Our Smart Spot, developed by the HOPU team, is
ready for integration and development with the
FIWARE infrastructure
It offers many possibilities for Smart Cities, such as:
● Bluetooth Low Energy (iBeacon, Eddystone (Physical
Web))
● Temperature, humidity & pressure monitoring
● Air quality monitoring
● Noise monitoring
● Crowd Monitoring
And many more to come
4. Working with OMA LwM2M
3
A device created following a standard:
For this reason, the Smart Spot is a solution
compatible with most of platforms such as
FIWARE.
5. Connecting the Smart Spot to FIWARE
4
Bootstrap process allows the device to configure
and connect to up to 3 additional servers:
Thanks to the LwM2M Bootstrap Server deployed and
integrated in the Homard platform, it is really easy to
setup the server configuration for a the device.
In this way, anyone can deploy its own LwM2M
IOTAgent with a public server IP and configure the
device to integrate it in FIWARE.
6. Reaching the FIWARE ecosystem via LwM2M
5
FIWARE LWM2M IOTAgent:
Mapping from LwM2M to NGSI 9/10 and viceversa
FIWARE Orion Context Broker:
Publish/Subscribe Context Broker
8. Parsing LwM2M to FIWARE Data Models
7
Protocols:
The IOTAgent Northbound speaks NGSI 9/10:
● Interact with Orion Context Broker
● Receive administrative information such as provisioning.
The IOTAgent Southbound speaks OMA LwM2M:
● Interact with Devices
Mapping:
LwM2M resources must be mapped as OMA NGSI Data
Models
9. IOTAgent mapping configuration methods
8
Device provisioning (administration API):
● Individual provisioning of devices based on its
endpoint name.
Group of devices provisioning (administration API):
● Configure a group of devices for being auto-
provisioned when they register in the agent.
Static provisioning (configuration file):
● Configure static routes that map incoming devices to
different statically configured types.
10. IOTAgent mapping resource types
9
Lazy
LwM2M Read/Write resources such as ‘Timezone’
resource (3/0/15).
Attributes
LwM2M Observable values such as ‘Battery Level’
resource (3/0/9).
Commands
LwM2M Executable resources such as ‘Reboot’ resource
(3/0/4).
13. IOTAgent mapping example
12
Entity (Orion Context Broker)
Incorrect mapping
The entity on Orion Context Broker is not
following any data model.
14. Mappings must use OMA NGSI Data Models
13
Collaborative development
People can contribute to the creation of
new data models via github
The aim is to use ETSI CIM C3IM
standard
Existent data models will be adapted and
the new ones will follow the ETSI CIM
C3IM standard which will be released on
December
15. Mappings must use OMA NGSI Data Models
14
Collaborative development
People can contribute to the creation of
new data models via github
The aim is to use ETSI CIM C3IM
standard
Existent data models will be adapted and
the new ones will follow the ETSI CIM
C3IM standard which will be released on
December
Common data model
...?option=keyValues
16. Current development state
15
Nowadays is receiving updates from community
❖ Upgraded the iotagent-node-lib dependency to the last version which will
allow
● Multiple data model mapping
○ A device must be mapped in several entities or data models to reflect all the possible
information to create powerful interfaces.
○ These data models are related between them.
Device
DeviceModel
AirQualityObserved
SmartSpot
17. Current development state
16
"location": {
"type": "Point",
"coordinates":
[
-3.712247222,
40.423852778
]
},
Nowadays is receiving updates from community
❖ Upgraded the iotagent-node-lib dependency to the last version which will
allow
● Multiple data model mapping
○ A device must be mapped in several entities or data models to reflect all the possible
information to create powerful interfaces.
○ These data models are related between them.
● Complex attributes mapping
○ Data model attributes can be composed by several LwM2M resources, such as
‘location’
18. Current development state
17
Nowadays is receiving updates from community
❖ Upgraded the iotagent-node-lib dependency to the last version which will
allow
● Multiple data model mapping
○ A device must be mapped in several entities or data models to reflect all the possible
information to create powerful interfaces.
○ These data models are related between them.
● Complex attributes mapping
○ Data model attributes can be composed by several LwM2M resources, such as
‘location’
● Security
○ Include security features for LwM2M protocol