LPWA通信モジュールを使った長距離伝送

標準実装されているBluetoothで安定して通信できる距離は10m程度です。このページでは、LPWA(Low Power Wide Area)通信モジュールを使った数10mから数100mの通信を、実際の使用状況を想定して紹介します。

(1)農業:ビニールハウスの環境モニタと散水弁他の制御

温湿度・気圧・空気質の監視をするとともに、センサモジュールの出力端子を使って散水弁・通気窓の開閉や照明のON/OFFを行う方法を説明します。センサモジュールを使った双方向通信の事例です。

1. LPWA通信モジュールを使った農業における事例の概要

まず、LPWA通信モジュール(特定小電力通信モジュール)を使った農業における事例の概要を説明します。
下記の図1を参照してください。

何がどこに設置されているか、からです。

  1. ビニールハウス:センサモジュールとLPWA通信モジュールを設置
  2. 数百メートル離れた農家や農業事務所:LPWA通信モジュールとゲートウェイを設置

説明の都合上、農家や農業事務所からビニールハウスへの通信を上り通信といい、ビニールハウスから農家や農業事務所への通信を下り通信と言います。

図1:事例の概要図

次にそれらがどのように動くかを説明します。

  1. ビニールハウス内
    ・センサモジュール内の環境センサから温湿度・気圧・空気の質を監視させます(下り通信)。
    ・センサモジュールのデジタルIOやBluetooth機能を使って、ビニールハウス内の機器の制御を行います(上り通信)。散水栓の電磁弁や通気窓、照明などのON/OFFを制御させます。ビニールハウス内の温湿度による制御や定例の時間の散水や照明のON/OFFなども行えます。
  2. 農家や農業事務所内
    ・センサモジュールの観測データを記録します(下り通信)
    長期間のデータを保管することで、データに基づいた栽培や気象条件の変化による対応などが可能になると考えます。環境情報は、最速で3秒ごとのデータが保管できます。何秒ごとのデータを記録するかは、ゲートウェイの設定で変えることができます。
    ・センサモジュールの観測データを監視します(下り通信)
    ダッシュボードの機能を使うことで、画面で環境情報がどう変化しているかを目視で監視できます。
    ・ビニールハウスの機器を制御します(上り通信)
     - ダッシュボードで設定することで、温度がある値を超えたら、散水するとか、通期窓をあける
     - ある時間になったら散水するとか、照明をつける
    などを自動でさせることができます。

2. 事例モデルの説明

事例の確認として試作したモデル機器に関して説明します。

図2は、事例用として試作したモデル機器の写真です。基本的に図1に対応していますが、1点だけ異なります。図1では、センサモジュールのポートから散水電磁弁を制御する絵になっています。しかし、実際にはセンサモジュールの設置位置と散水電磁弁などの機器の設置位置とが離れていることも考えられることから、今回試作したモデルでは、センサモジュールからBluetoothでコマンドを飛ばしてRaspberry Piで受けてRaspberry PiのGPIOで制御する方式にしています。

 図2 試作したモデル機器

動作としては、農家・事務所内に設置したゲートウェイで、図3のようなダッシュボード画面が表示されます。

ダッシュボード画面には、ビニールハウスに置いたセンサモジュールの環境センサから、温湿度、気圧、空気の清浄度(ガス)が3秒ごとに送られてきて表示されます。

今回は、ビニールハウス内の温度に注目し、ビニールハウス内の機器制御用Raspberry Piに以下の動作をさせます。

  1. 温度が設定値を超えたら、散水電磁弁をONする(Raspberry PiのGPIOをON)
  2. 温度が設定値を下回ったら、散水電磁弁をOFFする(Raspberry PiのGPIOをOFF)

設定値は、ダッシュボードの棒グラフの下の部分で行えます。今回の試作機では、散水電磁弁をON/OFFを、黄色のLEDを点灯/消灯で代用しています。実際には、GPIOにフォトカプラを介して、リレーをON/OFFさせて、散水を行います。

図3. ゲートウェイで表示されるダッシュボード画面

