Seeed K.K.の松岡です。
SeeedのLoRaWANデバイス製品のうちの一つ、Wio-E5 miniがきました。さっそく、動かしてみましょう。Wio-E5 miniとSenseCAP M2 Gatewayを使ってThe Things Networkへデータを送ってみたいと思います。


Wio-E5 miniとは?
マイコン内蔵LPWA通信モジュールWio-E5の開発ボードです。
現在、Wio-E5関連で様々な製品を出していますが、

その中で、Wio-E5 miniはWio-E5モジュールとアンテナ、USB-UART変換チップが載っていて、追加部品無しで動かすことができる製品です。また、工場出荷時にFactory AT Firmwareというファームウェアが書き込まれているので、PCからATコマンド風なコマンドで手早くLPWA通信を試すことができます。
内容物
内容物はこちらです。アンテナが長い!195mmもあります。アンテナが長いので、基板のコンパクトさが際立ちます。基板は50x25mmです。

動かしてみる
The Things Networkのゲートウェイを用意
SenseCAP M2 GatewayをThe Things Networkでセットアップします。(参考:SenseCAP M2 Gateway Connecting to TTN)
特に、次の設定は間違えないように注意します。ヤバい周波数で出力しないように。
- SenseCAP M2 Gateway
- LoRa - Channel Plan
- Region =
AS923 - Frequency plan =
Japan 920-923 MHz with LBT (channels 31-38)
- Region =
- LoRa - Channel Plan
- The Things Network
- Register gateway
- Frequency plan =
Japan 920-923 MHz with LBT (channels 31-38)
- Frequency plan =
- Register gateway


セットアップした後に、The Things NetworkのゲートウェイにあるLive dataに、定期的にReceive gateway statusが表示されれば、ゲートウェイとThe Things Networkが正常に通信できています。

Wio-E5 miniをセットアップ
Wio-E5 miniにアンテナを取り付けて、PCとUSBで接続します。アンテナが長い!!

コマンドを送ってみるAT+VER?
それでは、ターミナルソフトを使ってシリアルポートにコマンドを送ってみましょう。
通信設定を9600, 8, N, 1、送受信デリミタをLFにして、AT+VER?コマンドでファームウェアのバージョンを取得します。

うーむ、ファームウェアの受信タイムアウトが短く設定されているようで、入力している途中でInput timeoutエラーが発生してしまいます。
イライラするので、、、Visual Studio Codeの拡張機能、Serial Monitorを使うことにします。Serial Monitorのターミナルモードを切り替えて使うことで、PCで一行分入力しておいてから一括送信することが出来るからです。

無事、バージョン番号が取れて、かつ、イライラしなくなりました。😊
初期設定
Wio-E5 miniを初期設定して、The Things Networkにデバイス登録します。
まず、Wio-E5 miniのLoRaWANを設定します。
AT+FDEFAULT... 工場出荷時に初期化AT+LW=VER,V103... LoRaWANプロトコルのバージョンを1.0.3に設定AT+DR=JP920... チャンネルプランをJP920に設定(JP920はAS923を日本用にカスタマイズしたもの)AT+MODE=LWOTAA... アクティベーション方式をOTAAに設定
AT+FDEFAULT +FDEFAULT: OK AT+LW=VER,V103 +LW: VER, V103 AT+DR=JP920 +DR: JP920 AT+MODE=LWOTAA +MODE: LWOTAA
次に、The Things Networkでデバイスを登録するときに必要なDevEUIとAppEUIを取得します。
AT+ID=DevEui +ID: DevEui, 2C:F7:F1:20:51:00:67:BE AT+ID=AppEui +ID: AppEui, 52:69:73:69:6E:67:48:46
そして、The Things Networkにデバイスを登録します。
- Frequency plan =
Japan 920-923 MHz with LBT (channels 31-38) - LoRaWAN version =
LoRaWAN Specification 1.0.3 - JoinEUI = (
AT+ID=AppEuiコマンドで取得した値)

- DevEUI = (
AT+ID=DevEuiコマンドで取得した値) - End device ID = (必要に応じてわかりやすい名前にする)
ここで忘れてはいけないのがAppKeyの生成&取得です。Generateをクリックして、表示されたAppKeyをコピーしておきます。

さきほどコピーしたAppKeyをWio-E5 miniに設定します。
AT+KEY=APPKEY,"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
AT+KEY=APPKEY,"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +KEY: APPKEY xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
以上で初期設定完了です。
データ送信
データ送信する前に、ネットワークにJOINします。
AT+JOINコマンドを実行して+JOIN: Network joinedと表示されれば成功です。失敗したときは、めげずに何度もAT+JOINコマンドを実行します。
AT+JOIN +JOIN: Start +JOIN: NORMAL +JOIN: Network joined +JOIN: NetID 000013 DevAddr 26:0D:F2:CE +JOIN: Done
JOIN直後はデバイスの設定情報を受信しなければいけません。
+MSG: FPENDINGが表示されなくなるまで、AT+MSGHEXコマンドを実行します。4~6回実行したところで消えました。
AT+MSGHEX +MSGHEX: Start +MSGHEX: FPENDING +MSGHEX: RXWIN1, RSSI -46, SNR 8.0 +MSGHEX: Done AT+MSGHEX +MSGHEX: Start +MSGHEX: Done
いよいよデータ送信です。AT+MSGHEX="xx"コマンドを使います。xxの部分に送信するデータを16進数で書きます。("1234"とした場合は、0x12と0x34の2バイトを送信します。)
AT+MSGHEX="1234" +MSG: Start +MSG: Done

参考リンク
- Wio-E5
- Wio-E5 mini
- Wio-E5 mini Connect and send data to The Things Network
- Wio-E5 AT Command Specification
- Serial Monitor extension
- SenseCAP M2 Gatewayのセットアップ
- SenseCAP M2 Gateway Connecting to TTN
変更履歴
| 日付 | 変更者 | 変更内容 |
|---|---|---|
| 2024/2/29 | 松岡 | 作成 |