Top > MsFB > MsPacketFilter

MsFB/MsPacketFilter

MsFB-logo.jpg

これが実運用中のノートPCの画面。車にノートPCを持ち込みインターネット接続は行なわない状態で運用してみた。TM-D710のCOM Portから出力されたパケットデータはMsFB/MsPacketFilterを経由してUI-View32に取り込む。さらに、PAViewを経由してプロアトラスにマップ表示を行なっている様子。自局のアイコンや周辺のAPRS局、そしてI-Gateから出力されてきたインターネット経由で流れてきたパケットを受信して、プロアトラス一杯にアイコンが表示された。インターネット接続に依存しないやり取りは災害時等にも大変有効ではないかと考える。
&ref(): File not found: "MsFB_PacketFilter_Window_00-s.jpg" at page "MsFB/MsPacketFilter";

概要

TM-D710を車載して走行している。自分の位置情報を送信し、相手の位置情報も画面で解り方位なども出てくる。ここまで来ると、マップに表示させたいなぁという衝動にかられる。どうやってマップ表示するか?と考えたとき、一番手っ取り早いのは、インターネット接続環境を準備してGoogleMapsAPRSを開いて確認することだ。しかし。。。ここで問題になるのが、さてインターネットにつなげなくなった場合にどうする?といった事だ。イーモバイルやAirEDGEを初めとする各種モバイルサービスの人口カバー率は99%とか100%とか唄われているが、この数値は市町村役場がエリアに入っていればその市町村はすべてエリアに入っているだけでカウントされてしまうため、はっきり言って人口カバー率という数値は役に立たない。
じゃぁインターネットにつながないでどうにかできないのか?と考えたのが、今回の趣旨だ。
折角、TM-D710を使っていてパケットを復調してくれているんだから、インターネットにつながなくても、TM-D710とプロアトラスなどを使えばマップ表示ができるんじゃないか?といった観点で調査を開始した。既に実施されている方も多々いらっしゃると思うが、自分なりにMsFuncBoxを使って簡単に実現できる方法を模索してみた。

単純にCOMポートから来たデータを復調してみると、色々と障害があるがそれを MsFB/MsPacketFilterを使ってうまいことやっちゃおう! という作戦!

TM-D710 APRS Mode COMポート出力結果

  • RF経由の受信したパケット
    JE7YWY>APU25N,TH1-1:}JK1MIG-1>APNU19,TCPIP,JE7YWY*:!3546.27N/13930.18E#PHG5360 KIYOSE-City UIDIGI 1.9b3
    
    JE7YWY>APU25N,TH1-1:}JL8NHA-9>TSPSX8,TCPIP,JE7YWY*:`E0il#1>/"4E}COUNTRY TAXI, 090-3396-6154 TT3+
    
    JE7YWY>APU25N,TH1-1:}JF3MTW-5>APU25N,TCPIP,JE7YWY*:=3442.44N/13541.82E-Wires #6088 Ikoma city 430.96MHz {UIV32N}
    
    • <UI C>という文字列が入っていない。これが無いと、UI-View32でパケットとして認識してくれない。
    • 通常のTNCモードでは、MCOM=ONにすると付加されるが、TM-D710に仕様上、APRSモード時のCOMポート出力は、MCOM=OFFに限定されてしまう。
  • 1秒間隔で出力されるGPSデータ
    $PKWDPOS,134708,A,3723.3568,N,14021.7404,E,000.0,15,280909,272.9*3B
    $PKWDPOS,133446,A,3723.3567,N,14021.7410,E,000.0,15,280909,275.5*34
    $PKWDPOS,133448,A,3723.3567,N,14021.7410,E,000.0,15,280909,275.4*3B
    $PKWDPOS,133450,A,3723.3567,N,14021.7410,E,000.0,15,280909,275.4*32
    $PKWDPOS,133452,A,3723.3567,N,14021.7410,E,000.0,15,280909,275.4*30
    $PKWDPOS,134704,A,3723.3568,N,14021.7404,E,000.0,15,280909,272.9*37
    $PKWDPOS,134708,A,3723.3568,N,14021.7404,E,000.0,15,280909,272.9*3B

以下の資料は、TM-D710 GPSOutput の仕様で、$PKWDWPL フォーマットと記載されているが、$PKWDPOS と同じっぽい感じがする。桁数は気をつける必要がありそうだが、基本的にはあってそうだ。

TM-D710_PKWDWPL.PNG

  • 自分のビーコン送信
    UNPROTO ***.***

ビーコンを送信する前に、UNPROTO コマンドを発行して、APN***みたいな文字列を書き換えてから送信しているようなので、これを自局ビーコン送信イベントとして拾う事にする。

MsFB/MsPacketFilterでやること

  • <UI C>を付加する。
    • 受信したパケットの 10文字目(JE7YWY-12>)までを探し出し、>が無ければそのパケットはそのまま TNC->PCに流す。
    • : が入っている位置を探し出し、: の代わりに <UI C>: にする。
  • 自分のビーコン送信のため、MYCALL コマンドがPC側から着たらそれを保存しておく。
  • 自分のビーコン送信のため、TNC側からくるGPSデータを常に更新しパケットを作る準備をしておく。
  • UNPROTO が着たら自分のビーコンをPC側に送信する。
  • PC側からCONVが着たらコンバースモードとなり、TNCとPCとのやり取りを開始する。

改行コード

ターミナル画面

  • TM-D710 Packetモード
    JE7YWY>APU25N,TH2-2:}JE3KAW>APU25N,TCPIP,JE7YWY*:>010445zUI-View32 V2.03 (http://y7.net/if1aje)
    
    JE7YWY>APU25N,TH1-1:}JO3KPS>APU25N,TCPIP,JE7YWY*:>251546zDX: JQ1YWK 35.38.04N 139.21.64E 13.2 miles 248 00:40
    
    JE7YWY>APU25N,TH2-2:}JO3KPS>APU25N,TCPIP,JE7YWY*:>251546zDX: JQ1YWK 35.38.04N 139.21.64E 13.2 miles 248 00:40
  • TM-D710 APRSモード
    JE7YWY>APU25N,TH1-1:}JK1MIG-1>APNU19,TCPIP,JE7YWY*:!3546.27N/13930.18E#PHG5360 KIYOSE-City UIDIGI 1.9b3
    
    JE7YWY>APU25N,TH1-1:}JL8NHA-9>TSPSX8,TCPIP,JE7YWY*:`E0il#1>/"4E}COUNTRY TAXI, 090-3396-6154 TT3+
    
    JE7YWY>APU25N,TH1-1:}JF3MTW-5>APU25N,TCPIP,JE7YWY*:=3442.44N/13541.82E-Wires #6088 Ikoma city 430.96MHz {UIV32N}

