Wio-E5 miniを動かしてみた

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

Wio-E5 miniとは?

マイコン内蔵LPWA通信モジュールWio-E5の開発ボードです。

www.seeedstudio.com

現在、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)
  • The Things Network
    • Register gateway
      • Frequency plan = Japan 920-923 MHz with LBT (channels 31-38)

セットアップした後に、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

参考リンク

変更履歴

日付 変更者 変更内容
2024/2/29 松岡 作成