FIWARE IoT Agents Webinar - 3rd April 2019
Corresponding webinar recording: https://youtu.be/my6Kgiqx-OM
Chapter: IoT Agents
Difficulty: 1
Audience: Any Technical
How to connect IoT Devices to the Context Broker using an IoT Agent. How to ensure your device is FIWARE Ready.
1. Introduction to
What is an IoT Agent?
Jason Fox, Senior Technical Evangelist
FIWARE Foundation
2. Learning Goals
▪ What is a transport? What is a message protocol?
▪ What do the terms northbound/southbound and
north/south port mean ?
▪ How are commands and measurements processed?
▪ What is an IoT Agent? What does it do?
▪ How can I configure up an IoT Agent over HTTP?
▪ How can I configure an IoT Agent over MQTT?
1
4. FIWARE Catalogue
33
Data/APIManagement
PublicationMonetization
Core Context Management
(Context Broker)
Context
Processing, Analysis, Visualization
Interface to
IoT, Robotics and third party systems
Deploymenttools
3
Development of
Context-aware applications
(Orion, STH-Comet,
Cygnus, QuantumLeap, Draco)
Connection to the
Internet of Things
(IDAS, OpenMTC)
Real-time
processing of
context events
(Perseo)
Handling authorization
and access control to
APIs
(Keyrock, Wilma,
AuthZForce, APInf )
Publication and
Monetization of Context
Information
(CKAN extensions, Data/API
Biz Framework, IDRA)
Creation of
Application Dashboards
(Wirecloud)
Real-time
Processing of media
streams
(Kurento)
Business Intelligence
(Knowage)
Connection to robots
(Fast RTPS,Micro XRCE-DDS)
Big Data
Context Analysis
(Cosmos)
Cloud Edge
(FogFlow)
Documents exchange
(Domibus)
5. Ultralight 2.0 : An IoT Sensor Message Format over HTTP
4
The transport is the
mechanism through which
messages are exchanged. In
the first example the transport
is HTTP
The message protocol is the
format of data exchanged. In
the example we will use
Ultralight 2.0
The South Port of an IoT Agent
is listening to traffic from IoT
Devices
6. IoT Agent for Ultralight 2.0 over HTTP
5
The IoT Agent translates an IoT specific protocol
(in this case UltraLight 2.0) into NSGI v2
The North Port of an IoT Agent is listening to
traffic from the Context Broker
The North Port of an IoT Agent is also used
during configuration
For HTTP Transports the South Port of an IoT
Agent is listening to traffic from IoT Devices.
7. Northbound Traffic : Processing a Measurement
Requests generated from an IoT device
and passed back upwards towards the
Context Broker (via an IoT agent) are
known as northbound traffic.
Northbound traffic consists of
measurements made by sensor devices
and relays the state of the real world
into the context data of the system.
6
8. Southbound Traffic : Processing a Command
HTTP requests generated by the
Orion Context Broker and passed
downwards towards an IoT
device (via an IoT agent) are
known as southbound traffic.
Southbound traffic consists of
commands made to actuator
devices which alter the state of
the real world by their actions.
7
9. IoT Agent for Ultralight 2.0 over MQTT
8
Every IoT Agent supports a single message
format
Some IoT Agents can be configured to use
alternative transports (e.g. HTTP, MQTT, AMQP)
In all cases, the North Port of an IoT Agent is:
● Listening to traffic from the Context Broker
● Used during configuration
The precise meaning of South Port may differ
according to the transport in use.
10. Summary: Terms
▪ A Message Transport is the mechanism through which data is exchanged
• HTTP is a request-response protocol
• MQTT is a publish-subscribe protocol
• LoRaWAN is a network protocol for battery powered devices
▪ A Message Protocol is the definition of the format of the data
• JSON (JavaScript Object Notation) is a well-known data exchange format
• Ultralight is a simplified ASCII-based data exchange
• Cayenne LPP is an encoded binary data protocol for small payloads
▪ Commands are actions to alter the state of a device. Command are:
• Sent to the North Port of the IoT Agent
• Passed southbound down the stack from the Context Broker to the IoT devices
▪ Measurements are readings from the devices. Measurements are:
• Sent to the South Port of the IoT Agent
• Passed northbound up the stack to the Context Broker
▪ The North Port of an IoT Agent is used:
• By the context broker for sending commands to IoT devices
• General IoT Agent configuration
9
11. Summary: What is an IoT Agent?
▪ IoT Agents overcome common problems in the IoT domain:
• How can I translate my received measurements into a common standard regardless
of the device used?
• How can I abstract my communications so the users are able to remain unaware of
the device specific protocols?
• How can I map data received in a meaningful manner?
▪ An IoT Agent translates an IoT specific protocol into NSGI v2
▪ Any class of devices with an existing IoT Agent can be considered as
FIWARE-Ready device
▪ For unsupported protocols you can build your own agent.
▪ You only need an IoT Agent if your devices can’t support NGSI v2
directly
10