With SignalK an attempt was made to create an alternative to established commercial boat bus systems based on open source. The aim is to consolidate a wide variety of sensor data from different bus systems and integrate them into a uniform, flexible and expandable data model, comparable to open source solutions in home automation. SignalK takes on several tasks. On the one hand, data from a wide variety of vehicle electrical systems is processed and, on the other hand, there is the option of visualizing the data individually via websites. SignalK is therefore not a pure bus system but goes far beyond that. The functionality of SignalK can be expanded and adapted to individual tasks using loadable plug-in modules, which is not possible with commercial products. This ensures a certain future viability and investments in hardware that have already been made can be used in the long term. Thanks to cross-manufacturer connectivity, SignalK is often used when modernizing older installations in the refit area.
The makers of SignalK describe it like this:
„Signal K ist die Lösung der nächsten Generation für den Datenaustausch auf See. Es ermöglicht nicht nur die Kommunikation zwischen Instrumente und Sensoren an Bord eines einzigen Schiffes, sondern ermöglicht auch den Datenaustausch zwischen mehreren Booten, Hilfsmitteln Schifffahrt, Brücken, Jachthäfen und andere landgestützte Ressourcen. Es ist so konzipiert, dass es einfach von Web und Mobile verwendet werden kann und Anwendungen in modernen Booten mit dem Internet der Dinge verbindet. In den letzten Jahren ist deutlich geworden, dass ein echter Bedarf an einem neuen Kommunikationsprotokoll für die Marine-Industrie besteht, die den Anforderungen einer sich verändernden und immer stärker vernetzten Welt gerecht wird.“ (SignalK) |
In addition to the classic boat bus systems, other bus systems from electronics and home automation are also integrated. Data from the following bus systems can currently be evaluated and processed:
- NMEA0183
- NMEA2000
- SeaTalk
- SeaTalk NG (NMEA2000 compatible telegrams only)
- SimNet (only NMEA2000 compatible telegrams)
- Micronet (via Gateway)
- Actisense
- J1939 (via Gateway)
- I2C (electronic sensors)
- 1Wire (sensor technology from the electronics sector)
- Bluetooth
The special thing about SignalK is that all bus data is combined in a uniform structured data model. The data model is flexible enough to include future data that is not relevant today. For this purpose, an abstract data model based on JSON is used, in which all sensor data is mapped. The structure of the data model can be viewed here as an example: XXX
SignalK is purely web-based and runs on a Raspberry Pi. The code base is web programming techniques such as HTML, JavaScript, JSON and many others. Ready-made images for the Raspberry Pi are available for SignalK, with which a SignalK server can be set up. SignalK is already integrated ready-to-use in many other open source projects, e.g OpenPlotter and AvNav. SignalK is also available in commercial products such as Smart Boat from Airmar, iCommunicate or Victron.
Table of contents
visualization
The visualization of the sensor data is realized via web apps, which are available for different tasks. This allows web-based instrument dashboards to be created with individualized designs and displayed on end devices that have a web browser. In addition, there is the possibility of implementing your own solutions for visualization with websites without using web apps. This means that all design options can be used for individual solutions. If you transfer the data from the on-board networks, databases such as InfluxDB, there is another possibility of visualization via Grafana. With this combination, real-time data as well as historical data can be displayed and evaluated.
expandability
Thanks to SignalK's good API documentation, many extensions can be implemented. Any data connectors can be created via plug-in and applications can be designed with web apps that can access the data. SignalK has an active community that provides many new plugins and web apps for a wide variety of tasks. There are now more than 226 plugins.
data connection
SignalK is also able to receive sensor data via a web API. With SensESP Matti Airas from Finland has created a library for microcontrollers based on the ESP32, with which it is quite easy to integrate sensor data directly into SignalK via WiFi without using established on-board networks. Through his web shop HatLabs ready-made hardware can be obtained from him.
Sensor data from SignalK can also be transferred to other systems. With MQTT it is possible to transmit live data in IoT databases via cellular connections and to enable telemetry via the Internet. Sensor data can also be stored on the Raspberry Pi in the InfluxDB timeline database. Data can be visualized live or historically with Grafana.
Conclusion
SignalK has established itself in the DIY scene in the marine sector and has built up a good reputation. Due to the extremely good connectivity to a wide variety of bus systems, SignalK offers an excellent basis for cost-effective modernization on boats. Thanks to its web capability, SignalK can be used on almost all end devices that have a web browser and works across all common operating systems such as Windows, MacOS, Linux and Android. Necessary extensions can be added to SignalK using plug-ins. This makes it possible to create a very individually tailored overall system that is not possible with commercial products. An active community drives the development forward and focuses on user interests. The excellent documentation also allows beginners to quickly familiarize themselves with SignalK and to come up with useful solutions.