OpenMarine

Full Version: Filter and convert incomming NMEA messages
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I'm using a small Seatalk1 to NMEA/USB converter to convert Seatalk1 messages to NMEA sentences, most of it works fine. 
However, the wind seem to ba about 2x the expected values (as read out on the ST60 display). It looks quite like a knots - m/s error. 
The sentences received contains numbers postfixed with M, N and K for m/s, knots, km/h  and should be ok. When these 
sentences are fed into Openplotter (the 1.x version) the wind show up as m/s, but the value is closer knots. 

As the NMEA sentences are generated by the ST1 to NMEA converter the sentences might not be 100% compliant with the standard. 

Is there a config file whwer I can inpout a correction factor to get the numbers into a correct m/s value. As soon as the kplex and Openplotter 
get the correct value (ms/) it can display any unit (m/s, kn, km/h), in my case I prefer m/s.  

All other values from Seatalk1 are correct (as far as I have noticed), wind angle, depth, speed through water, water temperature and a range of
other values, bot from the ST60 instruments and from the E80.

If there is no config file to place a correction factor in or any other simple fix it should be possible to dig into the python scripts to introduce the factor 
there where the NMEA sentences are parsed. However, I don't know which file to start looking. 

A link to my setup.
I would use openplotter-SKfilter. That creates nodered blocks. Then you can modify the code to calc the correct value. Signal K can be converted back to nmea.
Another chance is to modify Signal K I wouldn't recommend that.
Or you make a short program read the data from serial port and send it with udp or tcp to Signal K. In your program you can recalc some values.
there is also the signalK/calibration add on!
I tried the calibration, fist with some I2C values as I'm not onboard, but home.  I struggled to get it to filter the values. I had no problem of making a calibration curve. The path for the signalK stream was confusing, it's normally separated by ".", but the example used "/". I tried both "." and "/" in the SignalK paths. In neither cases did the values seen on the instrument panel change. I also looked for some altereded name in the list in instrument panel. I use environment.inside.humidity (which report 0-1, and not 0-100%), no new variable with .cal or something appended.  Something I overlooked ?
I also have a yakbitz to enter Seatalk data in openplotter and in my case the wind speed and other data were correct. I used the version with NMEA output and a serial-USB port to enter the data since my Yakbitz had no USB output.

By the way, I have now parked the Yakbitz aside. Since a month ago Signal K can read directly the Seatalk data from the source using only a simple optocoupler and connecting it to a GPIO pin. No more arduinos or converting inventions are needed. No more issues with udev, etc.The data enters Signal K pure, unmodified. And the optocoupler usually does not cost more than a couple of euros.
  
[Image: f3Q0bax.png]


[Image: 86477500-d78f2900-bd48-11ea-87f6-875950c462ef.png]
Excellent, I did not look for this protocol in the SignalK server, it came as no surprise that it's now included, many thanks to the implementers.
This is the way to go, I'm upgrading from RPi3 to RPi4 over the winther and this is the path forward.
I have a tablet velcroed to the bulkhead displaying "intrument panel" app. Cool when the laptop (VNC RPi) is closed.

Documentation : https://github.com/SignalK/signalk-serve...k(GPIO).md 

I'm really happy with the progress of OpenPlotter and SignalK.
Hi

I tried this setup on my raspberry 4 with Openplotter.

No luck..

I have 3 ST 60 plus instrument.

They have a connection to Signal K with a USB RS422 converter.
Two of them, I think it was ment for in and out data.

It works but iam missing alot of data and cant send a route to the autopilot.

Should the usb rs 422 converter be removed/deleted before using the optocoupler?

[attachment=2002]
the ST1 optocoupler is only able to receive ST Data from the Instuments.

for both ways you have to look for another gateway.


holger
Ok.

Would be great to get data from the ST instruments.

Anybody have any tips to get the optocoupler working? 

I followed Olewsaa recipe from his blog.

Maybe try another pin?
Pin 04 is normaly for I2C Communications, Try with Pin21.
Pages: 1 2