LoRaモジュールES920LRの設定と無線通信の確認

組み込みエンジニア

こんにちは、ENGかぴです。

ES920LRはEASEL社製の特定小電力無線モジュールでありLoRa通信ができるのが特徴です。ES920LRを親機と子機の設定を行うことで簡単にLoRa通信を実現することができます。ES920LRの設定を行うための周辺回路を製作し親機と子機の通信を行う方法をまとめました。

ES920LRB(EASEL製:東京デバイセズで購入)を2台使用して親機と子機の設定を行います。ES920LRには後継機種としてES920LR2及びES920LR3があります。

パソコンでTeraTermを使用してES920LRの設定を行います。シリアル通信を行うためにUSBシリアル変換モジュールのAE-CH340E-TPEC及びAE-TTL-232R(秋月電子)を使用しています。

ES920LRの設定で通信する

近年様々なIoTモジュールが開発されていますがLoRa通信はLPWAの一種であり低消費電流で遠距離の通信を行うのに最適な通信方法です。送信できるデータ数は数バイトになりますがメンテナンスが難しい箇所のセンサー情報を取得する用途で需要があります。

LPWA通信のメリットやデメリットの特徴とIoTとの関連性

ES920LRについての特徴や詳細は下記リンクを参照してください。

EASEL社ー920MHz帯LoRaモジュール ES920LR

周辺回路を製作する際の注意事項

ES920LR単体では各種設定ができません。パソコンとES920LRを通信する周辺回路が必要になります。USBシリアル変換基板を使って設定する方法を2通りの回路例で説明します。

ES920LRのデータシートには周辺回路の接続についての注意事項が記載されています。注意事項を満たすようにプルアップ抵抗などを実装する必要があります。

  • UART_TXピン(8ピン)とUART_RX(9ピン)をプルアップする
  • GIPO(IN)ピン(16ピン)を未使用時にプルアップする

シリアル通信を行うだけなら上記のみで十分ですがリセットを使用するなど機能を追加したい場合は別途構成が必要となります。詳細はEASEL社のHPよりデータシートを確認してください。

ES920LRはピン付きのものを使用していますがハーフピッチ(1.27mm)のサイズであるため手先が器用でなければ半田ブリッジしてしまうため注意が必要です。

ハーフピッチでなくブレッドボードに差し込んで簡単に動作確認できるものであれば良かったと感じています。評価ボード(ES920EB)も購入していますが今回はマイコンに接続することを想定しているので周辺回路を製作して通信を行います。

すき間時間で資格をゲット【STUDYing(スタディング)】

周辺回路の構成

ES920LR接続用の回路例1
ES920LR接続用の回路例1

AE-TTL-232Rを使用した回路構成の例を説明します。ES920LRの動作電圧は3.3VなのでUSBから供給する電源を直接接続することができません。三端子レギュレータでUSB電源である5Vを3.3Vに変換します。

三端子レギュレータはBA33BC0FP(ローム)を使用しています。負荷側にコンデンサ(22uF~1000uF)が必要になります。消費電流はほとんどないためLP2950L-3.3V(UTC)やNJM2845DL1(西日本無線)でも代用可能です。

AE-TTL-232Rは通信ラインのみ3.3Vに切り替えることができるためUART_TXとUART_RXをプルアップして直接接続することができます。

ES920LR接続用の回路例2
ES920LR接続用の回路例2

AE-CH340E-TYPECはUSBの電源の5Vがそのまま通信ラインの電源レベルになるためで通信ラインについても電圧変換が必要です。

UART_TXはES920LRからパソコンに向けた通信になるため3.3Vから5Vに電圧変換を行います。UART_RXはパソコンからES920LRに向けた通信になるため5Vから3.3Vに電圧変換しています。

TR1とTR2のようにpnpトランジスタを使用することで通信の極性が反転しないようにしています。コレクタにはES920LRのプルアップが接続されているため通信のレベルは確定しています。

スポンサーリンク

動作確認

ES920LR接続用の回路例1を親機・回路例2を子機として設定します。USBモジュールをパソコンに接続してTeraTermでそれぞれのCOMポートで開きます。TeraTermのツールバー内の設定(S)のシリアルポート(E)を選択するとポートの設定と接続画面に遷移します。

シリアルポート設定と接続
シリアルポート設定と接続

ES920LRのデフォルトの条件はボーレート:115200bps・データ長:8bit、パリティ:none、ストップビット:1bitになります。次に端末(T)に遷移し改行コードの設定を行います。

端末の設定
端末の設定

ES920LRのコマンドは改行コード(CRLF)で認識するためパソコンからコマンドを送出する場合にCRLFを付加するため改行コードを[CR+LF]に設定します。ローカルエコーにチェックを入れると入力した文字を確認することができます。

動作モードの選択
動作モードの選択

電源を入れてTeraTermの設定を行っている間にES920LRからの文字列が送信されているためモードの選択コマンドの待ち状態になっています。起動時の文字列を確認する場合はES920LRの電源を再投入する必要があります。

文字列の受信のタイミングの関係で最初の文字が文字化けすることがありますが文字列が読み取れる状態であれば通信に成功しています。terminalモードまたはprocessorモードを選択します。今回は親機と子機が通信する際に必要な最低限の設定のみを行います。

項目ショートコマンド内容
nodea子機と親機を選択します。
panideアプリケーション固有のID番号を指定します
通信条件が同じでもID番号が異なると通信データを破棄します。
ownidf自分のID番号を指定します。親機であれば0を指定します。
dstidg通信相手の宛先番号を指定します。
自局が親機で子機の1番に送信したい場合は1を指定します。
savew設定した項目をFlashに書き込みます。
このコマンドをせずに電源を切ると初期状態に戻ります。
startzオペレーションモードに遷移して受信/送信を開始します。
設定項目

