Voor de technisch geinteresseerden hier enige info over de integratie van SignalK in OpenCPN.
Dit maakt het mogelijk om eenvoudig NMEA183 en NMEA2000 te gebruiken in OpenCPN.
Dit kan overigens nu ook al.
Maar ingebouwd/aangehangen aan OpenCPN maakt het eenvoudiger.
Tekst uit het gisteren verschenen bericht de ontwikkelaar(s) van OpenCPN.
Dit is overigens nog maar een eerste stap.
De tekst.
Signal K Implementation
Hello all...
After exhausting ourselves discussing SignalK at a theoretical level ...
Signal Kit is time to investigate a practical implementation.
As "proof of concept", I have implemented a SignalK client model as an integral OCPN connection type. This work is an extension of the excellent work of Anders {BALP}, as part of an un-integrated Pull Request first seen in August, 2018.
Notes:
1. Server: Tested with node.js SignalK server, as supplied with OpenPlotter, installed on rPI 3+. Also works with Artemis java server, with manual port specification: <ip>:55555.
2. Client: The OCPN core with new integral SignalK client has been tested for basic functionality on Win/Mac/Linux.
3. The OCPN client utilizes mDNS/Bonjour service discovery to make installation easier. Practically speaking, this means that the installer/user does not need to know the ip address and port of any accessible SignalK server. However, not all SignalK servers implement service discovery for the subscription/tcp service used by the OCPN client.
4. When enabled, the OCPN SignalK client subscribes to the basic set of navigation data for ownship. This is essentially a superset of the data that would be contained in a standard NMEA0183 RMC message. Depending upon the sensor configuration of the SignalK server, this data could be derived from serial NMEA, N2K, or other sources (e.g. NMEA logfiles). The OCPN client side does not today discriminate on data source at all.
5. OCPN does not re-transmit any data received via the SignalK interface. He is a pure client for his own internal requirements.
6. OCPN core does not synthesize virtual NMEA0183 messages to feed to Dashboard Plugin. So, the Dashboard is non-responsive to SignalK messages coming from the server. This is work TBD. One approach is to adapt Dashboard to be a SignalK client on it's own, running independent of the OCPN core. This is my preferred solution, and more in the spirit of SignalK client/server model. Of course, there are other 3rd party dashboard apps that also integrate directly with a SignalK server, some of which have graphics superior to our own Dashboard.
7. Performance: There is no noticeable performance hit from decoding JSON on systems tested so far, as compared to standard NMEA via tcp connection.
You may inspect the source code at github, master branch. Pre-built installers are available on the cloudsmith repo, as discussed elsewhere. Hopefully, the "Connections" UI for SignalK will be intuitive.
As we have discussed, there are numerous ways in which a SignalK server might be employed in an integrated OCPN system. I have heard anecdotally about some of them. Most seem to require an advanced level of networking experience to configure and use reliably. I'm hoping that this preview will help us to explore those cases, and so refine the entry-level user requirement for the next OCPN release.
There are still some implementation details to discuss.
I look forward to your comments and test results.
Dave