Displaying location data using raspberry pi 4 connected to reach M2

Hello,
I am fairly new to this technology so bear with me, but I am trying to use a raspberry pi 4 to output location data from an m2 using an app like gpsd. I have the m2 set to serial position streaming using NMEA, and I have it connected to the serial port using some jumper cables. I can see that its communicating using NMEA messages, but it outputs no location data. Does anyone have any tips or had tried to do something similar to this?

Hi, and welcome aboard !

Could you please share an example of the NMEA messages you see ?

Is the M2 connected to an external GNSS antenna and do you see if the solution status in ReachView is something else than “NO SOLUTION” ?

Hello, thanks for the quick reply, an example of the NMEA messages I’m recieving are as follows:

$GNRMC,183317.20,A,4350.6553924,N,07931.4166731,W,0.06,97.31,070722,A61
$GNGGA,183317.20,4350.6553924,N,07931.4166731,W,1,09,1.5,235.543,M,-36.857,M,0.C
$GPGSA,A,3,05,11,12,29,3.0,1.5,2.6
3C
$GLGSA,A,3,88,3.0,1.5,2.62D
$GAGSA,A,3,3.0,1.5,2.6
20
$GBGSA,A,3,14,33,3.0,1.5,2.626
$GPGSV,1,1,04,05,60,228,46,11,61,064,36,12,22,218,37,29,35,311,42
70
$GLGSV,1,1,01,88,55,087,38,50
$GBGSV,1,1,02,14,67,156,39,33,45,193,47,6C
$GNVTG,97.31,T,M,0.06,N,0.11,K,A
19
$GNGST,183317.20,6.600,0.330,0.610,1.000
6C
$GNZDA,183317.20,07,07,2022,00,00*77

I am receiving solutions on the app, but this data looks incomplete. While it seems like the raspberry pi is recieving some of the data through serial, I guess it isn’t enough to make chrony, cgps, or gpsmon to recognize it and display any data. Any idea what the problem could be?

Also, I’m not sure how much this helps, but this is the output every time I run gpsmon:

tcp://localhost:2947 JSON slave driver>
(82) {“class”:“VERSION”,“release”:“3.22”,“rev”:“3.22”,“proto_major”:3,“proto_min
or”:14}
(170) {“class”:“DEVICES”,“devices”:[{“class”:“DEVICE”,“path”:“/dev/ttyS0”,“activ
ated”:“2022-07-08T15:24:47.647Z”,“native”:0,“bps”:9600,“parity”:“N”,“stopbits”:1
,“cycle”:1.00}]}
(122) {“class”:“WATCH”,“enable”:true,“json”:false,“nmea”:false,“raw”:2,“scaled”:
false,“timing”:false,“split24”:false,“pps”:true}

Hi again,

Could you explain more what you mean ?
This data looks fine. There is location data on the GGA message with the expected number of decimals for precise geolocation.

Same here. Do you know more about basic requirements of the Rasp Pi for it to works ?

From the looks of it, I would say the Reach M2 works as expected. So I would investigate the Rasp Pi programs configuration. For instance, I think the “nmea” = false in the gpsmon JSON is something important. Have you tried to change this setting ?
In the gpsmon doc, they speak about a -n option:

The -n option forces gpsmon to request NMEA0183 packets instead of the raw datastream from gpsd.

Also, is the baudrate in this settings (9600) the same than the baudrate in ReachView Position streaming settings ?

Hello,
You’re right, the data looks fine and I’m almost certain that the m2 itself is working properly. As for the raspberry pi programs, I think a lot of setup guides having to do with gpsd are a little outdated. Although, I did not try running gpsmon with the -n option, and I didn’t realize that the baud rate isn’t 115200 like on the reach view app. I will see if this works and get back to you.