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 | 松岡 | 作成 |