Eddygrinder
Eddygrinder

Reputation: 81

How can I fix "network unreachable" error - GPS Neo 7m?

Hardware and Software: GPS NEO 7m, Raspberry PI3, ArchARM

I'm trying to read GPS coordinates [via UART] using this Python program:

    from sys import argv
    import gps
    import requests
    
    #Listen on port 2947 of gpsd
    session = gps.gps("localhost", "2947")
    session.stream(gps.WATCH_ENABLE | gps.WATCH_NEWSTYLE)
    
    while True :
    #Read GPS Coordinates
            report = session.next()
            try :
                    if report["class"] == "TPV" :
                            print(str(rep.lat) + "," + str(rep.lon))
            except Exception as e :
                    print("Got exception " + str(e))

I have configured everything correctly, because I get the coordinates doing cgps -s. When I try to run the program above I get:

Traceback (most recent call last):
  File "/home/alarm/program_python/testGPS.py", line 14, in <module>
    session = gps.gps("localhost", "2947")
  File "/usr/lib/python3.9/site-packages/gps/gps.py", line 580, in __init__
    gpscommon.__init__(self, host=host, port=port,
  File "/usr/lib/python3.9/site-packages/gps/client.py", line 66, in __init__
    self.connect(self.host, self.port)
  File "/usr/lib/python3.9/site-packages/gps/client.py", line 92, in connect
    self.sock.connect(sa)
OSError: [Errno 101] Network is unreachable

The procedure I made:

This works fine.

Running the python program gives me the error above

I don't know what to do more. What am I missing?

file gpsd.socket:

[Unit]
Description=GPS (Global Positioning System) Daemon Sockets

[Socket]
ListenStream=/var/run/gpsd.sock
#ListenStream=[::1]:2947
#ListenStream=127.0.0.1:2947
# To allow gpsd remote access, start gpsd with the -G option and
# uncomment the next two lines:
ListenStream=[::]:2947
ListenStream=0.0.0.0:2947
SocketMode=0600
BindIPv6Only=yes

[Install]
WantedBy=sockets.target

Thanks a lot

Upvotes: 0

Views: 226

Answers (1)

Eddygrinder
Eddygrinder

Reputation: 81

Ok, I found the problem. It seems that gps module only runs with Python2

So, I did a clean arch arm instalation with Python2 and pip2, installed gps using sudo pip2 install gps and it works like a charm

If I run python3 the modules aren't found

Upvotes: 0

Related Questions