Below FAQ about IOT Devices, IOT Applications, IOT registration, IOT brokers, etc. etc.
How difficult is to add one more protocol?
Any kind of user can add a new protocol by adding a new Node/Block on NodeRED (IOT Application). This will allow to send the data on Dashboards. Please note that NodeRED library provide a very wide collection of nodes covering any kind of protocols. A large community of developers is also active to create other protocols as soon as they are proposed on the market. The collected data by using Node-RED/IOT App can be saved by the IOT App into the MyKPI Data of the user creating a personal data shadow. And thus the data can be also delegated in access to other users, groups, Organisations or made public.
If the new protocol to be added has to collect data for all the users, so that at level of city, the solutions can be performed by using Node-RED as IOT Application and making them public, or by creating a new ETL Process to be scheduled on DISCES. ETL processes can cope with PULL protocols, for historical data, and not for real time data in push, which can be treated only by using Node-RED.
If the new protocol data need to be collected for all users creating a shadow independent, it can be done by using Node-RED again, or creating a new process in NIFI. The back office NIFI in Snap4City is presently subscribed to all brokers creating automatically the shadow of data, and being more resilient with respect to Node-RED IOT Applications.
Bidirectional Connections, back and forward, sensors and actuators?
In Snap4City bidirectional connetction in real time, event driven are possible and natural. The solution allows to receive from IOT data driven in push and the processes in Snap4City are ready to react at the messages arriving in the platform, with IOT Applications for example. Moreover, the IOT Applications, as well as the Dashbboards can directly send messages to the IOT devices and other Dashboards and IOT App as well creating actions, virtual actuators in the network. This means that the connections: IOT Device <--> IOT Device, IOT Device <--> Dashboards, IOT Device <--> IOT Applications <--> Dashboards and their combinations are all possible with real time, event driven messages, and depending on the protocol also by using protected end-to-end secured encrypted autheticated communications. For "Back and Forward" we indend exactly the receiving of messages from the back and the forward of them into the backoffice.
See the several packages of Snap4City MicroServices in the BASIC and ADVANCED libraries that you have into BASIC and ADVANCED IOT Applications on cloud or you can download and install from JS Foundation Library of Node-RED. It is possible to add from your self new nodes into your IOT Application on cloud. If you encouter problems to update, install/add more Node/Blocks to your IOT Applications on Snap4CIty please contact US via: https://www.snap4city.org/drupal/contact communicating us the name of IOT App and your nickname on Snap4City. You can even create a new Node from scratch and ingest it by using:
- traditional tutorials of Node-RED. https://nodered.org/docs/creating-nodes/
- using Snap4City: TC9.8 Developing new MicroService TC9.8. Developing new MicroService
- using Snap4City you can create Nodes that are Data Analytics services. So that you can create your Data Analytics in RStudio and automatically save and use into your IOT Applications.
- using Snap4City you can create Nodes that are Data Analytics services TC2.31 - Create Data Analytic Flow
- using snap4city you can create new MicroService: TC9.8. Developing new MicroService they can be direct call to third party REST API (that are External Services)
How can I have additional IOT Applications?
Typically, each user may acitvate a limited number of IOT Applications according to its role and organization. Please note that, many users activate an IOT Application for each flow, while it should be noticed that each IOT Application may have multiple concurrent task flow inside. For each Flow page into an IOT Application page and editor, one can have multple flows. Moreover, each IOT Application may include inside multiple flow (see the + on the right upper corner). All these flows are executed concurrently and thus are independent thread of execution. You may need more IOT Application only when you finisched the memory or CPU of all your IOT Applications.
Snap4City is FiWare compliant in the sense that, Snap4City:
- See this web page: https://www.snap4city.org/drupal/node/467
- uses IOT Orion Broker and thus cope with NGSI V1 and NGSI V2 protocols, at level of general IOT connection and on IOT Applications and Dashboards. Please note that Snap4City is compatible with many other protocols and IOT brokers.
- Improved IOT Orion Broker with the so called Orion Broker Filter (Orion Broker Filter, NGSI Security Wrapper) which as wrapper for NGSI V1 and V2 protocol for enforcing Mutual Autentication, Security, roles, etc.
- produced and release open hardware and open software IOT Devices with mutual authentication and security based for NGSI on: Android, Arduino and ESP32, IOT Button, etc.
- produced and release open hardware and open software IOT Edge with mutual authentication and security based for NGSI on: Raspberry PI, Windows, Linux.
- includes CKAN with Snap4City DataGate tool
All the other tools of Snap4City have been developed and integrated by Snap4City team and are 100% open source. Moreover, Snap4City also is compatibile with many other procols and formats, it can work with a large number of IOT Brokers, data aggregators, etc.
Can we configure own REST APIS as a data source in Snap4City in order to used that data in dashboard creation. for example let say i have a REST API abc.com/devices now i want to use response data in snap4City dashboard.
YES, the simplest manner is to create an IOT Application that exploits the REST API and this IOT Application you can decide to:
-- send data directly event driven in Dashboard using the Snap4City Dashboard MicroServices
-- send data on some registered IOT Broker registered on IOT Directory of Snap4City, and this will post automatically on KB and Elastic Search (data shadown) etc. etc. wizards and dashboards
-- send data on Snap4City MyKPI MicroService, and this will post automatically on KM and Elastic search etc. etc. wizards and dashboards
You can also save, consolidate, your rest API transforming it in a MicroService usable for many colleagues into IOT Applications: TC2.25- Registering external MicroService calling RestCall services, using it on IOT applications https://www.snap4city.org/drupal/node/129
if your REST API is going to use credentials as username and password, we suggest you to save them into MyPersonalData of Snap4City so that the code will not provide clear credentials and you can update from user interface on your personal data profile.
Is there any REST API to add a device a into snap4CIty.
You can attach the IOT Agent to your standard IOT Orion Broker without using the "service" and "ServicePath" directive/feature. From what we know their usage is not mandatory.
The message should pass inside as default as root service. Let us know if your have specific requests. Snap4City is assessing in these day the possibility of extending on that direction.
How Snap4City takes care of data conversion e.g. convert device data (In IoTAgent-JSON, IoTAgent-LWM2M and IoTAgent-UL protocol) to NGSI format and vice versa.
We have two solutions:
- use FiWARE conversion IOTAgent tools. You can use them in your platform however the compatibility of these tools with our orion-filter have to be checked in particular we suggest to not use "service" "service path"
- you can collect data by using an IOT Application and create a JSON conversion into the node-red easily saving data into the IOT Broker... but you have to register the device before... the first may be faster
Is it just showing Active because the device has just added in Snap4City successfully.
What about device management?
The device management is performed via IOT Directory.
HOW TO ADD/Delete a device: https://www.snap4city.org/drupal/node/474
The IOT Directory allows you to:
- register and removal of IOT Brokers of different kind
- register automatically on data shadow and Knowledge base model for IOT discovery on IOT application development and Dashboard development
- IOT device registration and removal on IOT Brokers registered.
We typically demand at the different proprietary Gateways the management of the device in terms of: sw update, monitoring radio signal status, etc.
For monitoring and detecting/alerting the device and sensor status we have:
- A rule based process aside the Knowledge base (servicemap) that perform the assessment on the basis of healthiness rules of different kinds and may be of their combination: periodicity, min/max range, max distance with respect to the last data, etc. The rules can be defined for each kind of sensor and data arriving in the platform:
- A machine learning process that we are finalizing for detecting anomalies in real time on the basis of a more sophisticated solution and model.
In the version that you install on premise or if you are ToolAdmin or RootAdmin in the Data Inspector from the main menu: see slide 34 of https://www.snap4city.org/download/video/barc19/ingest/
you can click on the RED/GREEN DOT of a sensor with the right button of the mouse to see more information as described in those slides.
What about the Healthiness Criteria and Healthiness Value? What is it? Is it to validated the value? What happens if the criteria is not met?
We have in place 3 approached for the Healthiness assessment:
1) the usage of the criteria that is presently not used much
2) an automated verification of the healthiness (the red and green dots you see on the Wizard and Data Inspector. Which become red if the sensor is not providing data since more than 24 hours
3) an approach based on machine learning which is the second red/green dots in the healtiness reported into the Data Inspector. This solution is accessible only for a number of sensors and it is under beta testing.
You can also drop a comment on the page.