以下、試作したモデルの具体的な説明に入っていきます。

2-1. 各機器の名称
  1. ゲートウェイ:Raspberry Pi 4  (「ゲートウェイの構築」の章を参照)
  2. LPWA通信モジュール:インタープラン株式会社製 IM920c
    ビニールハウス内:IM920c + IM920c用変換アダプタ
    農家・農業事務所内:IM920c + IM920c用変換アダプタ + USBインターフェイスボード
  3. センサモジュール:preMSM
  4. 機器制御用Raspberry Pi:Raspberry Pi 4
2-2. 各機器の接続方法
  1. ゲートウェイとLPWA通信モジュール間
    USBで接続:LPWA通信モジュールにUSBインターフェイスボードを付けることで、UARTがUSBに変換されます。USBケーブルをつなぐだけでOKです。
  2. LPWA通信モジュール間
    特定小電力無線で通信。IM920cは通信相手のID番号を登録する必要があります。ID番号登録(ペアリング)を含めてIM920cの設定に関しては後の項目で説明します。
  3. LPWA通信モジュールとセンサモジュール間
    UARTで接続します。図3に接続図を示します。センサモジュールのUART2コネクタのRX信号、TX信号をそれぞれ、IMC920c用変換アダプタのJ1コネクタのTxD信号、J2コネクタのRxD信号にクロスで接続します。UART2コネクタのGND信号は、J2コネクタのGND信号に接続します。UART2コネクタのVIN端子は使用しません。
    IM920cは、3.3Vの電源供給が必要です。電源供給は、センサモジュールの+VOUTコネクタの3.3VOUT信号から行います。
    センサモジュールには、別途、5Vの電源供給が必要です。試作したモデル機器では、スマートフォンモバイルバッテリからUSBケーブルで供給しました。

図4. IM920cとセンサモジュールの接続図

  1. センサモジュールと機器制御用Raspberry Pi間
    試作機器ではBluetoothで接続しています。センサモジュールとRaspberry Pi間のBluetoothの接続方法に関しては、「IoT側へのデータ転送」のページの「ゲートウェイとのコマンドによる接続」を参照ください。Bluetoothからの入力をシリアルポートとして扱えるようになりますので、Raspberry Pi側のソフト開発が他との共通化が図れ、容易になります。
2-3. 各機器の動作説明

今回の事例の特徴は、以下の3点です。それ以外は、「IoT側へのデータ転送」と大きく変りません。

  1. ゲートウェイとセンサモジュールの間をLPWA通信モジュールでつなぐ
  2. ゲートウェイからセンサモジュールへの上りの通信がある(双方向である)
  3. センサーモジュールからコマンドを出力する(ポートを駆動する)

従って、上記3点に関して詳しく説明します。

2-3-1. LPWA通信モジュールの初期設定

LPWA通信モジュールには、インタープラン株式会社製 IM920cを使用しました。IM920cは920MHz帯の電波を使って送受信をできるモジュールです。1:1通信、送信M:受信1通信、送信M:受信N通信などに対応できます。ただし、受信モジュールに送信側モジュールのIDを登録(ペアリング)する必要があります。一つの受信モジュールに登録できる送信モジュールのIDは最大64個までです。双方向通信するためには、相手側のIDを自分側で登録するとともに、自分のIDを相手側で登録する必要があります。

そのほかにも、通信モードなどの設定がいろいろありますが、詳細は、インタープラン株式会社のHPにあるIM920cの仕様書をご覧ください。

今回の試作機では、下記、デフォルト値を使用しています。

  1. 通信チャンネル設定:初期値=1(920.6MHz)
  2. 送信出力設定;初期値=3(10mW)
  3. 無線通信速度設定:初期値=2(長距離モード)
  4. シリアル通信速度設定;初期値=4(19200bps)

