Connecting the USB GNSS receiver to the SignalK

I did not find detailed step-by-step instructions. What is the correct way to connect the USB GNSS receiver to the SignalK on RaspberryPi? The RaspberryPi is functioning and the SignalK has been installed on it.
11 Replies
Karl-Erik Gustafsson
USB GNSS dongles will appear as serial devices, e.g. /dev/ttyUSB0 or similiar. Then add in Signal K a new data connection. Data type NMEA 0183, source Serial and check if interface listed or enter manually. Check from dongle manual baud rate. Last Apply and reboot SK. Data should apper and Dashboard should have a new connectivity device producing data in.
PaddyB
PaddyB4mo ago
this ai has various manuals preloaded & can often be useful as a first place to ask anything about sigk or openplotter > https://www.perplexity.ai/collections/openmarine-ai-support-SslrWnWdSeuxuzUAkxUVMg https://www.perplexity.ai/search/how-do-i-connect-a-usb-gps-dev-EqzLG2C5TA.zE4_fcVENCA
Владимир Калачихин
Ok, thanks to all.
zweistein
zweistein3mo ago
I have an usb gps device connected to a raspberry pi and use signalk. I use the gpsd daemon. It is however a bit more complicated: The gps daemon gpsd of the standard version (installed via apt) has limitations. sorry I don't recall the details, but the point is about GPS date feeding to raspberry when no internet is present. gpsd version 3.25 has the fixes included, but you must compile locally. My /etc/gpsd file is: Start the gpsd daemon automatically at boot time START_DAEMON="true" Use USB hotplugging to add new USB devices automatically to the daemon USBAUTO="false" Devices gpsd should collect to at boot time. They need to be read/writeable, either by user gpsd or the group dialout. DEVICES="/dev/ttyUSB0" DEVICES="/dev/ttyACM1" Other options you want to pass to gpsd GPSD_OPTIONS="-Gn" I hope that helps Andreas
zweistein
zweistein3mo ago
signalk:
No description
zweistein
zweistein3mo ago
for reliablity a good power supply is needed (check journalctl!) Consider an externally powered hub where the usb gps device is connected
Владимир Калачихин
gpsd is too easy. I was interested in the availability of direct interaction with devices.
Nyte Wishe
Nyte Wishe3mo ago
Hi, I'm doing something similar, but I'm getting an error. First, I wrote a multiplexer that takes the GPS stream in from the USB port and makes it available as a TCP Stream. OpenCPN reads the data (which is in NMEA0183 format) just fine and is displaying location, tracks, etc. However, SignalK server is giving me a constant stream of messages: Aug 03 14:02:17 Are you sure you are using the correct line terminator? Not going to handle lines longer than 2048 chars. Here are the settings for the data connection: Data Type: NMEA0183 Enabled: YES Data Logging: YES ID: GPS NMEA 0182 Source: TCP Client Host: Localhost Port: 10220 Output Events: nmea0183,nmea0183out No data timeout: [blank] Suppress nmea0183 event: NO Input event: [blank] Validate checksum: YES Append Checksum: NO Remove NULL characters: NO Ignored Sentences: [blank] Override timestamps: NO I've done a submit and a restart. No change. When I go to the dashboard, the incoming status indicator is not lit. Is there a way to see what is streaming in that data connection? I do have debug logging enabled on the signalk-to-nmea183 plugin, Additionally, mymultiplexer shows that it is sending data to two consumers. When I restart the SignalK server, for a short time the multiplexer shows sending data to one consumer, and then jumps back up to 2 consumers. This is on a Windows 11 box at the moment. (Yes, I intend to run this on a Raspberry Pi, it's just that my windows box is a better development environment) I'll be making the multiplexer available inboth compiled (Windows, Linux, Raspberry Pi) and source (Rust) formats. And, yes, I do plan on connecting OpenCPN to the signalK server, directly, but first I have to get SignalK reading the [censored] GPS data.
Владимир Калачихин
I wrote a multiplexer that takes the GPS stream in from the USB port and makes it available as a TCP Stream.
gpsd?
Nyte Wishe
Nyte Wishe2mo ago
@Владимир Калачихин No, just a simple application in Rust that reads from the serial port and replicates the data out on a TCP port.

Did you find this page helpful?