AirNMEA

2020年12月18日金曜日

GPSD問題をもっと引っ張ってみる(^^;

いろいろ問題がありそうな組み合わせに苦労するぐらいなら、状況が好転するまで別の代替手段を考える方が幸せだと思うわけです。

で、スマートフォンのGPS情報(NMEAメッセージ)をネット越しに利用するShareGPSと同じ方法で位置情報と時間を取得することにします。

INDIには GPS NMEA ドライバというのがあって、これがネット越しに流されるGPS NMEAメッセージを解析して位置情報と時間を取り出す仕事をしてくれます。
つまり、GPSDの代わりになるものです。

で、スマホにShareGPSアプリを入れれば簡単に使えるのですが、それでは全く面白くない(?)ので、ShareGPSと同等機能のGPSのNMEAメッセージを流すサーバーを M5Atom GPS モジュールを使って作成します。
今回ははんだ付け無しでいきます(^^♪

写真のとおり、とても小さいモジュールです。
コアのM5Atom LiteにESP32-PICOが搭載されていて、プログラムを書けばWifiのAPやクライアントに変身します。GPSモジュールはBeitian BN-200が入ってます。
バッテリーは内蔵していないのでモバイルバッテリーのような外部電源が必要です。

お値段3000円ほど。

Arduino IDE で書き込み環境を作って、以下のコードを書き込めば完成。(^^)


ダウンロード AirNMEA.ino

 

AirNMEA Settings

表のボタンを押しながらリセットボタンを押すと、LEDが赤色になり設定モードに入ります。
設定モードでは、デフォルトで下記のアクセスポイントとして動作します。

SSID AirNMEA
Password 00000000

スマホなどで接続し、ブラウザで http://192.168.4.1/ を開くと設定画面になります。

Setting Mode

SSID 設定モード時のアクセスポイントSSID名を設定します。複数のAirNMEAを使用する場合はSSIDが被らないように設定してください。

Password SSIDアクセス用のパスワードです。

AirNMEA Mode

SSID, Password 接続するアクセスポイントのSSIDとパスワードを設定します。LAN内のアクセスポイントを指定してください。2.4GHz帯のみの接続です。

IP Addr IPアドレスを指定します。空または 0.0.0.0 に設定するとDHCPを使用します。
ネットワーク内で固定IPにするときに任意のアドレスに設定してください。

Netmask ネットマスクです。固定IPを使用する場合に設定してください。

Gateway ゲートウェイアドレスです。固定IPを使用する場合に設定してください。


Setボタンを押下するとEEPROMに保存されます。電源を切っても記憶されます。

AirNMEA動作

ボタンを押さずに電源を入れると、LEDが緑色に点灯しAirNMEA として動作します。

SSID, Password  を使って自動的に無線LANアクセスポイントに接続します。

割り当てられたIPアドレスの50000ポートで動作しています。
DHCPを使用している場合はAirNMEAのアドレスを調べてください。

これで準備完了です。


INDIではGPS NMEAドライバを使用します。
connectするときにIPアドレスとポート番号を指定しておきます。
connectすると、GPSの測位後、位置情報と時刻を自動的に取得します。
定期的に情報を更新したい場合は、インターバルを設定してください。

telnetなどで、AirNMEAの50000ポートにつなぐとNMEAメッセージが流れ続ける様子が観察できます。

以上です。


実際の運用は、INDI環境にWifiアクセスポイントの設置が必要ですが、電源を入れるだけなので楽ではあります。
ずっとLAN内にぶら下げておけるのもメリットです。

が、わざわざ作らなくてもスマホでいいじゃん、と言われればそれまでです(笑)

ちなみにこのモジュール、microSDのスロットもついているのでファイルを何とかする機能も拡張できますが、何にもひらめかないのでどなたかネタをください(^^;


オリジナル 基板頒布

オープンソースの架台制御ソフト、OnStepのハードウェア実装基板などの話題です。


頒布状況 2024/10/3
○ OnStep基板 Rev2.1
× OnStep基板 Rev3.0
○ GBC-SHC 基板 Rev1.0
頒布ご希望の方はこちら、基板頒布のお知らせ をご覧ください。

このブログを検索

Blog Archive

QooQ