■ IDの登録(ペアリング方法):USB接続の場合

  • Windows PCもしくはRaspberry PiとIM920cをUSBで接続します。
     電源はUSBから供給されます。
  • シリアル通信プログラム(Windows: TeraTerm、Raspberry Pi: GTKterm)を起動します。
  • シリアルポートと通信スピードを設定します(以下、TeraTermを例として説明します)。

           図5. シリアルポートの設定(1)
    シリアルポートは、PCとの組み合わせにより変わりますので、その時の設定にしてください。また、スピードは試作では、デフォルトの19200bpsにしていますので、19200bpsを設定しています。
  • IM920cのUARTのデフォルト値の通信条件は、以下のとおりです。
    ボーレート:19,200bps、データ長:8、ストップビット長:1、パリティ:なし、フロー制御:ハードウェア(BUSYのみ)
  • 次に、端末設定を変更します。改行コードの送信側をCRのみからCR+LRに変更します。また、ローカルエコーに✔を入れます。これにより、入力したコマンドが表示されるようになります。

           図6. シリアルポートの設定(2)
  • IDの登録(ペアリング)設定
    IDの登録には、IM920cの設定コマンドを入力する必要があります。また、登録する相手のID番号を知る必要があります。登録する相手のID番号は、IM920cの表面に書かれているS/Nの数字を16進表記にしたものです。
    ペアリングは、次のステップで行います
  1. パラメータ書込み許可:ENWR <CR><LF>
  2. 通信対象とする送信モジュールのIDを登録:SRID 送信モジュールID <CR><LF>
  3. 登録されている送信モジュールIDの読出し:RRID <CR><LF>
  4. パラメータ書込禁止: DSWR <CR><LF>

以下は、7415というIDを追加登録した場合の画面です。RRIDをした場合にでてくる740Bはもともと登録されたいたIDです。新規に登録する場合には、SRIDで登録したものしかRRIDで表示されません。連続して登録する場合は、SRIDを繰り返します。すべて登録完了後にDSWRで不揮発メモリへの書き込みを禁止します。

双方向の場合は、相手側に、自分側のIDを同じように登録する必要があります。

2-3-2. LPWA通信モジュールのTXDAフォーマット(データの流し込み)

今回の試作機では、IM920cでのデータ送信は、可変長データ通信(TXDAコマンド)で行っています。また、HEX入出力設定で行いました(キャラクタ入出力設定は使用しません)。

従って、1~64バイトの可変長ユーザデータを送信し、その書式は、

TXDA data<CR><LF>

で、データは16進数をASCII文字(0~9、A~F)で入力します。

’ABCD’を送信する場合には、

TXDA41,42,43,44<CR><LF>

とASCII文字に変換して、バイトデータとして送り必要があります。環境センサのデータを送信している際のコマンド列を参考に以下に示します。

IM902cにコマンドを流し込む前に、データをHEXデータのバイナリに変換する必要があります。

同様に、受信データもHEXのバイナリで受信されますので、ASCII文字に戻す処理が受信側で必要になります。

それ以外にも、今回の試作機を開発する上で、対応したことを以下にまとめていきます。

2-3-3. センサモジュールからの下り通信:センサモジュールからLPWA通信モジュールまで

 

2-3-4. センサモジュールからの下り通信:LPWA通信モジュールからゲートウェイまで
2-3-5. ゲートウェイでのデータ処理
2-3-6. センサモジュールへの上り通信:ゲートウェイからLPWA通信モジュールまで
2-3-7. センサモジュールへの上り通信:LPWA通信モジュールからセンサモジュールまで
2-3-8.センサモジュールからの機器制御

 


(2)物流:通函モニタ

通信モードをブロードキャストにして、複数の拠点で情報を受信できるようにします。各受信拠点で取得したデータをエッジサーバーで集約し、センサモジュールのIDで検索することで1つの通函のデータを時系列に沿って解析することができます。ただし、今回に事例では、平文で情報発信していますので、暗号化などセキュリティー対策は別途必要です。

 

 

・ハードウエアの構成
 センサモジュールに取り付ける無線モジュールはブロードキャストモード
 受信機からはゲートウエイを介して、組織内のエッジサーバーへ

 

 

 


実験にはインタープラン株式会社の920MHz帯通信モジュールをつかいました。