SlideShare a Scribd company logo
1 of 27
IoT Agents (Advanced)
OMA Lightweight M2M
Contact email
daniel.moranjimenez@telefonica.com
(Reference Orion Context Broker version: 0.21.0)
http://bit.ly/fiware-iotAgents-lwm2m
• Introduction
• IOT Agents
• Interaction models
• Provisioning APIs
• Lightweight M2M
• IOT Agent development
Outline
FIWARE (IoT) Target: Developers
Context
Broker
App Logic
@FIWARE-Cloud
Desktop/Mobile/Tab
User Interface
Web 3D GE / Advanc
Wirecloud GE / Dash
OAuth2.0
SANTANDER
SMARTSPACES
SEVILLA 2) IoT Providers. Pretty Heterogeneous solutions/skills.
• An incremental approach. Public/Private instances.
• KISS philosophy for most (web)developers.
• Advanced IoT architecture, e.g. for IoT Advanced
Devel.
1) IoT Consumers. Normally not just IoT.
• A single point, API & Protocol for IoT, OpenData, etc.
• Context: Data Entities + Data Entities events.
• A Public & Secured Ecosystem at FIWARE Lab
MultiMedia
Events
Complex
Event
Processing
IoT GEis
Smartcities
OpenData
BigData
Analytics
IoT – Typical Scenario I (fully tested, most used so far)
• Simplest scenario at FIWARE Wiki IoT Architecture.
• Extensively tested with developers. Most Feedback Implemented.
• New features are required (Edge management, more Agents).
IOT Agents
• IoT Architecture
http://bit.ly/iotArchitecture
• Motivation:
– Modular approach
– Deployment flexibility
– Custom IOT Agents
• NGSI Bridge
– Constrained set of interactions
– One entity per device
• Provisioning of devices and group of devices
• Additional services (e.g.: security, device registration,
stats)
Interaction models: Active Attributes
IOT Agent
DB
Device
Protocol
NGSI
Entity information
Interaction
begins
Interaction models: Lazy Attributes
IOT Agent
Device
Protocol
NGSI
Entity
information
Interaction
begins
Requires the IOT Agent to be
registered as a Context Provider
Completely synchronous model
Interaction models: Commands
IOT Agent
Device
Protocol
NGSI
Command
Execution
Interaction
begins
Result Information
Requires the IOT Agent to be
registered as a Context Provider
Device Provisioning: Models
9
Context Broker
IoT Agent
Thinking Things
NGSI
HTTP (2G)
IoT Agent
Thinking Things
Context BrokerApp Backend
Configuration APIDevice Provisioning API
Device Provisioning: Device Provisioning API
{
"name": "Light1",
"entity_name": "TheFirstLight",
"entity_type": "TheLightType",
"attributes": [
{
"name": "attr_name",
"type": "string"
}
],
"lazy": [
{
"name": "luminance",
"type": "lumens"
}
],
"commands": [
{
"name": "commandAttr",
"type": "commandType"
}
]
}
• /iot/devices/:deviceId
• REST CRUD:
– POST
– GET
– DELETE
– PUT
• Service headers:
– Fiware-service
– Fiware-servicepath
• Mandatory
– Name
– Entity_type
• Internal_attributes
Device Provisioning: Configuration API
{
services: [
{
resource: '/deviceTest',
apikey: '801230BJKL23Y24HV8732',
type: 'Light',
trust: '8970A9078A803HAMS’,
commands: [],
lazy: [
{
name: 'luminescence',
type: 'Lumens'
}
],
active: [
{
name: 'status',
type: 'Boolean'
}
]
}
]
}
• /iot/agents/default/servi
ces
• Not exactly REST (check
doc)
• Service headers:
– Fiware-service
– Fiware-servicepath
• Mandatory
– Resource
– Api_key
– Type
Security
• North bound: using PEP Proxies
• South bound: IOTAgent specific
• Use of trust tokens for communicating with other GEs
IOT Agent
PEP Proxy
PEPProxy
Keystone
Simple Demo: Framework Node.js
• Installation
npm install –g iotagent-node-lib
• Command line interface for testing
– agentConsole
– iotAgentTester
• Testing of common IOTA features
– Service management
– Device management
– Context Provider registration
Lightweight M2M IoT Agent
OMA Lightweight M2M
• Based on COAP:
– UDP
– Lightweight payload
– REST Oriented
• Interfaces:
– Bootstrapping
– Client registration
– Device management
– Information reporting
• Object model
– Based on Object and Resource hierarchy (e.g.: /1/12/3)
– OMA Registry
OMA Lightweight M2M: operations
LWM2M
Client
LWM2M
Server
Register (host, port, endpoint, url)
Read /3304/0/5
Write/3304/0/5
Observe /3304/0/5
Notify /3304/0/5
Lightweight M2M IOT Agent
• Github project
https://github.com/telefonicaid/lightweightm2m-iotagent
• Work in progress
• Quickstart guides
• OMA Registry mapping
– Default lazy mapping for attributes not declared
– Attributes can be declared as active using the resource name
– Custom mappings by type using Device Provisioning API:
"internal_attributes": {
"lwm2mResourceMapping": {
"TheTemperature" : {
"objectType": 34000,
"objectInstance": 0,
"objectResource": 5
} }
Advanced Demo: Lightweight M2M
• Installation
npm install –g lwm2m-node-lib
• Command line interface for testing
– iotagent-lwm2m-server
– iotagent-lwm2m-client
• Test the protocol or the clients created
Advanced Demo: Lightweight M2M IOTA
• Installation
npm install –g lightweightm2m-iotagent
• Command line interfaces for testing
– In the LWM2M IOTA Project
• Testing of specific LWM2M IOTA features
– Client registering
– Message sending
– Context Providers
IoT Agent Development
Building an IoT Agent: Overview
• Frameworks: Node.js and C++
• North bound features provided by the platform:
– NGSI Context Provision server
– NGSI Client
– Device Provisioning API
– Configuration API
• All South bound features are protocol specific
– External library
– Ad-hoc development
IOT Agent
Building an IoT Agent: Node.js
• Device registry (in-memory or MongoDB)
• Group Registry (in-memory or MongoDB)
• Module provided in NPM Registry:
– Add it to your package.json
– Require it as any other module
Context Server
NGSI Client
Device
Protocol
Device
Registry
Group
Registry
Provision Server
Building an IoT Agent: Node.js
• Handlers
– setDataQueryHandler()
– setDataUpdateHandler()
– setConfigurationHandler()
– setCommandHandler()
• API Operations (most important)
– Activate()
– Deactivate()
– Register()
– Update()
• Registry operations
– listDevices()
– getDeviceByName()
Building an IoT Agent: Node.js
• Available IoT Agents
– OMA Lightweight M2M
– Sigfox
– Thinking Things Closed
Exercises
• Suggestion: deploy your local IOT Agent.
• Alternative: workshop IOTAgent
– IP: 130.206.80.48
– Port: 9500
• Exercise descriptions (and this presentation) in SlideShare
• Prerequisites:
– Rest clients
– Node.js (environment)
• Nice to have:
– Node.js programming skills
Resources
• Github Projects:
– Node.js IOT Agent framework
https://github.com/telefonicaid/iotagent-node-lib
– C++ IOT Agent framework
https://github.com/telefonicaid/fiware-IoTAgent-Cplusplus
– Node.js LWM2M Library
https://github.com/telefonicaid/lwm2m-node-lib
– LWM2M IOT Agent
https://github.com/telefonicaid/lightweightm2m-iotagent
• IoT Architecture
http://bit.ly/iotArchitecture
• COAP
https://tools.ietf.org/html/rfc7252
• Lightweight M2M
http://openmobilealliance.org/about-oma/work-program/m2m-enablers/
BACKUP SLIDES
Backup slides
27

More Related Content

What's hot

Introduction to FIWARE Cloud & Context Broker
Introduction to FIWARE Cloud & Context BrokerIntroduction to FIWARE Cloud & Context Broker
Introduction to FIWARE Cloud & Context BrokerFermin Galan
 
Orion Context Broker
Orion Context Broker Orion Context Broker
Orion Context Broker TIDChile
 
FIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE
 
A Complete IoT Backend Infrastructure in FIWARE
A Complete IoT Backend Infrastructure in FIWAREA Complete IoT Backend Infrastructure in FIWARE
A Complete IoT Backend Infrastructure in FIWAREFIWARE
 
Developing your first application using FI-WARE
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WAREFermin Galan
 
Fiware IoT_IDAS_intro_ul20_v2
Fiware IoT_IDAS_intro_ul20_v2Fiware IoT_IDAS_intro_ul20_v2
Fiware IoT_IDAS_intro_ul20_v2FIWARE
 
End-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTEnd-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTBenjamin Cabé
 
Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8Fermin Galan
 
Developing an IoT System FIWARE Based from the Scratch
Developing an IoT System FIWARE Based from the ScratchDeveloping an IoT System FIWARE Based from the Scratch
Developing an IoT System FIWARE Based from the ScratchFIWARE
 
Cosmos, Big Data GE implementation in FIWARE
Cosmos, Big Data GE implementation in FIWARECosmos, Big Data GE implementation in FIWARE
Cosmos, Big Data GE implementation in FIWAREFernando Lopez Aguilar
 
FIWARE Tech Summit - FIWARE IoT Agents
FIWARE Tech Summit - FIWARE IoT AgentsFIWARE Tech Summit - FIWARE IoT Agents
FIWARE Tech Summit - FIWARE IoT AgentsFIWARE
 
An Introduction to Eclipse Kura - Eclipse Day Florence 2014
An Introduction to Eclipse Kura - Eclipse Day Florence 2014An Introduction to Eclipse Kura - Eclipse Day Florence 2014
An Introduction to Eclipse Kura - Eclipse Day Florence 2014Eurotech
 

What's hot (16)

Introduction to FIWARE IoT
Introduction to FIWARE IoTIntroduction to FIWARE IoT
Introduction to FIWARE IoT
 
Introduction to FIWARE Cloud & Context Broker
Introduction to FIWARE Cloud & Context BrokerIntroduction to FIWARE Cloud & Context Broker
Introduction to FIWARE Cloud & Context Broker
 
Orion Context Broker
Orion Context Broker Orion Context Broker
Orion Context Broker
 
FIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large Scale
 
A Complete IoT Backend Infrastructure in FIWARE
A Complete IoT Backend Infrastructure in FIWAREA Complete IoT Backend Infrastructure in FIWARE
A Complete IoT Backend Infrastructure in FIWARE
 
Developing your first application using FI-WARE
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WARE
 
Fiware IoT_IDAS_intro_ul20_v2
Fiware IoT_IDAS_intro_ul20_v2Fiware IoT_IDAS_intro_ul20_v2
Fiware IoT_IDAS_intro_ul20_v2
 
End-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTEnd-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoT
 
Fiware, the future internet
Fiware, the future internetFiware, the future internet
Fiware, the future internet
 
Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8
 
Developing an IoT System FIWARE Based from the Scratch
Developing an IoT System FIWARE Based from the ScratchDeveloping an IoT System FIWARE Based from the Scratch
Developing an IoT System FIWARE Based from the Scratch
 
5c8605.ado.net
5c8605.ado.net5c8605.ado.net
5c8605.ado.net
 
Cosmos, Big Data GE implementation in FIWARE
Cosmos, Big Data GE implementation in FIWARECosmos, Big Data GE implementation in FIWARE
Cosmos, Big Data GE implementation in FIWARE
 
FIWARE Tech Summit - FIWARE IoT Agents
FIWARE Tech Summit - FIWARE IoT AgentsFIWARE Tech Summit - FIWARE IoT Agents
FIWARE Tech Summit - FIWARE IoT Agents
 
An Introduction to Eclipse Kura - Eclipse Day Florence 2014
An Introduction to Eclipse Kura - Eclipse Day Florence 2014An Introduction to Eclipse Kura - Eclipse Day Florence 2014
An Introduction to Eclipse Kura - Eclipse Day Florence 2014
 
OpenStack Keystone
OpenStack KeystoneOpenStack Keystone
OpenStack Keystone
 

Similar to IoT Agents (With Lightweight M2M)

Connecting Heterogeneus IoT Technologies & Products
Connecting Heterogeneus IoT Technologies & ProductsConnecting Heterogeneus IoT Technologies & Products
Connecting Heterogeneus IoT Technologies & ProductsFIWARE
 
Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8FIWARE
 
FIWARE IoT Proposal & Community
FIWARE IoT Proposal & CommunityFIWARE IoT Proposal & Community
FIWARE IoT Proposal & CommunityFIWARE
 
FIWARE Developers Week_IoT Agents with Thinking Things and OMA lightweight M...
 FIWARE Developers Week_IoT Agents with Thinking Things and OMA lightweight M... FIWARE Developers Week_IoT Agents with Thinking Things and OMA lightweight M...
FIWARE Developers Week_IoT Agents with Thinking Things and OMA lightweight M...FIWARE
 
Creator IoT Framework
Creator IoT FrameworkCreator IoT Framework
Creator IoT FrameworkPaul Evans
 
Fiware IoT Proposal & Community
Fiware IoT Proposal & Community Fiware IoT Proposal & Community
Fiware IoT Proposal & Community TIDChile
 
A microservice architecture based on golang
A microservice architecture based on golangA microservice architecture based on golang
A microservice architecture based on golangGianfranco Reppucci
 
Kubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster SystemKubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster SystemTomoya Fujita
 
AWS Lambda and Serverless framework: lessons learned while building a serverl...
AWS Lambda and Serverless framework: lessons learned while building a serverl...AWS Lambda and Serverless framework: lessons learned while building a serverl...
AWS Lambda and Serverless framework: lessons learned while building a serverl...Luciano Mammino
 
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015SenZations Summer School
 
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS TechnologyIoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS TechnologyOpen Mobile Alliance
 
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3Adam Dunkels
 
DCEU 18: Docker Enterprise Platform and Architecture
DCEU 18: Docker Enterprise Platform and ArchitectureDCEU 18: Docker Enterprise Platform and Architecture
DCEU 18: Docker Enterprise Platform and ArchitectureDocker, Inc.
 
Scalable Open-Source IoT Solutions on Microsoft Azure
Scalable Open-Source IoT Solutions on Microsoft AzureScalable Open-Source IoT Solutions on Microsoft Azure
Scalable Open-Source IoT Solutions on Microsoft AzureMaxim Ivannikov
 

Similar to IoT Agents (With Lightweight M2M) (20)

FIWARE IoT Introduction 1
FIWARE IoT Introduction 1FIWARE IoT Introduction 1
FIWARE IoT Introduction 1
 
Connecting Heterogeneus IoT Technologies & Products
Connecting Heterogeneus IoT Technologies & ProductsConnecting Heterogeneus IoT Technologies & Products
Connecting Heterogeneus IoT Technologies & Products
 
Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8
 
FIWARE IoT Proposal & Community
FIWARE IoT Proposal & CommunityFIWARE IoT Proposal & Community
FIWARE IoT Proposal & Community
 
What is an IoT Agent
What is an IoT AgentWhat is an IoT Agent
What is an IoT Agent
 
Deep Dive on AWS IoT Core
Deep Dive on AWS IoT CoreDeep Dive on AWS IoT Core
Deep Dive on AWS IoT Core
 
AWS IoT Deep Dive
AWS IoT Deep DiveAWS IoT Deep Dive
AWS IoT Deep Dive
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
FIWARE Developers Week_IoT Agents with Thinking Things and OMA lightweight M...
 FIWARE Developers Week_IoT Agents with Thinking Things and OMA lightweight M... FIWARE Developers Week_IoT Agents with Thinking Things and OMA lightweight M...
FIWARE Developers Week_IoT Agents with Thinking Things and OMA lightweight M...
 
Creator IoT Framework
Creator IoT FrameworkCreator IoT Framework
Creator IoT Framework
 
Fiware IoT Proposal & Community
Fiware IoT Proposal & Community Fiware IoT Proposal & Community
Fiware IoT Proposal & Community
 
Connecting to AWS IoT
Connecting to AWS IoTConnecting to AWS IoT
Connecting to AWS IoT
 
A microservice architecture based on golang
A microservice architecture based on golangA microservice architecture based on golang
A microservice architecture based on golang
 
Kubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster SystemKubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster System
 
AWS Lambda and Serverless framework: lessons learned while building a serverl...
AWS Lambda and Serverless framework: lessons learned while building a serverl...AWS Lambda and Serverless framework: lessons learned while building a serverl...
AWS Lambda and Serverless framework: lessons learned while building a serverl...
 
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
 
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS TechnologyIoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
 
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
 
DCEU 18: Docker Enterprise Platform and Architecture
DCEU 18: Docker Enterprise Platform and ArchitectureDCEU 18: Docker Enterprise Platform and Architecture
DCEU 18: Docker Enterprise Platform and Architecture
 
Scalable Open-Source IoT Solutions on Microsoft Azure
Scalable Open-Source IoT Solutions on Microsoft AzureScalable Open-Source IoT Solutions on Microsoft Azure
Scalable Open-Source IoT Solutions on Microsoft Azure
 

Recently uploaded

Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 

Recently uploaded (20)

Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 

IoT Agents (With Lightweight M2M)

  • 1. IoT Agents (Advanced) OMA Lightweight M2M Contact email daniel.moranjimenez@telefonica.com (Reference Orion Context Broker version: 0.21.0) http://bit.ly/fiware-iotAgents-lwm2m
  • 2. • Introduction • IOT Agents • Interaction models • Provisioning APIs • Lightweight M2M • IOT Agent development Outline
  • 3. FIWARE (IoT) Target: Developers Context Broker App Logic @FIWARE-Cloud Desktop/Mobile/Tab User Interface Web 3D GE / Advanc Wirecloud GE / Dash OAuth2.0 SANTANDER SMARTSPACES SEVILLA 2) IoT Providers. Pretty Heterogeneous solutions/skills. • An incremental approach. Public/Private instances. • KISS philosophy for most (web)developers. • Advanced IoT architecture, e.g. for IoT Advanced Devel. 1) IoT Consumers. Normally not just IoT. • A single point, API & Protocol for IoT, OpenData, etc. • Context: Data Entities + Data Entities events. • A Public & Secured Ecosystem at FIWARE Lab MultiMedia Events Complex Event Processing IoT GEis Smartcities OpenData BigData Analytics
  • 4. IoT – Typical Scenario I (fully tested, most used so far) • Simplest scenario at FIWARE Wiki IoT Architecture. • Extensively tested with developers. Most Feedback Implemented. • New features are required (Edge management, more Agents).
  • 5. IOT Agents • IoT Architecture http://bit.ly/iotArchitecture • Motivation: – Modular approach – Deployment flexibility – Custom IOT Agents • NGSI Bridge – Constrained set of interactions – One entity per device • Provisioning of devices and group of devices • Additional services (e.g.: security, device registration, stats)
  • 6. Interaction models: Active Attributes IOT Agent DB Device Protocol NGSI Entity information Interaction begins
  • 7. Interaction models: Lazy Attributes IOT Agent Device Protocol NGSI Entity information Interaction begins Requires the IOT Agent to be registered as a Context Provider Completely synchronous model
  • 8. Interaction models: Commands IOT Agent Device Protocol NGSI Command Execution Interaction begins Result Information Requires the IOT Agent to be registered as a Context Provider
  • 9. Device Provisioning: Models 9 Context Broker IoT Agent Thinking Things NGSI HTTP (2G) IoT Agent Thinking Things Context BrokerApp Backend Configuration APIDevice Provisioning API
  • 10. Device Provisioning: Device Provisioning API { "name": "Light1", "entity_name": "TheFirstLight", "entity_type": "TheLightType", "attributes": [ { "name": "attr_name", "type": "string" } ], "lazy": [ { "name": "luminance", "type": "lumens" } ], "commands": [ { "name": "commandAttr", "type": "commandType" } ] } • /iot/devices/:deviceId • REST CRUD: – POST – GET – DELETE – PUT • Service headers: – Fiware-service – Fiware-servicepath • Mandatory – Name – Entity_type • Internal_attributes
  • 11. Device Provisioning: Configuration API { services: [ { resource: '/deviceTest', apikey: '801230BJKL23Y24HV8732', type: 'Light', trust: '8970A9078A803HAMS’, commands: [], lazy: [ { name: 'luminescence', type: 'Lumens' } ], active: [ { name: 'status', type: 'Boolean' } ] } ] } • /iot/agents/default/servi ces • Not exactly REST (check doc) • Service headers: – Fiware-service – Fiware-servicepath • Mandatory – Resource – Api_key – Type
  • 12. Security • North bound: using PEP Proxies • South bound: IOTAgent specific • Use of trust tokens for communicating with other GEs IOT Agent PEP Proxy PEPProxy Keystone
  • 13. Simple Demo: Framework Node.js • Installation npm install –g iotagent-node-lib • Command line interface for testing – agentConsole – iotAgentTester • Testing of common IOTA features – Service management – Device management – Context Provider registration
  • 15. OMA Lightweight M2M • Based on COAP: – UDP – Lightweight payload – REST Oriented • Interfaces: – Bootstrapping – Client registration – Device management – Information reporting • Object model – Based on Object and Resource hierarchy (e.g.: /1/12/3) – OMA Registry
  • 16. OMA Lightweight M2M: operations LWM2M Client LWM2M Server Register (host, port, endpoint, url) Read /3304/0/5 Write/3304/0/5 Observe /3304/0/5 Notify /3304/0/5
  • 17. Lightweight M2M IOT Agent • Github project https://github.com/telefonicaid/lightweightm2m-iotagent • Work in progress • Quickstart guides • OMA Registry mapping – Default lazy mapping for attributes not declared – Attributes can be declared as active using the resource name – Custom mappings by type using Device Provisioning API: "internal_attributes": { "lwm2mResourceMapping": { "TheTemperature" : { "objectType": 34000, "objectInstance": 0, "objectResource": 5 } }
  • 18. Advanced Demo: Lightweight M2M • Installation npm install –g lwm2m-node-lib • Command line interface for testing – iotagent-lwm2m-server – iotagent-lwm2m-client • Test the protocol or the clients created
  • 19. Advanced Demo: Lightweight M2M IOTA • Installation npm install –g lightweightm2m-iotagent • Command line interfaces for testing – In the LWM2M IOTA Project • Testing of specific LWM2M IOTA features – Client registering – Message sending – Context Providers
  • 21. Building an IoT Agent: Overview • Frameworks: Node.js and C++ • North bound features provided by the platform: – NGSI Context Provision server – NGSI Client – Device Provisioning API – Configuration API • All South bound features are protocol specific – External library – Ad-hoc development
  • 22. IOT Agent Building an IoT Agent: Node.js • Device registry (in-memory or MongoDB) • Group Registry (in-memory or MongoDB) • Module provided in NPM Registry: – Add it to your package.json – Require it as any other module Context Server NGSI Client Device Protocol Device Registry Group Registry Provision Server
  • 23. Building an IoT Agent: Node.js • Handlers – setDataQueryHandler() – setDataUpdateHandler() – setConfigurationHandler() – setCommandHandler() • API Operations (most important) – Activate() – Deactivate() – Register() – Update() • Registry operations – listDevices() – getDeviceByName()
  • 24. Building an IoT Agent: Node.js • Available IoT Agents – OMA Lightweight M2M – Sigfox – Thinking Things Closed
  • 25. Exercises • Suggestion: deploy your local IOT Agent. • Alternative: workshop IOTAgent – IP: 130.206.80.48 – Port: 9500 • Exercise descriptions (and this presentation) in SlideShare • Prerequisites: – Rest clients – Node.js (environment) • Nice to have: – Node.js programming skills
  • 26. Resources • Github Projects: – Node.js IOT Agent framework https://github.com/telefonicaid/iotagent-node-lib – C++ IOT Agent framework https://github.com/telefonicaid/fiware-IoTAgent-Cplusplus – Node.js LWM2M Library https://github.com/telefonicaid/lwm2m-node-lib – LWM2M IOT Agent https://github.com/telefonicaid/lightweightm2m-iotagent • IoT Architecture http://bit.ly/iotArchitecture • COAP https://tools.ietf.org/html/rfc7252 • Lightweight M2M http://openmobilealliance.org/about-oma/work-program/m2m-enablers/