ラズパイ日記...番外編...ADS-Bを受信する

14 件のコメント:

  1. 協力ありがとうございます。
    サーバー側ではこんな例外が頻発しています。例外処理で、サーバーは停止していないので、正常なのかもしれません。最後の行の Edge (Pi2B-Chiba, Pi3Box) already in graph 受信局ですが、ここに熱海やPi4は、一度も見えていません。distances.jsonがALL Zeroと関係がありそうな印象です。

    0191215 13:28:55.583 ERROR asyncio Exception in callback MlatTracker._resolve()
    handle: )>
    Traceback (most recent call last):
    File "/home/mars/.pyenv/versions/3.6.8/lib/python3.6/asyncio/events.py", line 145, in _run
    self._callback(*self._args)
    File "/home/mars/mlat-server/mlat/server/mlattrack.py", line 174, in _resolve
    timestamp_map=timestamp_map)
    File "/home/mars/mlat-server/mlat/server/clocknorm.py", line 198, in normalize
    g.add_edge(edge, wt=predictor_map[edge].variance)
    File "/home/mars/.pyenv/versions/3.6.8/lib/python3.6/site-packages/python_graph_core-1.8.2-py3.6.egg/pygraph/classes/graph.py", line 153, in add_edge
    raise AdditionError("Edge (%s, %s) already in graph" % (u, v))
    pygraph.classes.exceptions.AdditionError: Edge (Pi2B-Chiba, Pi3Box) already in graph

    返信削除
    返信
    1. distances.jsonにどんなタイミングで書き込まれるのかが、よくわかりませんね。mlat-clientにoption付けて起動したらlogを吐いてくれたらもう少しわかるかもですね。help読んでみます。

      削除
  2. 必要な情報をprint文などでコンソールに出力するよう、デバッグ用に改造して動かしてみるしかないかも? ただ、object orientedに慣れていないこともあって、改造のポイントがわかりずらい。

    返信削除
  3. serverの方は、INFOメッセージが標準エラー出力に出てくるようです。

    返信削除
  4. mlat-client の中でdistanceという変数を使っているのはmalt/geodesy.pyというファイルだけです。
    malt/geodesy.pyは、2地点の緯度経度p0[0,1],p1[0,1]と地球の大きさから距離を出すような計算をしています。
    syslogからは、15分毎に以下なようなlogを吐いてます。
    Dec 15 17:39:50 pizero rc.local[358]: Sun Dec 15 17:39:50 2019 Receiver status:
    connected
    Dec 15 17:39:50 pizero rc.local[358]: Sun Dec 15 17:39:50 2019 Server status:
    ready
    Dec 15 17:39:50 pizero rc.local[358]: Sun Dec 15 17:39:50 2019 Receiver: 58.5 msg/s received 1.6 msg/s processed (3%)
    Dec 15 17:39:50 pizero rc.local[358]: Sun Dec 15 17:39:50 2019 Server: 0.0 kB/s from server 0.0kB/s TCP to server 0.0kB/s UDP to server
    Dec 15 17:39:50 pizero rc.local[358]: Sun Dec 15 17:39:50 2019 Aircraft: 1 of 3 Mode S, 1 of 2 ADS-B used

    返信削除
  5. ソースを眺めても、distances.json というファイルをopenしてそのファイルへ書き込むような部分が見つかりません。syslogは見ていませんでした。mlat-clientが15分ごとに処理する部分を探してみます。
    ところで、ソースの追跡には、最近発掘(?)したsourcetrailというツールを利用しています。VSCODEと違って、ソースの変更はできませんが、可視化の機能がすばらしい! sourcetrailは、新しいプロジェクトを適当な名前で作成し、解析対象のソースが入っているフィルダーを指定するだけの簡単な操作で可視化ができます。
    ここから実行形式のファイルをダウンロードできます。https://www.sourcetrail.com/

    このへんに、使ってみた人の記事が;
    https://qiita.com/imasaaki/items/f24fc76fa3ea1d11813c

    返信削除
    返信
    1. 関数等を可視化してくれるやつですね。そのうち試してみます。

      削除
  6. mlatがおかしそうなログです。
    12月 17 10:25:36 pizero rc.local[358]: Tue Dec 17 10:25:36 2019 Receiver status: connected
    12月 17 10:25:36 pizero rc.local[358]: Tue Dec 17 10:25:36 2019 Server status: ready
    12月 17 10:25:36 pizero rc.local[358]: Tue Dec 17 10:25:36 2019 Receiver: 90.3 msg/s received 1.7 msg/s processed (2%)
    12月 17 10:25:36 pizero rc.local[358]: Tue Dec 17 10:25:36 2019 Server: 0.0 kB/s from server 0.0kB/s TCP to server 0.0kB/s UD2月 17 10:25:36 pizero rc.local[358]: Tue Dec 17 10:25:36 2019 Aircraft: 0 of 3 Mode S, 0 of 2 ADS-B used
    12月 17 10:31:20 pizero wpa_supplicant[474]: wlan0: WPA: Group rekeying completed with 04:ab:18:06:fa:a1 [GTK=CCMP]
    12月 17 10:40:36 pizero rc.local[358]: Tue Dec 17 10:40:36 2019 Receiver status: connected
    12月 17 10:40:36 pizero rc.local[358]: Tue Dec 17 10:40:36 2019 Server status: ready
    12月 17 10:40:36 pizero rc.local[358]: Tue Dec 17 10:40:36 2019 Receiver: 97.0 msg/s received 1.3 msg/s processed (1%)
    12月 17 10:40:36 pizero rc.local[358]: Tue Dec 17 10:40:36 2019 Server: 0.0 kB/s from server 0.0kB/s TCP to server 0.0kB/s UD2月 17 10:55:37 pizero rc.local[358]: Tue Dec 17 10:55:37 2019 Receiver: 72.3 msg/s received 0.8 msg/s processed (1%)
    12月 17 10:55:37 pizero rc.local[358]: Tue Dec 17 10:55:37 2019 Server: 0.0 kB/s from server 0.0kB/s TCP to server 0.0kB/s UD
    12月 17 10:55:37 pizero rc.local[358]: Tue Dec 17 10:55:37 2019 Aircraft: 0 of 1 Mode S, 0 of 0 ADS-B used
    12月 17 10:56:43 pizero rc.local[358]: Tue Dec 17 10:56:43 2019 Lost connection to rfsec.ddns.net:51090
    12月 17 10:56:43 pizero rc.local[358]: Tue Dec 17 10:56:43 2019 Disconnecting from localhost:30005: Lost connection to multilateration se
    12月 17 10:56:43 pizero rc.local[358]: Tue Dec 17 10:56:43 2019 Reconnecting in 14.0 seconds
    12月 17 10:56:57 pizero rc.local[358]: Tue Dec 17 10:56:57 2019 Connection to rfsec.ddns.net:51090 lost: [Errno 111] Connection refused
    12月 17 10:56:57 pizero rc.local[358]: Tue Dec 17 10:56:57 2019 Reconnecting in 14.0 seconds
    12月 17 10:57:11 pizero rc.local[358]: Tue Dec 17 10:57:11 2019 Connection to rfsec.ddns.net:51090 lost: [Errno 111] Connection refused
    12月 17 10:57:11 pizero rc.local[358]: Tue Dec 17 10:57:11 2019 Reconnecting in 14.0 seconds
    12月 17 10:57:26 pizero rc.local[358]: Tue Dec 17 10:57:26 2019 Connected to multilateration server at rfsec.ddns.net:51090, handshaking
    12月 17 10:57:26 pizero rc.local[358]: Tue Dec 17 10:57:26 2019 Server says:
    12月 17 10:57:26 pizero rc.local[358]: In-development v2 server. Expect odd behaviour.
    12月 17 10:57:26 pizero rc.local[358]: The multilateration server source code is available under
    12月 17 10:57:26 pizero rc.local[358]: the terms of the Affero GPL (v3 or later). You may obtain
    12月 17 10:57:26 pizero rc.local[358]: a copy of this server's source code at the following
    12月 17 10:57:26 pizero rc.local[358]: location: https://github.com/mutability/mlat-server
    12月 17 10:57:26 pizero rc.local[358]:
    12月 17 10:57:26 pizero rc.local[358]: Tue Dec 17 10:57:26 2019 Handshake complete.
    12月 17 10:57:26 pizero rc.local[358]: Tue Dec 17 10:57:26 2019 Compression: zlib2
    12月 17 10:57:26 pizero rc.local[358]: Tue Dec 17 10:57:26 2019 UDP transport: disabled
    12月 17 10:57:26 pizero rc.local[358]: Tue Dec 17 10:57:26 2019 Split sync: disabled
    12月 17 10:57:26 pizero rc.local[358]: Tue Dec 17 10:57:26 2019 Input connected to localhost:30005
    12月 17 10:57:26 pizero rc.local[358]: Tue Dec 17 10:57:26 2019 Input format changed to BEAST, 12MHz clock
    12月 17 11:10:37 pizero rc.local[358]: Tue Dec 17 11:10:37 2019 Receiver status: connected
    12月 17 11:10:37 pizero rc.local[358]: Tue Dec 17 11:10:37 2019 Server status: ready

    返信削除
  7. 時々、デバッグのためにserverを止めて、再起動しています。

    Tue Dec 17 10:57:26 2019 Server says: この時間帯の前後のメッセージは、再起動したときのログです。

    返信削除
  8. 御所望のコマンド実行結果です。API keyは消しました。
    pi@pi4b:~ $ ps ax | grep -e dump1090 -e mlat -e modes | grep -v grep
    464 ? Sl 626:51 /usr/bin/dump1090-fa --dcfilter --quiet --modeac --net --enable-agc --write-json /var/run/dump1090 --lat 35.144915 --lon 139.095934 --forward-mlat 594 ? Sl 23:06 /usr/local/bin/modesmixer2 --inConnect localhost:30002 --web 8082 --google-key ********* --location 35.144915:139.095934
    626 ? S 26:46 /usr/bin/python3.7 /usr/local/bin/mlat-client --input-type dump1090 --input-connect localhost:30005 --lat 35.144915 --lon 139.095934 --alt 50 --user Pi4B_yugawara --server rfsec.ddns.net:51090 --no-udp --results beast,connect,localhost:30104
    ~
    ~

    返信削除
  9. 情報ありがとうございます。一部、文字化け(制御コード?)しているようですが、こちらの情報と突き合わせています。例えば 464 ? Sl とか 594 ? Sl 23:06 のあたりが??

    返信削除
  10. サイト間のクロックの同期処理に問題があるような気がします。pythonコードにあまり慣れていないこともあって(そもそも、オブジェクト指向のコードに、、)ソースの解析がなかなか進みません。
    PCの時刻は、あまり関係なさそうに思いますが、ついでに、$ timedatectl コマンドの結果も教えて下さい。こちらの数台を確認したら、バラバラでした。明日にでも、統一します。
    FlightAwareのイメージからインストールした Pi2B
    ---------------------------------------------------------------------------------
    $ timedatectl
    Local time: 金 2019-12-20 23:19:29 JST
    Universal time: 金 2019-12-20 14:19:29 UTC
    RTC time: n/a
    Time zone: Asia/Tokyo (JST, +0900)
    Network time on: yes
    NTP synchronized: yes
    RTC in local TZ: no


    mlat-serverの状況
    --------------------------------------------------------------------
    $ timedatectl
    Local time: 金 2019-12-20 23:17:11 JST
    Universal time: 金 2019-12-20 14:17:11 UTC
    RTC time: 金 2019-12-20 14:17:11
    Time zone: Asia/Tokyo (JST, +0900)
    System clock synchronized: yes
    systemd-timesyncd.service active: yes
    RTC in local TZ: no

    返信削除
  11. Pi4B timedatectl の出力結果です
    ---------------
    pi@pi4b:~ $ timedatectl
    Local time: 土 2019-12-21 08:25:38 JST
    Universal time: 金 2019-12-20 23:25:38 UTC
    RTC time: n/a
    Time zone: Asia/Tokyo (JST, +0900)
    System clock synchronized: yes
    NTP service: active
    RTC in local TZ: no
    pi@pi4b:~ $

    返信削除

ラズパイ日記...esp32(arduino)+mpu6050

# esp32で6軸センサー読み出し esp32で6軸センサーを読み出し、値をグラフ表示して動作を確認します。 ## 準備 ハード的な接続は、センサーが3.3V駆動できるので、3.3VとGNDの2線で電源供給します。I2C用にSDAとSCLのデータ線が必要ですが、esp...