terminalモードでの設定

terminalモードに遷移させる場合は1を入力した後リターンキーを押します。

Configuration Modeの項目
Configuration Modeの項目

terminalモードに遷移すると設定項目が表示されます。今回は親機と子機が通信する際に必要な最低限の設定のみを行います。

親機の設定を行います。ES920LRは初期状態でエンドデバイス(子機)設定となっているので親機の設定に変更する必要があります。

nodeとpanidの設定
nodeとpanidの設定

node項目に遷移するためにaを入力してリターンキーを押します。設定項目の設定一覧が表示されるので、1.Coordinatroを選択するため1を入力してリターンキーを押します。「Coordinator is selected」が表示されると成功です。

次にpanid項目に遷移します。eを入力してリターンキーを押します。PAN IDはアプリケーションのID番号であり任意の値(16進数)を指定します。例では12abを指定しています。親機と子機で同じPAN IDを指定する必要があります。

Own ID とdestination IDの設定
Own ID とdestination IDの設定

Own Node IDの設定を行います。fを入力してリターンキーを押して自局のIDを指定しまが親機の場合は0を指定します。次にDestination IDの設定を行います。gを入力してリターンキーを押して通信相手の子機のIDを指定します。子機のIDを1にしているので1を指定します。

すべての設定が完了した後saveコマンドを発行するためにwを入力してリターンキーを押すと次回電源ON時に保存したパラメータで動作させることができます。

今回は動作確認のみなのでパラメータの保存はしていません。

最後に送受信モードに遷移させるためstartコマンドを発行するためzを入力してリターンキーを押します。「operation mode is ready」が表示されると送受信待ちの状態になります。

子機の設定を行います。子機はPAN IDの設定、自局の番号、通信相手の番号を設定します。親機の時と同様の方法で設定を行います。

子機の設定
子機の設定

親機と子機のPAN IDを共通にするため12abを指定しています。Own Node IDは1を指定しています。Destination IDは親機を送信先にするため0を指定しています。次回の電源ON時に設定した項目を反映して動作させたい場合はwで設定を保存します。

最後に送受信モードに遷移させるためstartコマンドを発行するためzを入力してリターンキーを押します。「operation mode is ready」が表示されると送受信待ちの状態になります。

親機から子機に向けて通信を行います。COM8で接続している親機を選択した状態で1234を入力してリターンキーを押します。

無線通信の確認(親機から子機へ)
無線通信の確認(親機から子機へ)

send data infoに1234を送信したことを示す内容が表示されます。子機のCOM11を確認するとRecieve Data(1234)が表示されているので親機からのデータが受信できていることが分かります。

子機から親機にデータを送信します。COM11で接続している子機を選択した状態でabcdを入力してリターンキーを押します。

無線通信の確認(子機から親機へ)
無線通信の確認(子機から親機へ)

send data infoにaabbを送信したことを示す内容が表示されます。親機のCOM8を確認するとRecieve Data(aabb)が表示されているので子機からのデータが受信できていることが分かります。

processorモードでの設定

processorモードはマイコンなどで簡易的なコマンド送信で各種設定が行えるモードです。ショートコマンドと設定項目の番号を指定します。

モード選択画面からprocessorモードに遷移させる場合は2を入力した後リターンキーを押します。親機の設定を行います。

processorモードでの設定(親機)
processorモードでの設定(親機)

processorモードに遷移するとOKが表示されます。nodeの設定のショートコマンドaを入力し半角スペースを入力して設定項目の番号を指定します。親機なので1を入力しリターンキーを押すと設定できます。設定を受け付けるとES920LRからOKが返信されます。

設定項目はterminalモードの時に表示されるものと同じです。設定できる項目の詳細はメーカーHPで公開されているES920LRコマンド仕様ソフトウェア説明書_v121.pdfに記載されています。

同様にしてPAN ID(ショートコマンド:e)、Own Node ID(ショートコマンド:f)、Destination ID(ショートコマンド:g)の設定を行います。設定項目を保存する場合はwを入力してリターンキーを押します。

最後にオペレーションモードに遷移するためzを入力してリターンキーを押します。次に子機の設定を行います。

processorモードでの設定(子機)
processorモードでの設定(子機)

子機ではPAN ID(ショートコマンド:e)以外の設定は初期値のままでよいのでPAN IDを設定した後にwで設定を保存しzでオペレーションモードに遷移しています。

親機が接続しているCOM8を選択した状態で12345を入力してリターンキーを押すとCOM8にOKが表示されCOM11に12345が表示されているため通信が成功していることが分かります。

子機が接続しているCOM11を選択した状態でabcdeを入力してリターンキーを押すとCOM11にOKが表示されCOM8にabcdeが表示されているため通信が成功していることが分かります。

まとめ:簡単な設定でLoRa通信ができる便利なモジュール

今回は評価ボードを使用せずにパソコンとES920LRの接続を行う例を回路例で説明しました。USBシリアル変換モジュールを使うこと簡単に設定ができますが、ES920LRのピッチが狭く半田付けしにくいのが難点でした。

TeraTermを使って親機と子機の間の通信ができていることが確認できました。ES920LR内のマイコンのソフト開発を行ってお好みのIoT機器を開発することもできそうですが開発環境に慣れる必要など難しい部分が大きいのでES920LRのマイコンのソフト開発を行うのは現実的でないと感じています。

ES920LRは簡単な設定でLoRa通信ができる便利な通信モジュールとして使用するのが良いと感じました。

LPWA通信のメリットやデメリットの特徴とIoTとの関連性

RUNTEQ-プログラミングで自由を手に入れる

最後まで、読んでいただきありがとうございました。

タイトルとURLをコピーしました