Eclipse sensiNact SensorThings MQTT access¶
The OGC SensorThings 1.1 specification defines a data model and MQTT interface for accessing data from sensor devices. Eclipse sensiNact includes a northbound adapter which translates from the sensiNact core model event notifications to the SensorThings API MQTT notifications. The implementation uses Moquette as an MQTT broker.
Bundles¶
The SensorThings REST interface data type bundle is: org.eclipse.sensinact.gateway.northbound.sensorthings:rest.api:0.0.2, and the implementation bundle is: org.eclipse.sensinact.gateway.northbound.sensorthings:mqtt:0.0.2.
The SensorThings interface requires the sensinact core feature.
Available endpoints¶
The SensorThings MQTT interface is available to all those with subscribe access to the MQTT broker. The topics defined are described in OGC Sensorthings 1.1.
Basic configuration¶
The MQTT interface will run without any configuration, however the jakarta-rest-whiteboard must have a configuration defined in order to activate. A minimal configuration would therefore be:
{
":configurator:resource-version": 1,
":configurator:symbolic-name": "org.eclipse.sensinact.gateway.feature.northbound.mqtt.example",
":configurator:version": "0.0.1",
"sensinact.launcher": {
"features": [
"core-feature",
"northbound-ogc-sensorthings-mqtt-feature"
]
},
"sensiNact.northbound.sensorthings.mqtt": {}
}
Advanced configuration¶
The MQTT broker can be configured using the pid sensiNact.northbound.sensorthings.mqtt and the following properties
host- the host interface to listen on - defaults to"0.0.0.0";port- the insecure port - defaults to1883, set to-1to disablesecure.port- the secure port - defaults to8883, only used ifkeystore.fileis setwebsocket.enable- if true then websocket access is enabled - defaults totruewebsocket.port- the insecure websocket port - defaults to8884, set to-1to disablewebsocket.secure.port- the secure websocket port - defaults to8885, only used ifkeystore.fileis setkeystore.file- the keystore to use for securing connectionskeystore.type- the keystore type - defaults to"jks".keystore.password- the keystore password.keymanager.password- the key password