TWE-Liteを載せたRoombaを4畳半の部屋で走らせて、部屋の四隅に置いた中継器および親機でLQIを1秒毎に測定し、距離感を円で描いて動画化してみました。
上の図に、LQI値からざっくり推定した距離が円として描いてあります。距離が遠いほど大きな円になります。プロットの範囲は部屋を真上から見た形に相当し、各々の円の中心は対応する中継器の座標に配置してあります。カメラの映像とグラフの時刻が微妙に合っていないため、変化に時間差があるようです。
LQIと近さの間には正の相関があるのは見て取れますが、いくつか問題があって、この実験では可もなく不可もないという結果になりました。
- 子機と親機・中継器のアンテナ高さが揃っていないと、アンテナの垂直方向の指向性が合わないため、近くてもLQI値が小さくなる。
- 測定した部屋が狭すぎるせいか、距離の変化に比較してLQIの変動が大きい。
こんにちは.突然のコメント申し訳ありません.
返信削除YOUTUBEの動画拝見させていただきました.
自分も現在Twe-liteを用いてLQIを計測しようとしているのですが中々うまくいきません.
どうやってLQIを測ってらっしゃるのでしょうか?
差支えなければ教えていただけたらと思います.
パケットを受信する毎に、親機のUARTに出力される情報の中に、LQIが含まれています。これを拾っています。
削除標準アプリの場合は、このページで解説されています。
http://tocos-wireless.com/jp/products/TWE-Lite-USB/monitor.html
返信ありがとうございます.
削除標準アプリではなく,シリアル通信専用アプリでも可能ですか?
現在,自分はシリアル通信専用アプリでGPSデータを
無線で受信しているのですが,先ほど送っていただいたリンクにあるようなデータ列が流れてきません.
何かモードの違いでしょうか?
> 現在,自分はシリアル通信専用アプリでGPSデータを無線で受信しているのですが
削除こういう重要な情報の後出しは良くないですね。
使用しているApp_UARTのモードも書いてませんし。
App_UARTを使ったことはありませんが、ソースコードとドキュメントによれば、LQIが出力されるのは書式モードの拡張形式だけです。
http://tocos-wireless.com/jp/products/TWE-ZERO/App_Uart/mode_format.html
申し訳ありません。
返信削除説明不足でした。
モードはプロンプト無しのチャットモードを使っています。
拡張形式というのは何もしなくても出力されるのでしょうか?
ご教示ください。
何のためにLQIが必要なのでしょうか?
削除LQIを取得して、何をするつもりですか?
先に示したURLに、書式モードの拡張形式コマンドが説明されていますが、読んでみましたか?拡張形式は送信コマンドの2バイト目で指定するコマンド種別がA0の場合です。
削除http://tocos-wireless.com/jp/products/TWE-ZERO/App_Uart/mode_format.html
またも説明不足でした。
返信削除tweliteをマルチコプタに乗せてLQIを見ながら対象物に近づけて行く という実験的な事をしようとしています。
もちろん対象物にはtweliteを載せています。
やっぱりLQIで何をしたいかが意味不明です。
削除LQIの数値がなぜ必要ですか?
LQIをとれば
返信削除対象物との距離とLQIの関係
対象物との間に障害物があった場合どのくらい減衰するかがわかるのでLQIをとりたいと思っています。
このコメントは投稿者によって削除されました。
削除GPSがあるのにLQIを使う必要があるとは思えませんが、LQIを計測したいのであれば、App_UARTではプロンプト無しのチャットモードとは両立できません。チャットモードで転送されたGPSの情報にLQIを載せようとしたら、プロンプト等によってLQIを混在させるフォーマットの定義が必要になります。これには、ファームウェアと受信アプリケーションの変更が必要です。
削除受信イベントのコールバック関数には常にLQIが渡されますので、ファームウェアを改造すれば、UART以外にもGPIO,PWM,I2C等でLQIを出力する事はできます。
コメントを掲示板代わりに使って問題を解決しようとしても無理があるので、ご自身のblogで現在取り組んでいる内容を可能な限り公開することをお勧めします。
削除こんにちは、突然のコメント申し訳ありません.
返信削除記事を読み関心を持ち,実際に作ってみたいので回路図等公開していただけないでしょうか?
よろしくお願いします.
特別な回路は要りません。標準アプリのTWE-Lite数個と乾電池、USB-UART変換モジュールを用意するだけで同じ事ができます。
削除計測対象をモード4(子機間欠モード)に、ログ取得用PCからUSB-UART変換モジュールを介して接続した固定機をモード1(親機)に、その他の固定機をモード2(中継器)にセットするだけです。
ハードを用意してログを取るのは簡単です。取得したログをどう使うかの方が難しいと思います。自分でも、どうやったか忘れてしまいました。
返信ありがとうございます.
削除頑張って作ってみようと思います.
恐れ入ります.
削除実際に作ってみて分からないところがあったのですが
複数設置した中継器の区別はどのように行っているのでしょうか.
差し支えなければ教えていただきたいです.
よろしくお願いします.
親機のオプションビット0x100を立てると、出力がUART形式になります。先頭に中継器のシリアル番号が入るので識別可能なはずです。詳しくは、無線タグアプリのソースコード、Parent.cのvSerOutput_Uart()を読んでください。
削除あ~、標準アプリと言いながら無線タグアプリのソースを参照していました。ごめんなさい。後で調べ直します。
削除標準アプリのソース確認しました。標準アプリでは中継器の識別が出力されませんね。勘違いしていました。すみません。
削除無線タグアプリ(Samp_Monitor)なら中継器のシリアルが出力されるのですが、書き換えられますか?
このコメントはブログの管理者によって削除されました。
返信削除重複のため削除しました。
削除