Posts: 582
Threads: 65
Joined: Nov 2016
Reputation:
22
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).
Posts: 341
Threads: 0
Joined: Apr 2016
Reputation:
23
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.
Posts: 582
Threads: 65
Joined: Nov 2016
Reputation:
22
2020-08-29, 02:19 PM
(This post was last modified: 2020-08-29, 02:22 PM by abarrow.)
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?
Posts: 341
Threads: 0
Joined: Apr 2016
Reputation:
23
Yes it will work with nmea0183 to nmea0183 because it must be done for every input.
Posts: 582
Threads: 65
Joined: Nov 2016
Reputation:
22
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...)
Posts: 582
Threads: 65
Joined: Nov 2016
Reputation:
22
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!
Posts: 1,199
Threads: 101
Joined: Mar 2016
Reputation:
71
"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.