やっちゃう方法。

  • 改行コードの変更(UI-VIEW32ではやらなくても良いみたい。CRでもCR+LFでもOK。) 0x0d(CR)を検出したら、0x0d(CR)+0x0a(LF)にする。
  • パケットに<UI C>という文字列を追加する。 こんなのが着たら・・・
    JE7YWY>APU25N,TH1-1:}JA0GTA-5>APU25N,TCPIP,JE7YWY*:=3638.93N/13811.13E-JP0YCU site at NAGANO-city {UIV32N}
    こうする。
    JE7YWY>APU25N,TH1-1 <UI C>:}JA0GTA-5>APU25N,TCPIP,JE7YWY*:=3638.93N/13811.13E-JP0YCU site at NAGANO-city {UIV32N}
  • パケットサイズは250byte? のバッファを用意する。
  • 改行コード CR (0x0d)でコマンドモードで受信する。
  • パケットの最初のコロン【:】をみつけて、その位置に【 <UI C>:】に置き換える。
    通常のTNCでは、MCOM ON にすれば、<UI C>を付加できる。

参考資料

どぞー♪

  • もう、だいたいできちゃったのかな?すごーい。 これは行けるよ。集いで展示しよう! -- 小林@jr7ovc/1 2009-09-30 (水) 00:08:07
  • 自局以外は基本的に表示できるようになったよ。自局のビーコンが何処かにデジピートされるとそれを復調したパケットが流れてくるから表示されるけれど、周辺にデジピート局が無い場合は自分が表示されないことになるね。そこで一工夫・二工夫いれてる所です。基本的には行けそうですよ! -- JM7MUU 本田 2009-09-30 (水) 08:27:19
  • 仕上げの方向で日程を進めています。ブートローダー入れておきました。たいしたこと無いけれど、回路図とスナップショットを準備しておこーっと。 -- JM7MUU 2009-10-02 (金) 06:26:17
  • スナップショットはこちら。=>MsFB/MsPacketFilter/Snapshot -- JM7MUU 本田 2009-10-02 (金) 06:59:26
  • 回路図はこちら。=>MsFB/MsPacketFilter/回路図とピン配置 -- JM7MUU 本田 2009-10-02 (金) 22:57:41
  • シングルバッファーで行けるかとおもっていましたが、あまりにも処理が追いつかないので、ダブルバッファ化して割り込み受信にしました。快適快適! そろそろFixかな! 。('-'。)(。'-')。ワクワク -- JM7MUU 本田 2009-10-04 (日) 06:41:21
  • 休止モード・システムスタンバイモードに対応しました。要は一旦電源をOFFにしてもON時の状態を内部に保存しておいて、電源ON時に復活するということです。UI-View32を立ち上げたままPCをシステムスタンバイにしたとき、USBの電源供給が停止します。そしてスタンバイから復活したときにUSBの電源供給が再開されますが、何事も無かったかのように動き出します。 -- JM7MUU 本田 2009-10-11 (日) 06:02:25
  • パケットが何か来ているときは、GAINER本体の緑色LEDを点滅させるようにしました。こんなもんで本日走行試験を行ってみて大丈夫そうであればリリースします。 -- JM7MUU 本田 2009-10-11 (日) 06:48:40
  • ファームウェアを公開しました! -- JM7MUU 本田 2009-10-11 (日) 09:05:55

PAView


Reload     Front page List of pages Search Recent changes Backup   Help   RSS of recent changes
Last-modified: Tue, 27 Dec 2016 01:33:07 HADT (900d)