Page MenuHomec4science

PetitBaigneur.py
No OneTemporary

File Metadata

Created
Sun, Oct 6, 08:06

PetitBaigneur.py

#!/usr/bin/python
import time, sys, socket
sys.path.append ('../lib')
from aisMsg import *
from nmea import moveBoat
# Connect to multiplexer
client = socket.socket()
host = socket.gethostname()
client.connect(('0.0.0.0', 39150))
obj = AISmsg5()
obj.mmsi = 205344990
obj.callSign = 'ATC'
obj.name = 'PETIT BAIGNEUR'
obj.destination = 'MARSEILLE'
obj.shipType = AISmsg5.CARGO
obj.to_bow = 50
obj.to_stern = 20
obj.to_port = 10
obj.to_starboard = 10
obj.draught = 10
obj.ETAmonth = 11
obj.ETAday = 26
obj.ETAhour = 1
obj.ETAminute = 30
multi = obj.Encode()
for aivdm in multi :
print(aivdm)
client.send(bytes(aivdm,'ASCII'))
obj = AISmsg1()
obj.mmsi = 205344990
obj.navStatus = AISmsg1.UNDERWAY_ENGINE
obj.sog = 20.0
obj.accuracy = 1
obj.lat = 43.01666
obj.lon = 6.0
obj.cog = 110.7
obj.hdg = AISmsg1.HDG_NOT_AVAILABLE
obj.timeStamp = 40
obj.specialManoeuvre = AISmsg1.SPECIAL_MANOEUVRE_NOT_AVAIL
obj.RAIM = 1
obj.state = 0
# object attributes can be accessable as a dictionnary
print(obj.__dict__)
print(obj.__dict__.keys())
print(obj.__dict__['mmsi'])
prev = time.time()
while True :
now = time.time()
obj.lat, obj.lon = moveBoat(obj.lat, obj.lon, obj.cog, obj.sog, now-prev)
multi = obj.Encode()
for aivdm in multi :
sys.stdout.write(aivdm)
client.send(bytes(aivdm, 'ASCII'))
prev = now
time.sleep(1)

Event Timeline