-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathloc1.py
More file actions
49 lines (31 loc) · 1.21 KB
/
loc1.py
File metadata and controls
49 lines (31 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import sys
from twisted.internet import reactor, serialport
from twisted.positioning import base, nmea
from twisted.python import log, usage
class PositioningReceiver(base.BasePositioningReceiver):
def positionReceived(self, latitude, longitude):
log.msg("I'm at {} lat, {} lon".format(latitude, longitude))
def beaconInformationReceived(self, beaconInformation):
template = "{0.seen} beacons seen, {0.used} beacons used"
log.msg(template.format(beaconInformation))
class Options(usage.Options):
optParameters = [
['baud-rate', 'b', 4800, "Baud rate (default: 4800)"],
['serial-port', 'p', '/dev/ttyS0', 'Serial Port device'],
]
def run():
log.startLogging(sys.stdout)
opts = Options()
try:
opts.parseOptions()
except usage.UsageError, message:
print "{}: {}".format(sys.argv[0], message)
return
positioningReceiver = PositioningReceiver()
nmeaReceiver = nmea.NMEAAdapter(positioningReceiver)
proto = nmea.NMEAProtocol(nmeaReceiver)
port, baudrate = opts["serial-port"], opts["baud-rate"]
serialport.SerialPort(proto, port, reactor, baudrate=baudrate)
reactor.run()
if __name__ == "__main__":
run()