OpenMarine
Please simplify the life of 'Signal K non-experts' users ! - Printable Version

+- OpenMarine (https://forum.openmarine.net)
+-- Forum: OpenPlotter (https://forum.openmarine.net/forumdisplay.php?fid=1)
+--- Forum: Feature Requests (https://forum.openmarine.net/forumdisplay.php?fid=5)
+--- Thread: Please simplify the life of 'Signal K non-experts' users ! (/showthread.php?tid=3401)



Please simplify the life of 'Signal K non-experts' users ! - Didier B - 2021-04-21

I went into many difficulties trying to configure signal K to : Huh
  1. Add output to an rs232 VHF (GLL should suffice, 4800 Bd ) ;
  2. add input from rs232 AIS receiver (e.g. AIVDM, 38400Bd) ;
  3. Add Output towards a Pilot (RS232, 4800 Bd) ;
The difficulties were not related to 'RS232' aspects, but to the signal K configuration !
In fact I gave up,  Angry  and following a co-forumer suggestion, I had to connect an extra RS232 GPS to the VHF !

All this should be treated with an AUTO mode, like in "Add to Signal K " or "Add to GPSD" buttons from the Serial Application ...
Off course all the miscellaneous actions to avoid loops should be automatic and behind the curtain  !
Point 1 and 3 could maybe use the same button ?

In the actual state, OP is almost not usable ... Huh


RE: Please simplify the life of 'Signal K non-experts' users ! - SCarns - 2021-04-21

(2021-04-21, 06:50 PM)Didier B Wrote: I went into many difficulties trying to configure signal K to : Huh
  1. Add output to an rs232 VHF (GLL should suffice, 4800 Bd ) ;
  2. add input from rs232 AIS receiver (e.g. AIVDM, 38400Bd) ;
  3. Add Output towards a Pilot (RS232, 4800 Bd) ;
The difficulties were not related to 'RS232' aspects, but to the signal K configuration !
In fact I gave up,  Angry  and following a co-forumer suggestion, I had to connect an extra RS232 GPS to the VHF !

All this should be treated with an AUTO mode, like in "Add to Signal K " or "Add to GPSD" buttons from the Serial Application ...
Off course all the miscellaneous actions to avoid loops should be automatic and behind the curtain  !
Point 1 and 3 could maybe use the same button ?

In the actual state, OP is almost not usable ... Huh

It took me a while to grasp the concepts, also. But once I figured it out, it works just fine. For what it's worth, here's my experience with my VHF:

I connected a usb serial cable to the RX/TX of the radio and plugged it into my RPi. As you stated, I added the connection into the Serial app as NMEA0184 and added it to SK.

In SK, I check the settings and put "VHFLocation" in "Output Events" field. This will be used to open the port to send data TO the VHF. Since my serial connection is bidirectional, I put "VHFAlert" into the "Sentence Event" to RECEIVE any DSC and DSE sentences sent from the radio. That's just the port set up.

Then, and this is the confusing part that I had to mess with to figure out, I had to install and set up the "NMEA0183-to-NMEA0183" plug in to essentially route the NMEA0183 data. In the plugin settings, I created the first filter with the input event of "nmea0183out", set the output event to "VHFLocation", and turned on GGA, GLL, GNS, and RMC, as these are the four NMEA0183 sentences my radio can receive. What this seems to do is every time there is a data even on the NMEA0183out (the main 0183 data stream of SK) it sends GGA, GLL, GNS, and RMC to VHFLocation, which we have routed to the output of the VHF serial connection. On my set, this works beautifully.

Next, I added another input event in the NMEA-to-NMEA plugin that "watches" for a "VHFAlert" event from port and outputs that event to nmea0183out. My radio only sends DSC and DSE sentences, and if it does send them, the plugin dumps them into the SK NMEA0183 data stream. This I'm unsure whether it works or not, as I haven't received any DSC alerts to know whether OpenCPN will pick those up or not, but it should work just fine. Anyone have any feedback on this?

For yours, you'll need an additional port for the AIS side of things, for sure, as the baud rate is different. But the idea is basically the same. You'll set up and receive data on that port. Then, you'll need a channel for it and insert it into the NMEA0183 data stream.

I myself would like have a better understanding of how NMEA data works within SK and what the difference is between nmea0183 and nmea0183out, as the "out" has a lot more data and information in it than nmea0183. Both of those seems to be reserved for SK and ancillary ports (such as VHFAlert or autopilot) must get their data from that stream of information.

Steve


RE: Please simplify the life of 'Signal K non-experts' users ! - PaddyB - 2021-04-21

https://github.com/SignalK/signalk-server/wiki/Events-and-Outputting-Data


RE: Please simplify the life of 'Signal K non-experts' users ! - Didier B - 2021-04-24

(2021-04-21, 07:33 PM)SCarns Wrote: It took me a while to grasp the concepts, also. But once I figured it out, it works just fine. For what it's worth, here's my experience with my VHF:

I connected a usb serial cable to the RX/TX of the radio and plugged it into my RPi. As you stated, I added the connection into the Serial app as NMEA0184 and added it to SK.

In SK, I check the settings and put "VHFLocation" in "Output Events" field. This will be used to open the port to send data TO the VHF. Since my serial connection is bidirectional, I put "VHFAlert" into the "Sentence Event" to RECEIVE any DSC and DSE sentences sent from the radio. That's just the port set up.

Then, and this is the confusing part that I had to mess with to figure out, I had to install and set up the "NMEA0183-to-NMEA0183" plug in to essentially route the NMEA0183 data. In the plugin settings, I created the first filter with the input event of "nmea0183out", set the output event to "VHFLocation", and turned on GGA, GLL, GNS, and RMC, as these are the four NMEA0183 sentences my radio can receive. What this seems to do is every time there is a data even on the NMEA0183out (the main 0183 data stream of SK) it sends GGA, GLL, GNS, and RMC to VHFLocation, which we have routed to the output of the VHF serial connection. On my set, this works beautifully.

Next, I added another input event in the NMEA-to-NMEA plugin that "watches" for a "VHFAlert" event from port and outputs that event to nmea0183out. My radio only sends DSC and DSE sentences, and if it does send them, the plugin dumps them into the SK NMEA0183 data stream. This I'm unsure whether it works or not, as I haven't received any DSC alerts to know whether OpenCPN will pick those up or not, but it should work just fine. Anyone have any feedback on this?

For yours, you'll need an additional port for the AIS side of things, for sure, as the baud rate is different. But the idea is basically the same. You'll set up and receive data on that port. Then, you'll need a channel for it and insert it into the NMEA0183 data stream.

I myself would like have a better understanding of how NMEA data works within SK and what the difference is between nmea0183 and nmea0183out, as the "out" has a lot more data and information in it than nmea0183. Both of those seems to be reserved for SK and ancillary ports (such as VHFAlert or autopilot) must get their data from that stream of information.

Steve
Steve, thanks a lot, your clear explanations preserved me from drowning down !

I couldn't test the results yet, but I sincerely hope it will work ! And as it worked for you, it should
work for everyone, shouldn't it ?

I retain that to set-up a link we have 3 (4?) actions to do :
  • Step 0 : if not yet done, install, in Signal K the NMEA to NMEA plugin ;
  • Step 1 : define the device in SERIAL, and allocate a proper connection to Signal K ;
  • Step 2 : in Signal K / connections : adjust the bit rate if needed, define the input/events,
    or output/events, or both;
  • Step 3 : in signal K / plugin config / 'NMEA to NMEA' plugin : declare the input and/or output/events,
    and select associated NMEA sentences ;
In the lack of any guidelines, what was most obscure and confusing, for me at the beginning,  was whether
output/events and input/events were pre - defined keywords, or arbitrary keywords created freely by the user Huh
Please future doc writer elaborate !

If my understanding is right, they are arbitrary, user created,  keywords ! In this case the question is :
is there, hidden somewhere in the clouds, a mysterious 'Table of the rules' to create such keywords ?
Hum, maybe not  Dodgy Exclamation

(2021-04-21, 07:56 PM)PaddyB Wrote: https://github.com/SignalK/signalk-server/wiki/Events-and-Outputting-Data

Hi PaddyB !
Quite interesting !
I have not yet got 100 % of it, but I am still working at it Confused Smile


RE: Please simplify the life of 'Signal K non-experts' users ! - SCarns - 2021-04-28

Didier B,

YES, that is basically it. I sometimes get lost in the input/output events, as I didn't really understand what was happening. Spending some time in the Server Log turning things on and off to figure out where the data was helped me sort out what goes where and check that the data I think I should be sending is actually being sent.

I'm definitely overloading my VHFLocation sentence, as more data is being sent than can be transported over 0183 at 4800 baud, but it works, so I leave it to the buffers figure that out.

So, if I can figure it out, it most certainly can be done! It was frustrating and I walked away from it once, but I came back and now it's a very powerful thing that provides me with a lot of information. See here: https://forum.openmarine.net/showthread.php?tid=3347


RE: Please simplify the life of 'Signal K non-experts' users ! - Didier B - 2021-04-29

Hi SCarns and all,
when revisiting the data connections in signal K, I have the following questions regarding what to do with :
  • validate checksum (yes) ?

  • Append checksum (no) ?

  • Remove NULL characters(no) ?

  • Ignored sentences ? (should I throw them away here, or leave the plugin do the job ?



  • For AIS (incoming data) I defined "aislocation" as Output Events in the data connection form, same as in the plugin config, is it OK?

Feel free to answer inside my above post, I used a color and leaved free space at this purpose !


RE: Please simplify the life of 'Signal K non-experts' users ! - SCarns - 2021-06-05

Go with the defaults. That's what I did and it all works fine.