In the following table, the list of supported protocols and the corresponding tool supporting them is reported.
In addition, Snap4City solution also supports a number of additional protocols by using third party IOT brokers.
So that any IOT Device can be connected. HOW TO: add a device to the Snap4City Platform
In addition to those listed below, additional protocols can be easily added. in July 2019 we have produced a further simplification in this process.
Additional protocols can be easily added. If the protocol is based on:
- PUSH and/or publish-subscribe or PULL, when the new protocol is going to be used only by you
- the easiest solution is to ingest data via a NODE on Node-RED, to have event driven IOT App, to send the data into the Snap4City Services
- see TC9.8, https://www.snap4city.org/drupal/node/217
- see also training https://www.snap4city.org/drupal/node/501
- this will allow you to have Data Shadow and data accessible for you (and for other if you delegate) immediately and also on dashboards, data analytics, IOT Applications, etc.
- the easiest solution is to ingest data via a NODE on Node-RED, to have event driven IOT App, to send the data into the Snap4City Services
- IF the new protocol is going to be used by many users, the easiest solution is to
- If it is provided by an IOT Broker (PUSH and/or publish-subscribe)
- Register a new IOT Broker on IOT Directory (very easy)
- Add a new module on NIFI if the Data Shadow is needed for everybody in the platform: see TC2.27 Add new Broker managing new protocol, and the corresponding NIFI process for indexing,
- this will allow you to have Data Shadow and data accessible for you (and for other if you delegate) immediately and also on dashboards, data analytics, IOT Applications ,etc.
- If it is provided by some server (PULL approach), you can decide to ingest it by
- a NODE on Node-RED, to have event driven IOT App, to send the data into the Snap4City Services see TC9.8, https://www.snap4city.org/drupal/node/217
- an ETL process See TC6.11 Add a new ETL coping with a new Protocol
- In both cases you are going to have Data Shadow and data accessible for you (and for other if you delegate) immediately and also on dashboards, data analytics, IOT Applications ,etc.
- If it is provided by an IOT Broker (PUSH and/or publish-subscribe)
First Case is very simple for non professional users and you do not need to ask the intervention of Snap4City experts you can do from yourself.
All the other cases are also very easy to be developed by starting from the Open Sources of the available modules and tools. Thus we have added all the protocols needed to cover the use cases proposed and requested plus we have added additional protocols as listed above.
Please note that New Protocols can be also added by creating an IOT Agent compliant with IOT Orion Broker (see https://www.fiware.org/developers/catalogue/) in that case, the data/messages will pass from an IOT Orion Broker. If this IOT Broker is connected to Snap4City all the data models will be automatically registered and data ingested.
For the list of High Levels IOT Protocols click here
For the list of SUPPORTED Formats (XML, JSON, GeoJSON, TXT, CVS, GTFS, Datex, XLS, GeoTIFF, KML, WKT, SHP, Excel, CSV, GML, Bin64, BIn, PNG, JPEG, XLSX, DB, OWL, 3N, MP4, IFC, etc.) click here
For the list of the support Ontological models: Km4C, SSN, SAREF, OTN, IOT-LITE, FOAF, DCTERMS, Schema.Org, WGS84, OWL-TIME, GoodRelation.
in the following table, when you see that a protocol is supported at level of IOT Applications means that you can ingest, store, perform data analytics, and show it on Dashboards but passing the data into the Snap4city platform via the IOT Application flows in Node-RED. So that once the data is entered in any channel you have, you can do everything.
|
ETL processes |
Directly via Dashboard Builder |
IOT Orion Broker by Fi-Ware IDAS | CKAN channel DATAGate | ServiceMap, Super ServiceMap | Kurento | HeatMap Server | |
Advanced Smart City API (snap4City/Km4City) | X via MicroServices | X | X | X | ||||
AMQP |
X |
|
|
|||||
COAP |
X |
|
|
X | ||||
MQTT |
X |
X send |
X |
X | ||||
O-DI/O-MI |
(x) |
(x) |
|
|||||
OneM2M (AIOTI) |
(x) |
X |
|
|||||
WebSocket, WebSocket Secure |
X |
|
X |
X | ||||
UL2.0/JSON over HTTP or MQTT |
X |
|
|
X | X | |||
OMA LWM2M over IETF COAP |
X |
X |
|
X | ||||
STOMP |
X |
|
|
|||||
SNMP |
X |
|
|
|||||
TCP |
X |
X |
|
|||||
UDP |
X |
X |
|
|||||
DDS |
X |
|
|
|||||
NGSI9/10 (V1, V2: with certificate; K1, K2; and simple authentication, mutual authentication: added by Snap4City) |
X |
X |
X |
X | ||||
NGSI | X | X | X | X | X | |||
Lora, LoraWAN (also LoraGateway to NGSI) |
via Gateway |
via Gateway |
via Gateway |
via Gateway | ||||
TheThingsNetwork | X | X | ||||||
SigFox |
X |
X |
|
X | ||||
REST API |
X |
X |
(x) |
X | X | X | X | |
HTTP/HTTPS |
X |
X |
X |
HTTP | X | X | X | |
DATEX II |
|
X |
|
|||||
SOAP WSDL |
X |
X |
|
|||||
Twitter (direct and via Twitter Vigilance service) |
X |
Twitter Vigilance |
X |
|||||
|
X Post |
|
|
|||||
Telegram |
X |
|
|
|||||
SMS |
X |
|
|
|||||
|
X |
|
||||||
ODBC/JDBC |
(X) |
X |
X |
X | ||||
MySQL |
X |
X |
X |
X | ||||
SPARQL |
X |
X |
X | |||||
RDF triples generation | X | X | X | |||||
RDF triples ingestion | X | X | ||||||
Mongo |
X |
X |
X |
X | ||||
HBase/Phoenix |
X via smart city API |
X |
X |
X | ||||
SOLR |
X via smart city API |
X |
X |
X | ||||
Elastic Search | X via smart city API | X | X via smart city API | X | ||||
|
X |
X |
(X) |
X | ||||
FTP/FTPS | X | X | ||||||
MODBUS (serial and over IP) | X | X | ||||||
OPC, OPC UA | X | X | ||||||
RS485, RS232, USB | X | |||||||
WFS (GIS) | X | X | X | X | X | |||
WMS (GIS) | X | X | X | X | ||||
Local File System | X | X | ||||||
CKAN Harvesting, Open Data Federated | X via DataGate | X | ||||||
CKAN Read/Write APIs (ingest and publish) | X | X | ||||||
OBD2 procotol for CANBUS monitoring | X (Mobile App) | |||||||
Enfuser Data from FMI | X | |||||||
OAI-PMH | X | |||||||
CSW | X | |||||||
WAF | X | |||||||
TALQ (Http JSON) | X | X | ||||||
ESB | X | X | X | |||||
Workflow Ticketing | X | |||||||
HUE Philips | X | |||||||
Alexa voice Commands | X | |||||||
IKEA home | X | |||||||
TP Link, control and metering | X | |||||||
SONOFF | X | |||||||
Energy Metering | X | |||||||
Controlling Servo Motors | X | |||||||
MS Azure DataBase | X | |||||||
AS400 storage, ODBC IBM | X | |||||||
ISEMC Video Wall Controllers | X | |||||||
KNX | X | |||||||
DALI | X | |||||||
Zigbee | X | |||||||
Enocean | X | |||||||
MOBIUS | X | |||||||
File Upload and Download on HTTP/HTTPS | X | X | ||||||
BACNET | X | |||||||
LD and LOD | X | X | ||||||
Protocol Buffers | X | |||||||
CISCO Meraki | X | |||||||
MS Azure | X | |||||||
RTSP, ONVIF | X | |||||||
AXIS TV cameras | X | |||||||
Copernicus Satellite Services | X | X |
Snap4City Node-RED libararies allows to create IoT Applications on cloud and on edge exploiting:
-
all the above protocols and any other protocol you can connect via Node-RED
-
all the Snap4City MicroServices:
- any storage
- any protocol
- any format
- any event management and distribution, CAP, telegram, email, ftp, WS, etc.
- any IoT broker
- any GIS tool
- Snap4City / Km4City Smart City API
- IOT Directory of Snap4City
- DataGate and CKAN
- DataManager: MyKPI, personal Data, MyPOI, etc.
- Resource Manager, ProcessManager
- Scenarios for What-IF analysis
- Heatmap server
- DISCES
- Dashboard builders
- Dashboard Widdget
- Synoptics
- External Services, micro applications, web pages, etc.
- Virtual Sensors and Actuators
- Direct brokers of any kind
- web pages production and management
- Maps management, WFS, WMS, ServiceMap
- routing, conditional routing, multimodal routing, etc.
- Data Analytics in RStudio, Python, java, mapreduce, spark, etc.
- twitter vigilance, daily and real time
- Social media: facebook, twitter, telegram, etc.
- Copernicus Satellite
- Web Scraping Portia
- notification management
- TV and video streams
- LD and LOD management, and RDF stores, ServiceMap
- Workflow management and integration
- BIM management and integration
- dynamic production of WEB pages, forms, etc.
- etc.