An IoT Agent is a component that lets groups of IoT devices send their data to a NGSI Context Broker (such as Orion Context Broker) using their own native protocols and translating them into NGSI.
The IoT Agent Node Lib provides simple standardized REST API for registering, provisioning, discovering and managing devices and groups of devices. It also ensures that each IoT Agent can configure its device communications using a common vocabulary regardless of the payload, syntax or transport protocol used by the device itself
It also provides a common configuration framework driven by a config.js
configuration file and a series of common ENV
variables, configuring some flags for common functionality provided by the IoT Agent node lib (e.g. for contecting
to a Conext Broker or for authenticating with an Identity Manager).Some of common utility functions provided by the
IoT Agent node lib include:
This project is part of FIWARE. For more information check the FIWARE Catalogue entry for the IoT Agents.
:books: Documentation | :mortar_board: Academy | :dart: Roadmap |
---|
This repository contains the common user documentation across all IoT Agents. For particular documentation, you can check the specific documentation for each IoT Agent. You can see the a list of available IoT Agents in the IoT Agents available section.
The following IoT Agents using the IoT Agent Node Lib are available:
The IoT Agent node library is not a standalone product. If you plan to install and use any of the IoT Agents available, you should follow the installation instructions for each IoT Agent (find the link in the previous section). You can find the common API provided by the IoT Agent node library under API documentation.
If you plan to use the IoT Agent node library in your own project or IoT Agent, you should follow the Developer manual, which includes the installation instructions and the usage of the library.
Information about how to configure the IoT agent or the library can be found at the corresponding section of the Administration manual.
The IoT Agent Node Library is licensed under Affero General Public License (GPL) version 3.
© 2022 Telefonica Investigación y Desarrollo, S.A.U
There is absolutely no problem in using a product licensed under AGPL 3.0. Issues with GPL (or AGPL) licenses are mostly related with the fact that different people assign different interpretations on the meaning of the term “derivate work” used in these licenses. Due to this, some people believe that there is a risk in just using software under GPL or AGPL licenses (even without modifying it).
For the avoidance of doubt, the owners of this software licensed under an AGPL-3.0 license wish to make a clarifying public statement as follows:
Please note that software derived as a result of modifying the source code of this software in order to fix a bug or incorporate enhancements is considered a derivative work of the product. Software that merely uses or aggregates (i.e. links to) an otherwise unmodified version of existing software is not considered a derivative work, and therefore it does not need to be released as under the same license, or even released as open source.