LoRa無線通信モジュールES920LRの表面実装版の加工
購入してすぐに利用できる長距離移動無線通信LPWA(Low Power Wide Area)の通信モジュールは数多く市販されています。LPWAにはいくつかの種類がありますが、小さなデータをできる限り遠距離まで届ける点では、LoRa(Long Range)と呼ばれるものが広く使われています。
ところで、日本国内でこのようなLoRa無線通信モジュールを手軽にかつ合法的に使用するためには、技術基準適合制度(技適)に認定されたものを使用することになります。技適取得済みのLoRa無線通信モジュールの製品はいくつかありますが、早い時期に市場に現れたEASEL社のES920LRが有名です。この開発キットと共に購入した追加のES920LRモジュールが表面実装(SMT: surface mount technology、プリント基板に直接取り付けることを意図した部品)でした。加工がやや面倒なために、この通信モジュールをしばらく放置していました。
これをなんとか利用してみようと思いました。そこで、まずは技適取得済みのアンテナ を半田付けしました。通信モジュールとアンテナとのセットで技適の認証をうけていますので、あとで好きなアンテナを利用できないからです。次に、この通信モジュール本体をひっくり返し、穴あき基板上にボンドで固定して、プルアップ抵抗やコネクタなどの必要なものを配線しました。なるべく小さく、を意識して作りました。
そして、この基板をRaspberry Pi 3に接続して動作試験をしました。成功です。もし「合法的な機器であることを示すために技適マークを見せなさい」と言われたら…ボンドをはがして技適マークを見せることになります。
(2019-12-02 ご質問があり追記しました)
配線はER920LRのデータシートの17ページを参考にして行いました。スリープ端子(16番ピン)を10キロオーム抵抗でプルアップし、リセット端子を10キロオーム抵抗を通してRaspberry PiのGPIOに接続しました。電源のパスコンデンサとして0.001マイクロファラッドのものを使いましたが、なくてもかまわないようです。簡単な配線図は次の通りです。
Raspberry PiのGPIOピンにそのままこのモジュール基板を挿入できるようにしたかったのですが、設定前に必要となるリセットピンが離れているために、ワイヤでこのモジュールとRaspberry Piを接続することになりました。
データシートの13ページにある通り、ES920LRの電源電圧は3.3 Vです。一方、Raspberry Piの制御電圧は3.3 V、Arduinoの制御電圧は5 Vなので、Arduinoを制御マイコンとして用いるためにはレベルコンバータが必要になります。
同一のLoRa通信モジュール2台の間で通信を行うためのプログラムは次の通りです。一方をサーバ、一方をクライアントとして、クライアント側のキーボード入力をエコーバックするものです。サーバ側のプログラムは次の通りです。
クライアント側のプログラムは次の通りです。