This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
SKfilter and NMEA0183 out
#1
Hi all,
I've been working with SKFilter to eliminate some faulty HDM data coming from one of my sensors. I was finally able to filter out the incoming string, and my nav station display is working well.
Then I tried my Android tablet, which is running OpenCPN 5.0, so it needs to connect using NMEA rather than SignalK. Unfortunately, my problem was back on just that display.
So, I guess my question is, is the SignalK to NMEA conversion happening before the SKFilter app? (Hopefully that makes sense).
Reply
#2
All NMEA0183 in SignalK are send directly to port 10110. SKFilter couldn't work there. (This is the reason why we didn't drop kplex.)

But you can use nmea0183 to nmea0183 and select only the sentence you want to send to a device or network. (SKFilter doesn't work here.)
You can't use port 10110! Create a device with a different port.
Reply
#3
Okay, understood. Thanks very much for the help. I'm not sure nmea0183 to nmea0183 would work in this case, because my problem is with the same string (HDM) coming from two different devices and one of the strings being wrong. I only want to filter from a single device.

I'll use KPLEX and a different port. I guess now I'll need to create a KPLEX port that will send NMEA0183 to SignalK and another port that will send to a TCP port?
Reply
#4
Yes it will work with nmea0183 to nmea0183 because it must be done for every input.
Reply
#5
Well, I tried until it got too hot on the boat to do anymore. I just couldn't get it to work. I set up output strings on my wind transducer input and my ais/GPS/Seatalk translator, and then set up the same strings on two separate nmea0183 to nmea0183 plugin connections. I then set both plugin connections to have the same "padoutput" string, and created a corresponding UDP serial connection on the server. Then I checked the strings I wanted on each plugin connection.

I seemed like I was only getting one of the nmea-nmea plugin connections to do anything - I never saw the set of strings from the other connection.

Instead of the single "padoutput" strings on the two plugin connections, should I use different strings and put them both in my outgoing serial connection? (just thought of that now that I'm home and in the air conditioning! Maybe my brain was frying a little...)
Reply
#6
Okay, I'm really struggling with this. All I want to do is use OpenPlotter as an NMEA multiplexer from two inputs, and filter both the inputs so that only the strings I want are coming from both sources. I can't seem to get KPLEX to work the way I want, even after doing a work around (symbolic link from /home/pi/.kplex.conf to /etc/kplex.conf) that allows it to start. At the same time, I have a nav station display with OpenCPN, using SignalK as an input. That works fine, after using SKFilter to display the data that I wanted. I can't seem to create an outgoing connection on OpenCPN if I am using SignalK as the input, I guess they are just piping the NMEA data out a port if you set one up - they don't seem to be translating between Signalk and NMEA inside OpenCPN.

The best I can see, using server connections on the SignalK server I can't create an outgoing UDP stream of NMEA data, only incoming. In fact, the only outgoing streams I can see that I can set up are a serial connection, TCP Client, and gpsd. I need a network connection because the tablet I'm using for OpenCPN is connected via WiFi. I couldn't get TCP Client or gpsd to work, even after creating a static IP address on the tablet for the OpenPlotter connection.

I've read the instructions on setting up SignalK connections repeatedly, and I still can't get anything that will work for me.

I'm really stuck!
Reply
#7
"from two inputs"..
What are the inputs? If they're on different serial inputs or different tcp/udp ports you could filter out sentences on the way in.
Reply
#8
(2020-09-01, 10:21 PM)abarrow Wrote: The best I can see, using server connections on the SignalK server I can't create an outgoing UDP stream of NMEA data, only incoming. In fact, the only outgoing streams I can see that I can set up are a serial connection, TCP Client, and gpsd. I need a network connection because the tablet I'm using for OpenCPN is connected via WiFi. I couldn't get TCP Client or gpsd to work, even after creating a static IP address on the tablet for the OpenPlotter connection.

I've read the instructions on setting up SignalK connections repeatedly, and I still can't get anything that will work for me.

I'm really stuck!

You can use the udp-nmea-plugin to send NMEA0183 sentences by UDP.

[Image: 51436944-11788680-1c9f-11e9-9651-bc47144675cc.png]

 I use it with Navionics on Android since a long time. Maybe you can use it to solve your problem.
Reply
#9
(2020-09-02, 07:42 AM)PaddyB Wrote: "from two inputs"..
What are the inputs? If they're on different serial inputs or different tcp/udp ports you could filter out sentences on the way in.

The two inputs are serial - one is a USB connection to a SeaTalk/AIS/GPS device, the other is a RS422 hat.

(2020-09-02, 10:57 AM)monos1 Wrote: You can use the udp-nmea-plugin to send NMEA0183 sentences by UDP.

That sounds like a good thing to try! Thanks. 

Do you know if this plugin is creating NMEA0183 from SignalK, or if it is just taking the NMEA from the ports and putting it directly into the UDP stream? That is my current problem with using TCP port 10110 - there is no filtering (or at least that is what I understand). I also use Navionics and I don't have a problem with using TCP 10110 on that device, as magnetic heading information is not being used by that device. OpenCPN is using the NMEA HDM strings, and one of my devices is sending the wrong HDM data. Seems like a simple thing, doesn't it?
Reply
#10
(2020-09-02, 12:59 PM)abarrow Wrote:
(2020-09-02, 07:42 AM)PaddyB Wrote: "from two inputs"..
What are the inputs? If they're on different serial inputs or different tcp/udp ports you could filter out sentences on the way in.

The two inputs are serial - one is a USB connection to a SeaTalk/AIS/GPS device, the other is a RS422 hat.

Maybe try ignoring the offending sentence in the device serial connection so it doesn't even get in? 


[Image: wfWIOag.png]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)