📶

農業IoTの準備として、TWELITEを使った環境情報の取得をやってみた-その2(中継器)

2022/01/06に公開

前回の記事では、環境情報の取得を行いました。
今回は、中継器について記載します。

📑本記事のシリーズ

😟困ったこと

無線通信のため、遮断物があったり/通信距離が長い場合、親機と子機を直接通信することができません。

Image from Gyazo

そのため、中継器を用意し、データの迂回を考えます。

Image from Gyazo

💡やったこと

Image from Gyazo

その1の子機と親機との間に中継器を追加し、データの中継を確認します。

🔧パーツ一覧

子機と親機は、前回と同じです。

  • 子機
    • TWELITE DIP
  • 親機
    • RaspberryPi + モノワイヤレスUSBスティック

中継器は、モノワイヤレスUSBスティックのみとなります。

接続図

特になし

💻環境

開発環境

本記事で作成するファームは1つとなります。

Image from Gyazo

① - ③のプログラムおよび環境の構築は、前回記事を参照ください。

中継器側

  • ④中継器ファーム
    • Windows10 Home Edition - TWELITE Stage v1-0-9

📝手順

プログラムは、サンプルのまま使用します。
コードの修正はありませんので、コードは割愛します。

④中継器ファーム

中継器ファームは、サンプルプログラム - App_Wings_MONOSTICKとなります。

インタラクティブモードの設定

初期値では、子機/親機と通信できません。
前回の記事でも記載しましたが、

  • APP_ID : アプリケーションID(子機、親機とも同じIDでないと、親機の通信ができない)
  • CHANNEL : 周波数帯(子機、親機とも同じ周波数帯でないと、親機の通信ができない)

を同じにする必要があります。

本設定は、インタラクティブモードから変更できます。

  1. インタラクティブモードを選択
  1. インタラクティブモードへ遷移
  1. 設定値を確認(↓は初期値)
  1. 設定値を変更し、保存する
    • Application IDを"1234abcd"へ変更
    • Channelを"13"へ変更
    • UART Baudを"115200"へ変更
    • Modeを"1"へ変更
    • Shift + Sで保存する

中継データの確認

中継器を入れた状態で、中継器と親機のデータを見てみました。

  • 親機
    • ラズベリーパイので確認
2022-01-04 21:41:25.639851
b'.. coming packet (63279)'
2022-01-04 21:41:25.748548
b'RAW PACKET -> :010D810BFBA3000000000053425331000000000A890A8003EA0AD309A31C' # <=子機データ1
recv: 2022-01-04 21:41:25.748779
2022-01-04 21:41:25.872267
b'ASCII FMT -> :0DCC17810BFBA30000000084001253425331000000000A890A8003EA0AD309A3A4'
2022-01-04 21:41:25.977056
b'SBS1(ID=13/LQ=132)-> ..not analyzed..'
2022-01-04 21:46:25.358934
b'.. coming packet (35214)'
2022-01-04 21:46:25.468239
b'RAW PACKET -> :010D810BFBA3000000000053425331000000000A810A8003EA0AD309A324' # <=子機データ2
recv: 2022-01-04 21:46:25.469566
2022-01-04 21:46:25.592227
b'ASCII FMT -> :0DCC18810BFBA30000000081001253425331000000000A810A8003EA0AD309A3AE'
2022-01-04 21:46:25.697822
b'SBS1(ID=13/LQ=129)-> ..not analyzed..'
  • 中継器
    • Twelite Stageのターミナルより確認
!INF RESET SYSTEM...
!INF MW APP_WINGS(Router) v1-01-6, SID=0x820169D0

*** RUNNING ***
!INF MW APP_WINGS(Router) v1-01-6, SID=0x820169D0

*** RUNNING ***
[PKT Ad:810bfba3,Ln:029,Seq:023,Lq:168,Tms:62743 "...........SBS1.............."] # <=子機データ1
[PKT Ad:810bfba3,Ln:029,Seq:023,Lq:168,Tms:62746 "...........SBS1.............."]
<< SEND TIME 17 <<
[PKT Ad:810bfba3,Ln:029,Seq:024,Lq:168,Tms:34678 "...........SBS1.............."] # <=子機データ2
[PKT Ad:810bfba3,Ln:029,Seq:024,Lq:168,Tms:34685 "...........SBS1.............."]
<< SEND TIME 18 <<

表示方法が異なるためわかりにくいのですが、子機の送信データを親機/中継器で確認することができました。

さいごに

中継器の動作していることを確認できました。
現状、障害物/距離などの細かい条件では見ていません。
実環境時に、中継器をどのように配置するか検討が必要になります。

GitHubで編集を提案

Discussion