IM920sやってみた
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
IM920sとGPS受信機で作る「なんちゃって追跡装置」
#contents
*はじめに [#v750a180]
秋の夜長の季節となりましたので、全国一千万人の電子工作フ...
そんな訳でIM920sで何か作れとの事なので、さっそくIM920sに...
IM920sはインタープラン株式会社様が販売しているマルチホッ...
https://www.interplan.co.jp/solution/wireless/im920s/im92...
主に組み込み機器向けの無線通信モジュールで、以下のような...
+携帯電話やWiFiのような既存通信インフラに依存しない。つま...
+920Mhz帯(Sub-Ghz)で免許不要
+省電力でも長距離での通信が可能
+動的メッシュネットワークの構築が可能
+シリアルプロトコルでマイコンでも容易に扱える
単に個別のデバイスから情報を取得するだけであれば携帯電話...
逆に言えば、IM920sの強みは通信インフラに存在しなくとも独...
WiFiでも独自ネットワークを構築する事は出来なくもないです...
大雑把ですが、それぞれの通信システムの特徴を比べてみると...
|~ |IM920s|WiFi|携帯電話|
|~通信速度|✖(100kbps)|〇(数百Mbps)|△(数十Mbps~百Mbps)|
|~通信距離|△(最大1.6km)|✖(数十m)|○(数百m~数km)|
|~通信料金|〇(無料)|〇(無料)|✖(有料)|
|~通信インフラ|〇(安価)|△(比較的安価)|✖(高額な基地局)|
比較してみると、通信速度こそ桁違いに遅いという弱点はあり...
この特徴が生きるアプリケーションは何かと色々思案したので...
*「追跡装置」を作る [#ia54e8b1]
硝煙弾雨の中、タイヤを鳴らして全速力で逃げる敵国のスパイ...
以上ポエム終わり。
やっぱり昔のスパイ映画の類って良かったですよねぇ。こうい...
この手の「追跡装置」。子供心に「どうやって位置がわかるの...
IM920sは携帯電話ネットワーク等のインフラに依存せず、長距...
CENTER:
&ref(./radar_denpa.png,40%);
*システム案 [#seb88a67]
前置きが長くなりましたが、今回はIM920sを使って「追跡装置...
CENTER:
&ref(./GPS_SYSTEM.PNG,100%);
フィクションの追跡装置は発信機からの電波強度で距離や方向...
GPSも登場当初は米軍の最先端技術だった訳で、民生用途でも使...
GPS受信機キット 1PPS出力付き 「みちびき」3機受...
http://akizukidenshi.com/catalog/g/gK-09991/
秋月電子の有名キットです。
しかも衛星からの信号処理・座標情報変換などは全てGPSモジュ...
これならば複雑なシステムは全く不要という事がわかりました...
その程度の処理であれば高性能マイコンは必要ありません。今...
Arduino Nano
http://akizukidenshi.com/catalog/g/gM-09059/
Arduinoは電子工作に興味のある人であれば説明不要の超定番マ...
Arudino nanoはこのArduinoの開発環境が利用でき、さらにDIP...
*IM920sについて [#s1be121b]
IM920sですが920Mhz帯(Sub-Ghz)の電波を使って情報を送受信で...
IM920sのスタータキット「IM920s-SK」はアマゾンで購入可能で...
https://www.amazon.co.jp/dp/B07F3VRGS7/ref=cm_sw_em_r_mt_...
CENTER:
&ref(./IM920S_PACKAGE.jpg,50%);&br;
IM920s-SKの内容物です。4つのIM920s通信モジュールが同梱さ...
CENTER:
&ref(./IM920S_MODULE.JPG,50%);&br;
IM920sのモジュール本体です。通信モジュール自体は上の基板...
IM920sは親機と子機との一対一の通信だけではなく、親機と複...
|単純マルチホップ|親機と全ての子機が一つのルートで接続|
|ツリーモード|一つのルートで接続された子機グループが複数...
|フルメッシュモード|親機と子機がグループ化せずに複数のル...
今回の「追跡装置」では一対一でも良いのですが、通信インフ...
*IM920sの動作の確認 [#pdcdff6b]
実際にシステムを作る前に、IM920sの初期設定と動作について...
IM920sモジュールはPCと直接USB接続が可能です。今回購入した...
IM920s単体では2.0V~3.6Vの三線式のUART端子(TxD, RxD, GND)...
それでは実際に親機と子機をPCに接続して動作を確認してみた...
**IM920sとの接続設定 [#a42eddf4]
IM920sとはUSBインターフェースを介してPCと接続します。PCか...
今回はWindows10 PCから定番ターミナルソフトの[[TeraTerm>ht...
デフォルトの通信条件は以下の通りです。
CENTER:
&ref(./TERATERM_SETTING.JPG,25%);&br;
**IM920sの設定概要 [#v67b8c08]
親機と子機が通信出来るようにするためには、同一ネットワー...
CENTER:
&ref(./GROUP.JPG,50%);
***親機の設定 [#b2cd4fa0]
複数のIM920sのモジュールから親機を決めます。IM920sのモジ...
親機のシリアル番号をグループIDとしてネットワークを構成す...
親機となるモジュールを決めたら、最低限度以下の設定を行い...
***親機のIDの確認 [#uba1a7cc]
ターミナルからRDIDと入力すると親機のIDが8桁の16進数で表示...
&ref(./SERIAL.JPG,50%);&br;
IM920sモジュールの表面にS/Nが印刷されていますが、これは10...
私の手元にある親機はS/N 00002250なので、これを16進数化す...
(コマンド)&br;
RDID&br;
&ref(./TERMINAL1.JPG,50%);&br;
ターミナルでコマンドを入力する際、キーボード入力は画面に...
***ノード番号の設定 [#g71dd2f4]
ノード番号とは同一のグループIDのネットワークに接続された...
(コマンド)&br;
ENWR&br;
STNN 0001&br;
RDNN&br;
&ref(./TERMINAL2.PNG,100%);&br;
“ENWR”コマンドはIM920sに搭載されているFlashメモリを書き込...
“STNN 0001”はノード番号を0001に設定するコマンドです。ノー...
“RDNN”は設定されたノード番号を読み出すコマンドです。ノー...
***グループ番号の設定(送信) [#w31e4e32]
ノード番号を0001と設定した事で親機である事が確定されまし...
(コマンド)&br;
STGN&br;
&ref(./TERMINAL3.PNG,100%);&br;
COM10は親機、COM7は子機に該当します。&br;
親機(COM10)でSTGNコマンドを実行すると自動的にグループ番号...
**子機の設定 [#j3990bba]
親機のノード番号、グループ番号が確定したところで、子機を...
***ノード番号の設定 [#lc2ae727]
親機のノード番号は0001ですので、この番号を避け、他の子機...
(コマンド)&br;
ENWR&br;
STNN 0002&br;
RDNN&br;
&ref(./TERMINAL4.PNG,100%);&br;
***グループ番号の設定 [#wc2d399a]
親機の設定のところでも説明しましたが、グループ番号は親機...
(コマンド)&br;
STGN&br;
“GRNOREGD"と表示されればグループ番号が設定された事になり...
&ref(./TERMINAL5.PNG,100%);&br;
**ブロードキャスト通信実験 [#z2babf01]
実際に親機から子機へ通信データを送ってみます。もっとも簡...
ブロードキャスト送信は文字通り特定の受信機を指定せず、す...
|~DCIO|非キャラクタ入出力モード|
|~ECIO|キャラクタ入出モード|
非キャラクタ入出力モードはデータをHEX値として表現するモー...
***DCIO mode [#fa846c92]
(親機側コマンド)&br;
TXDA AB,CD&br;
(子機側受信文字列)&br;
&ref(./TERMINAL6.PNG,100%);&br;
[00hはダミー],[0001hは送信元ノード番号],[DFhは電波強度(RS...
TXDAに続く文字列はカンマで区切られた16進数のHEX値としてや...
***ECIO mode [#wd0dd540]
(親機側コマンド)&br;
TXDA ABCD&br;
(子機側受信文字列)&br;
&ref(./TERMINAL7.PNG,100%);&br;
TXDAに続く文字列はASCII文字列としてやり取りされます。&br;
**ユニキャスト通信実験 [#q65084ec]
ユニキャスト通信は送り先ノード番号を指定して、特定のノー...
***親機から子機へ [#r0e536bb]
(親機側コマンド)&br;
TXDU 0002,ABCD&br;
(子機側受信文字列)&br;
&ref(./TERMINAL8.PNG,100%);&br;
***子機から親機へ&br; [#ee7e0c28]
(子機側コマンド)&br;
TXDU 0001,ABCD&br;
(親機側受信文字列)&br;
&ref(./TERMINAL9.PNG,100%);&br;
以上のように、非常に簡単な設定でUART経由でブロードキャス...
*ハードウェア実装 [#b40de500]
IM920sの通信モジュールの最低限度の使い方がわかったところ...
システム構成をみて下さい。単純にArudinoとIM920sとGPSモジ...
USB端子はプログラムの書き込み時やデバッグ時に使います。追...
CENTER:
&ref(./IM920S_SYSTEM_DG.PNG,100%);&br;
システム構成&br;
CENTER:
&ref(./GPS_BOARD.PNG,100%);&br;
実体写真&br;
CENTER:
&ref(./IM920S_PIN.jpg,50%);&br;
ちなみに、IM920sをUSBインターフェースボードから外した後、...
写真では画面表示用のOLEDが映っていますが、今回は間に合い...
*ソフトウェア実装 [#z44f1a72]
**処理フロー [#n8df7aa6]
ソフトウェアはArduinoの標準IDEにて開発をしました。&br;
前述の通り、基本フローは非常に単純です。
+初期設定
+GPSからの出力をUARTで読み込む
+読み込んだUARTの文字列から座標情報のみを抜き出す
+座標情報をIM920Sのパケット情報へ変換する
+IM920SへUART経由で送信する
+送信完了を待ち
+(2)へ戻る
Arduino Nanoですが、ハードウェアでサポートしてるUARTは1...
今回、IM920sとGPSモジュール向けに最低2つのUARTが必要とな...
-通信速度を4800bpsまで落とす
-GPSの情報更新頻度を1秒毎にする
-GPSからの位置の取得は30秒に一回にする
-IM920Sは子機から親機への出力のみにする
-送信パケットには経度、緯度情報だけとする
これらの制限を前提とするとでソフトウェアを簡略化していま...
** GPSデータの処理 [#u7539f0a]
GPSモジュールから出力される文字列は規格で決まっています。...
今回利用したGPSモジュールの出力の一例を示します。&br;
GPSからはUARTを通じて以下のような文字列が送出されます。&br;
CENTER:
&ref(./GPS_LOCATION.PNG,100%);&br;
(自宅の場所がばれるので一部隠しています(^^; )
|ヘッダ|協定世界時(UTC)|ステータス|緯度|北緯/南緯|経度|東...
|$GPRMC|230838.000|A|34AA.BBBB|N|139CC.DDDD|E|0.24|291.84...
&br;
フォーマットの詳細はNMEAについてネット検索してもらえば有...
このGPSからの文字列を抜き出してしてIM920sのパケット情報へ...
|コマンド|送信先ノードID|緯度|北|経度|東|送信パケット番号|
|TXDU|0001|34AA.BBBB|N|139CC.DDDD|E|2(デバッグ用)|
(例:送信側)
TXDU 0001,34AA.BBBB,N,139CC.DDDD,E,2
(例:受信側)
00,0002,34AA.BBBB,N,139CC.DDDD,E,2
受信側である親機はこの緯度/経度情報を画面に表示すれば良い...
*実験結果 [#ue83bcf2]
それでは実際に動作を確認してみます。今回は自宅を中心に発...
**条件 [#y92d1af2]
作業環境の都合もあるのです、今回親機は自宅2階の作業用PC...
今回はGPSを搭載した子機を私が手でもったまま自宅周辺を周回...
**受信データの処理 [#j748b71f]
本来であれば、リアルタイムで受信したデータを画面上にピコ...
&ref(./GPS_RECEIVED.PNG,50%);&br;
受信したデータは親機のターミナル上に上記のように表示され...
[[KTGIS.NET>http://ktgis.net/gcode/lonlatmapping.html#gma...
&br;
フォーマット変換ですが、少々コツが要ります。GPSモジュール...
ところが、GoogleMapを代表するインターネット上の地図サービ...
(例)&br;
|~緯度情報(GPS出力60進)|35BB.CCCC|
|~緯度情報(Web用10進)|35.0+(((BB.CCCC)/100)/60)|
ターミナルのログデータをエクセルに取り込み、緯度/経度情報...
**親1対子1の場合 [#uebf4921]
親1対子1の場合です。設定上はメッシュネットワークになって...
今回使ったIM920sは10cm程度のワイヤアンテナしか装備してい...
CENTER:
&ref(./HOME_LOCATION.PNG,100%);&br;
親機から一番遠い箇所で85m程度です。&br;
&ref(./GPS_P2P.PNG,100%);&br;
実際の測定結果です。&br;
親機が置いてある南側に面している自宅前は良く取れてますが...
それでも家屋の内側に置いた10cm程度のワイヤーアンテナでこ...
**親1対子2のメッシュネットワークの場合 [#q1926246]
親1対子1の場合、家の周囲で受信が難しい理由は、親機が部...
この場合、単純ホッピングでも良いのですが、動的ネットワー...
CENTER:
&ref(./GPS_MESH.PNG,100%);
明らかに受信箇所が増えています。前述の通り、北側は家屋の...
**考察 [#e25aa2d8]
今回はIM920sの通信性能の実験だった訳ですが、密かにGPSモジ...
また、メッシュネットワーク用に子機を1台追加することで明...
*将来への展望 [#l56eea0f]
今回は時間の都合もあり、1台の子機からの信号をPCで受信す...
例えば、携帯ネットワークが存在しない山奥での登山やハイキ...
また、今回は親機がPCではありましたが、親機をスマートフォ...
*まとめ [#wa425671]
夢は映画や漫画に出てくるような追跡装置だった訳ですが、今...
世間では4Gから5Gへの移行が叫ばれるご時世ではありますが、...
今回の記事を通じてlow bit rateなシリアル通信でもWANとの組...
正直、私も最初は「920Mhzのマルチホップモジュールってどう...
是非ともこの記事を参考に、もっと面白いアプリケーションを...
*(履歴) [#u77838c6]
2019.09.30 公開&br;
2019.10.07 一部追記・修正&br;
終了行:
IM920sとGPS受信機で作る「なんちゃって追跡装置」
#contents
*はじめに [#v750a180]
秋の夜長の季節となりましたので、全国一千万人の電子工作フ...
そんな訳でIM920sで何か作れとの事なので、さっそくIM920sに...
IM920sはインタープラン株式会社様が販売しているマルチホッ...
https://www.interplan.co.jp/solution/wireless/im920s/im92...
主に組み込み機器向けの無線通信モジュールで、以下のような...
+携帯電話やWiFiのような既存通信インフラに依存しない。つま...
+920Mhz帯(Sub-Ghz)で免許不要
+省電力でも長距離での通信が可能
+動的メッシュネットワークの構築が可能
+シリアルプロトコルでマイコンでも容易に扱える
単に個別のデバイスから情報を取得するだけであれば携帯電話...
逆に言えば、IM920sの強みは通信インフラに存在しなくとも独...
WiFiでも独自ネットワークを構築する事は出来なくもないです...
大雑把ですが、それぞれの通信システムの特徴を比べてみると...
|~ |IM920s|WiFi|携帯電話|
|~通信速度|✖(100kbps)|〇(数百Mbps)|△(数十Mbps~百Mbps)|
|~通信距離|△(最大1.6km)|✖(数十m)|○(数百m~数km)|
|~通信料金|〇(無料)|〇(無料)|✖(有料)|
|~通信インフラ|〇(安価)|△(比較的安価)|✖(高額な基地局)|
比較してみると、通信速度こそ桁違いに遅いという弱点はあり...
この特徴が生きるアプリケーションは何かと色々思案したので...
*「追跡装置」を作る [#ia54e8b1]
硝煙弾雨の中、タイヤを鳴らして全速力で逃げる敵国のスパイ...
以上ポエム終わり。
やっぱり昔のスパイ映画の類って良かったですよねぇ。こうい...
この手の「追跡装置」。子供心に「どうやって位置がわかるの...
IM920sは携帯電話ネットワーク等のインフラに依存せず、長距...
CENTER:
&ref(./radar_denpa.png,40%);
*システム案 [#seb88a67]
前置きが長くなりましたが、今回はIM920sを使って「追跡装置...
CENTER:
&ref(./GPS_SYSTEM.PNG,100%);
フィクションの追跡装置は発信機からの電波強度で距離や方向...
GPSも登場当初は米軍の最先端技術だった訳で、民生用途でも使...
GPS受信機キット 1PPS出力付き 「みちびき」3機受...
http://akizukidenshi.com/catalog/g/gK-09991/
秋月電子の有名キットです。
しかも衛星からの信号処理・座標情報変換などは全てGPSモジュ...
これならば複雑なシステムは全く不要という事がわかりました...
その程度の処理であれば高性能マイコンは必要ありません。今...
Arduino Nano
http://akizukidenshi.com/catalog/g/gM-09059/
Arduinoは電子工作に興味のある人であれば説明不要の超定番マ...
Arudino nanoはこのArduinoの開発環境が利用でき、さらにDIP...
*IM920sについて [#s1be121b]
IM920sですが920Mhz帯(Sub-Ghz)の電波を使って情報を送受信で...
IM920sのスタータキット「IM920s-SK」はアマゾンで購入可能で...
https://www.amazon.co.jp/dp/B07F3VRGS7/ref=cm_sw_em_r_mt_...
CENTER:
&ref(./IM920S_PACKAGE.jpg,50%);&br;
IM920s-SKの内容物です。4つのIM920s通信モジュールが同梱さ...
CENTER:
&ref(./IM920S_MODULE.JPG,50%);&br;
IM920sのモジュール本体です。通信モジュール自体は上の基板...
IM920sは親機と子機との一対一の通信だけではなく、親機と複...
|単純マルチホップ|親機と全ての子機が一つのルートで接続|
|ツリーモード|一つのルートで接続された子機グループが複数...
|フルメッシュモード|親機と子機がグループ化せずに複数のル...
今回の「追跡装置」では一対一でも良いのですが、通信インフ...
*IM920sの動作の確認 [#pdcdff6b]
実際にシステムを作る前に、IM920sの初期設定と動作について...
IM920sモジュールはPCと直接USB接続が可能です。今回購入した...
IM920s単体では2.0V~3.6Vの三線式のUART端子(TxD, RxD, GND)...
それでは実際に親機と子機をPCに接続して動作を確認してみた...
**IM920sとの接続設定 [#a42eddf4]
IM920sとはUSBインターフェースを介してPCと接続します。PCか...
今回はWindows10 PCから定番ターミナルソフトの[[TeraTerm>ht...
デフォルトの通信条件は以下の通りです。
CENTER:
&ref(./TERATERM_SETTING.JPG,25%);&br;
**IM920sの設定概要 [#v67b8c08]
親機と子機が通信出来るようにするためには、同一ネットワー...
CENTER:
&ref(./GROUP.JPG,50%);
***親機の設定 [#b2cd4fa0]
複数のIM920sのモジュールから親機を決めます。IM920sのモジ...
親機のシリアル番号をグループIDとしてネットワークを構成す...
親機となるモジュールを決めたら、最低限度以下の設定を行い...
***親機のIDの確認 [#uba1a7cc]
ターミナルからRDIDと入力すると親機のIDが8桁の16進数で表示...
&ref(./SERIAL.JPG,50%);&br;
IM920sモジュールの表面にS/Nが印刷されていますが、これは10...
私の手元にある親機はS/N 00002250なので、これを16進数化す...
(コマンド)&br;
RDID&br;
&ref(./TERMINAL1.JPG,50%);&br;
ターミナルでコマンドを入力する際、キーボード入力は画面に...
***ノード番号の設定 [#g71dd2f4]
ノード番号とは同一のグループIDのネットワークに接続された...
(コマンド)&br;
ENWR&br;
STNN 0001&br;
RDNN&br;
&ref(./TERMINAL2.PNG,100%);&br;
“ENWR”コマンドはIM920sに搭載されているFlashメモリを書き込...
“STNN 0001”はノード番号を0001に設定するコマンドです。ノー...
“RDNN”は設定されたノード番号を読み出すコマンドです。ノー...
***グループ番号の設定(送信) [#w31e4e32]
ノード番号を0001と設定した事で親機である事が確定されまし...
(コマンド)&br;
STGN&br;
&ref(./TERMINAL3.PNG,100%);&br;
COM10は親機、COM7は子機に該当します。&br;
親機(COM10)でSTGNコマンドを実行すると自動的にグループ番号...
**子機の設定 [#j3990bba]
親機のノード番号、グループ番号が確定したところで、子機を...
***ノード番号の設定 [#lc2ae727]
親機のノード番号は0001ですので、この番号を避け、他の子機...
(コマンド)&br;
ENWR&br;
STNN 0002&br;
RDNN&br;
&ref(./TERMINAL4.PNG,100%);&br;
***グループ番号の設定 [#wc2d399a]
親機の設定のところでも説明しましたが、グループ番号は親機...
(コマンド)&br;
STGN&br;
“GRNOREGD"と表示されればグループ番号が設定された事になり...
&ref(./TERMINAL5.PNG,100%);&br;
**ブロードキャスト通信実験 [#z2babf01]
実際に親機から子機へ通信データを送ってみます。もっとも簡...
ブロードキャスト送信は文字通り特定の受信機を指定せず、す...
|~DCIO|非キャラクタ入出力モード|
|~ECIO|キャラクタ入出モード|
非キャラクタ入出力モードはデータをHEX値として表現するモー...
***DCIO mode [#fa846c92]
(親機側コマンド)&br;
TXDA AB,CD&br;
(子機側受信文字列)&br;
&ref(./TERMINAL6.PNG,100%);&br;
[00hはダミー],[0001hは送信元ノード番号],[DFhは電波強度(RS...
TXDAに続く文字列はカンマで区切られた16進数のHEX値としてや...
***ECIO mode [#wd0dd540]
(親機側コマンド)&br;
TXDA ABCD&br;
(子機側受信文字列)&br;
&ref(./TERMINAL7.PNG,100%);&br;
TXDAに続く文字列はASCII文字列としてやり取りされます。&br;
**ユニキャスト通信実験 [#q65084ec]
ユニキャスト通信は送り先ノード番号を指定して、特定のノー...
***親機から子機へ [#r0e536bb]
(親機側コマンド)&br;
TXDU 0002,ABCD&br;
(子機側受信文字列)&br;
&ref(./TERMINAL8.PNG,100%);&br;
***子機から親機へ&br; [#ee7e0c28]
(子機側コマンド)&br;
TXDU 0001,ABCD&br;
(親機側受信文字列)&br;
&ref(./TERMINAL9.PNG,100%);&br;
以上のように、非常に簡単な設定でUART経由でブロードキャス...
*ハードウェア実装 [#b40de500]
IM920sの通信モジュールの最低限度の使い方がわかったところ...
システム構成をみて下さい。単純にArudinoとIM920sとGPSモジ...
USB端子はプログラムの書き込み時やデバッグ時に使います。追...
CENTER:
&ref(./IM920S_SYSTEM_DG.PNG,100%);&br;
システム構成&br;
CENTER:
&ref(./GPS_BOARD.PNG,100%);&br;
実体写真&br;
CENTER:
&ref(./IM920S_PIN.jpg,50%);&br;
ちなみに、IM920sをUSBインターフェースボードから外した後、...
写真では画面表示用のOLEDが映っていますが、今回は間に合い...
*ソフトウェア実装 [#z44f1a72]
**処理フロー [#n8df7aa6]
ソフトウェアはArduinoの標準IDEにて開発をしました。&br;
前述の通り、基本フローは非常に単純です。
+初期設定
+GPSからの出力をUARTで読み込む
+読み込んだUARTの文字列から座標情報のみを抜き出す
+座標情報をIM920Sのパケット情報へ変換する
+IM920SへUART経由で送信する
+送信完了を待ち
+(2)へ戻る
Arduino Nanoですが、ハードウェアでサポートしてるUARTは1...
今回、IM920sとGPSモジュール向けに最低2つのUARTが必要とな...
-通信速度を4800bpsまで落とす
-GPSの情報更新頻度を1秒毎にする
-GPSからの位置の取得は30秒に一回にする
-IM920Sは子機から親機への出力のみにする
-送信パケットには経度、緯度情報だけとする
これらの制限を前提とするとでソフトウェアを簡略化していま...
** GPSデータの処理 [#u7539f0a]
GPSモジュールから出力される文字列は規格で決まっています。...
今回利用したGPSモジュールの出力の一例を示します。&br;
GPSからはUARTを通じて以下のような文字列が送出されます。&br;
CENTER:
&ref(./GPS_LOCATION.PNG,100%);&br;
(自宅の場所がばれるので一部隠しています(^^; )
|ヘッダ|協定世界時(UTC)|ステータス|緯度|北緯/南緯|経度|東...
|$GPRMC|230838.000|A|34AA.BBBB|N|139CC.DDDD|E|0.24|291.84...
&br;
フォーマットの詳細はNMEAについてネット検索してもらえば有...
このGPSからの文字列を抜き出してしてIM920sのパケット情報へ...
|コマンド|送信先ノードID|緯度|北|経度|東|送信パケット番号|
|TXDU|0001|34AA.BBBB|N|139CC.DDDD|E|2(デバッグ用)|
(例:送信側)
TXDU 0001,34AA.BBBB,N,139CC.DDDD,E,2
(例:受信側)
00,0002,34AA.BBBB,N,139CC.DDDD,E,2
受信側である親機はこの緯度/経度情報を画面に表示すれば良い...
*実験結果 [#ue83bcf2]
それでは実際に動作を確認してみます。今回は自宅を中心に発...
**条件 [#y92d1af2]
作業環境の都合もあるのです、今回親機は自宅2階の作業用PC...
今回はGPSを搭載した子機を私が手でもったまま自宅周辺を周回...
**受信データの処理 [#j748b71f]
本来であれば、リアルタイムで受信したデータを画面上にピコ...
&ref(./GPS_RECEIVED.PNG,50%);&br;
受信したデータは親機のターミナル上に上記のように表示され...
[[KTGIS.NET>http://ktgis.net/gcode/lonlatmapping.html#gma...
&br;
フォーマット変換ですが、少々コツが要ります。GPSモジュール...
ところが、GoogleMapを代表するインターネット上の地図サービ...
(例)&br;
|~緯度情報(GPS出力60進)|35BB.CCCC|
|~緯度情報(Web用10進)|35.0+(((BB.CCCC)/100)/60)|
ターミナルのログデータをエクセルに取り込み、緯度/経度情報...
**親1対子1の場合 [#uebf4921]
親1対子1の場合です。設定上はメッシュネットワークになって...
今回使ったIM920sは10cm程度のワイヤアンテナしか装備してい...
CENTER:
&ref(./HOME_LOCATION.PNG,100%);&br;
親機から一番遠い箇所で85m程度です。&br;
&ref(./GPS_P2P.PNG,100%);&br;
実際の測定結果です。&br;
親機が置いてある南側に面している自宅前は良く取れてますが...
それでも家屋の内側に置いた10cm程度のワイヤーアンテナでこ...
**親1対子2のメッシュネットワークの場合 [#q1926246]
親1対子1の場合、家の周囲で受信が難しい理由は、親機が部...
この場合、単純ホッピングでも良いのですが、動的ネットワー...
CENTER:
&ref(./GPS_MESH.PNG,100%);
明らかに受信箇所が増えています。前述の通り、北側は家屋の...
**考察 [#e25aa2d8]
今回はIM920sの通信性能の実験だった訳ですが、密かにGPSモジ...
また、メッシュネットワーク用に子機を1台追加することで明...
*将来への展望 [#l56eea0f]
今回は時間の都合もあり、1台の子機からの信号をPCで受信す...
例えば、携帯ネットワークが存在しない山奥での登山やハイキ...
また、今回は親機がPCではありましたが、親機をスマートフォ...
*まとめ [#wa425671]
夢は映画や漫画に出てくるような追跡装置だった訳ですが、今...
世間では4Gから5Gへの移行が叫ばれるご時世ではありますが、...
今回の記事を通じてlow bit rateなシリアル通信でもWANとの組...
正直、私も最初は「920Mhzのマルチホップモジュールってどう...
是非ともこの記事を参考に、もっと面白いアプリケーションを...
*(履歴) [#u77838c6]
2019.09.30 公開&br;
2019.10.07 一部追記・修正&br;
ページ名: