Skip to content

Latest commit

 

History

History
241 lines (167 loc) · 19.6 KB

README.md

File metadata and controls

241 lines (167 loc) · 19.6 KB

Interface to the internet of Things

Connecting IoT devices or “things” involves the need to overcome a common set of problems arising in the different layers of the communication model. Using sensor data or acting upon them requires interaction with a heterogeneous environment of devices running different protocols (due to the lack of globally accepted standards), dispersed and accessible through multiple wireless technologies.

To learn more about the Interface to the internet of Things, check out the documentation

What are IoT Agents?

The IoT Agent (IDAS) component is an implementation of the Backend Device Management GE, according to the FIWARE reference architecture. You are here because you need to connect objects to gather data or interact with them, typical IoT use case scenario . If so, you need to use one of the existing IoT Agents that are part of IDAS.

You need this component if you plan to connect IoT devices/gateways to FIWARE-based ecosystems. IoT Agents translate IoT-specific protocols into the NGSI context information protocol, that is the FIWARE standard data exchange model. You do not need this component if your devices or gateways natively support the NGSI API.

FIWARE-Ready IoT devices are able demonstrate the ability of the IoT solutions to seamless interoperate with FIWARE platforms. Any IoT device which is able to connect to the context broker (either directly or via an IoT Agent) is able to undergo a certification and testing process and can be added to the FIWARE marketplace and labelled as a FIWARE-Ready IoT Device.

Why Use IoT Agents?

By using an IoT Agent , your devices will be represented in a FIWARE platform as NGSI entities in a Context Broker. This means that you can query or subscribe to changes of device parameters status by querying or subscribing to the corresponding NGSI entity attributes at the ContextBroker.

Additionally, you will be able trigger commands to your actuation devices by updating specific command-related attributes in the associated NGSI entities representation at the Context Broker. This way, all hardware interactions with IoT devices can be handled by the Context Broker, using a homogeneous NGSI interface.


IoT Agent Framework Library

License

:octocat: Git Repository 🐳 Docker Hub : None 📚 Documentation 🎓 Academy 🎯 Roadmap

Library for developing your own IoT Agent.

The IoT Agent Framework Library project is part of FIWARE and but is not rated as a standalone component. It is used in the following IoT Agents:

IoT Agent for JSON

License

:octocat: Git Repository quay.io 📚 Documentation 🎓 Academy 🎯 Roadmap

IoT Agent for a JSON based protocol (with AMQP, HTTP and MQTT transports)

This IoT Agent is designed to be a bridge between JSON and the NGSI interface. It follows the standard interaction model defined in the IoT Agent Framework Library.

IoT Agent for Ultralight

License

:octocat: Git Repository quay.io 📚 Documentation 🎓 Academy 🎯 Roadmap

IoT Agent for the Ultralight 2.0 protocol (with AMQP, HTTP and MQTT transports)

This IoT Agent is designed to be a bridge between Ultralight and the NGSI interface. It follows the standard interaction model defined in the IoT Agent Framework Library.

IoT Agent for LoRaWaN

License

:octocat: Git Repository quay.io 📚 Documentation 🎓 Academy 🎯 Roadmap

IoT Agent for the LoRaWAN protocol (with CayenneLpp and CBOR data models)

This IoT Agent is designed to be a bridge between the LoRaWAN protocol and the NGSI interface. It follows the standard interaction model defined in the IoT Agent Framework Library.

IoT Agent for LightWeight Machine2Machine

License

:octocat: Git Repository quay.io 📚 Documentation 🎓 Academy 🎯 Roadmap

IoT Agent accepting COAP requests.

This IoT Agent is designed to be a bridge between the OMA Lightweight M2M protocol and the NGSI interface. It follows the standard interaction model defined in the IoT Agent Framework Library.

🌱 IoT Agent for Sigfox (Incubated)

License

:octocat: Git Repository quay.io 📚 Documentation 🎓 Academy : TBD 🎯 Roadmap

IoT Agent for the Sigfox protocol.

This IoT Agent is designed to be a bridge between the Sigfox protocol and the NGSI interface. It follows the standard interaction model defined in the IoT Agent Framework Library.

🌱 IoT Agent for ADAPT/ISOXML (Incubated)

License

:octocat: Git Repository quay.io 📚 Documentation 🎓 Academy : TBD 🎯 Roadmap

IoT Agent for the ISOXML/ADAPT protocol.

An Internet of Things Agent for the ISO 11783 protocol (with HTTP). This IoT Agent is designed to be a bridge between ISOXML/ADAPT and the NGSI interface of a context broker.

Kurento

License

:octocat: Git Repository 🐳 Docker Hub 📚Documentation 📄 Site 🎓 Academy 🎯 Roadmap

What is Kurento?

The Stream Oriented GE is a development framework that provides an abstraction layer for multimedia capabilities, allowing non-expert developers to include interactive media components to their applications. The Open API is at the heart of this enabler - A REST-like API, based on JSON RPC 2.0, exposing a toolbox of Media Elements that can be chained to create complex media processing pipelines. The Stream Oriented GE provides several client implementations of the Open API. The Java client allows developers to include media capabilities to Java or JEE applications. A JavaScript client is also ready to be used with Node.js or directly in browser applications. Thanks to these, the Stream Oriented GE provides developers with a set of robust end-to-end interoperable multimedia communication capabilities to deal with the complexity of transport, encoding/decoding, processing and rendering tasks in an easy and efficient way.

Why use Kurento?

The development of interactive multimedia applications is a complex task, which usually requires specific expertise and huge investments. Stream Oriented GE brings a number of abstractions and enablers democratizing multimedia technologies and making possible to any WWW developer to create powerful applications involving advanced features such as: interoperable audiovisual communications, computer vision, augmented reality, flexible media playing, recording, etc. The Stream Oriented GE will be particularly useful and intuitive for developers familiar with Java EE and JavaScript technologies, although its capabilities are also exposed through agnostic interoperable network interfaces that can be consumed from any other language of system. In summary, it makes possible the development of complex interactive multimedia communications in a fast, simple and easy way.


🌱 OpenVidu (Incubated)

License

:octocat: Git Repository 🐳 T.B.D. 📚 Site

What is OpenVidu?

The Openvidu Generic Enabler simplifies real-time processing of media streams managed or provided by Kurento, providing a simple HTTP REST API that manages the streams and provides an extra security layer simplifying the transformation of video cameras into sensors as well as the incorporation of advanced application functions (integrated audiovisual communications, augmented reality, flexible media playing and recording, etc

Why Use OpenVidu?

Openvidu is a simple (easy to deploy/ easy to use) way to have advanced media streams processing and communications. It is opensource, compatible with multiple frontend and backend technologies. It provides support for many media transmission protocols. It hides the specifics and allows you to focus in your use case and business logic.

🌱 Open MTC (Incubated)

License

:octocat: Git Repository 🐳 Docker Hub 📚 Documentation 📄 Site 🎓 Academy

A reference implementation of the oneM2M standard, for conducting applied research and developing innovative M2M and IoT applications. It offers an NGSI interface for connection to the Orion Context Broker