前提・実現したいこと
Raspberry Piクックブック(Simon Monk著)のP283に乗っているgps_test.pyというGPSデータの中から緯度経度、時間の情報を表示させるプログラムを参考に、Headingの情報も表示させたい。
発生している問題・エラーメッセージ
Heading情報表示のコードが分からず、下のようなエラーが出て困っています。プログラムは初心者なので分かりやすくどうしたらいいか教えてもらいたいです。
TypeError: 'instancemethod'object has no attribute '__getitem__
該当のソースコード
python
1#参考にした本のプログラム 2 3from gps import * 4session = gps() 5session.stream(WATCH_ENABLE|WATCH_NEWSTYLE) 6 7while True: 8 report = session.next() 9 if report.keys()[0] == 'epx' : 10 lat = float(report['lat']) 11 lon = float(report['lon']) 12 print("lat=%f\tlon=f\ttime=%s" % (lat, lon, report['time']) 13time.sleep(0.5) 14 15 16#実際に書いたプログラム 17 18from gps import * 19session = gps() 20session.stream(WATCH_ENABLE|WATCH_NEWSTYLE) 21 22while True: 23 report = session.next() 24 if report.keys()[0] == 'epx' : 25 lat = float(report['lat']) 26 lon = float(report['lon']) 27 hed = float(report.get['hed']) 28 print("lat=%f\tlon=%f\thed=%f\ttime=%s" % (lat, lon, hed, report['time']) 29time.sleep(0.5) 30
試したこと
[cgps -s]を実行するとGPSが受信しているデータを見ることができた。そこで、hedingの情報も読み取ることができたため、[hed]の行を追加してみた。
[hed]を追加すると、keyerror が出てしまったため、前にgetを付けてkeyerrorが出ないようにした。
また、[hed]だけでなく[heding]や[magver]などを試したが、同じエラーが出てしまっている。
補足情報(FW/ツールのバージョンなど)
pythonは2.7を使用
gpsdの受信確認は完了し、常に5機程のGPSを認識している。また、RaspberryPi本体のupgradeは済んでおり、最新の状態でも同様のエラーが出てしまった。
使用した部品は、RaspberryPi3 B+ 太陽誘電製GYSMAXBのGPSモジュール
参考にした本「RaspberryPiクックブック (Smon Monk著)
参考にしたページ https://gpsd.gitlab.io/gpsd/gpsd_json.html
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/22 07:55
2019/11/25 09:29
2019/12/03 01:36