Page MenuHomec4science

console
No OneTemporary

File Metadata

Created
Sun, Oct 6, 15:51
#!/usr/bin/env python
#
# Multiplexer console
#
import socket, sys, pynmea2
sys.path.append ('../lib')
from aisMsg import *
###### main #####
if(len(sys.argv) < 2):
print("Usage : " + sys.argv[0] + " port [IP]")
sys.exit()
PORT = int(sys.argv[1])
if len(sys.argv) == 3:
HOST = sys.argv[2]
else:
HOST = "0.0.0.0"
RECV_BUFFER = 4096 # Advisable to keep it as an exponent of 2
# Connect to multiplexer
print("Connecting to server/mutiplexer (" + HOST + ":" + str(PORT) + ")")
try:
s = socket.socket()
host = socket.gethostname()
s.connect((HOST,PORT))
except:
print("Error while connecting.")
sys.exit()
print("Connected. Press Ctrl-C to quit.")
decoder = AISmsg()
while 1:
try:
data = s.recv(RECV_BUFFER).decode()
sentences = data.splitlines()
for sentence in sentences :
try:
msg = pynmea2.parse(sentence)
print("Parsed: %s" % msg)
except Exception as err:
ais = decoder.Fragment(sentence)
if ais != None :
print(ais.__dict__)
decoder.Reset()
else :
print("pyNMEA2 parsing error: %s" % err)
except Exception as err:
print
print("Disconnected. %s" % err)
s.close()
sys.exit()

Event Timeline