Dragino LA66 USB LoRaWAN Adapter とは
-
Draginoという中国・深センのIoTメーカーが出している簡単にLoRaWANノードになれるUSBデバイス
- 公式のプロダクトページ
- Dragino ダイレクトショップ で購入可能
- LA66というのは彼らが持っているLoRaチップのこと
- これをUSB変換で操作可能にしたアダプターのこと
- つまり、例えばmacやWindows端末、RasPiなどから簡単にUSB接続でLoRa通信を試すことのできるお手軽デバイス
前提
- PC端末などからはUSB経由でシリアル通信しATコマンドを投げてやりとりする
- まぁこの手のデバイスでよくある形式のやつ
- つまるところ単なるシリアル通信なので端末は何でもよし
- ボーレートは 9600bps であることに注意
- LoRaWAN v1.0.3にまでしか対応していないので注意
- 1.0.4や1.1には対応していない
- そのため後述のAWSでの利用時にもOTAA v1.0.x を選ぶ必要がある
使うにあたっての参考資料
💡 あまり日本語でのノウハウは転がってないのでまず一次情報を頼りまくるのが良しまずは試してみる
-
AT+CFGで現在のコンフィグを全部表示- ※この例ではDeviceEUIや各種KEYなどはFFで潰している
$ minicom --wrap --device /dev/tty.usbserial-0001 -b 9600
$ AT+CFG
AT+DEUI=FF FF FF FF FF FF FF FF
AT+APPEUI=FF FF FF FF FF FF FF 02
AT+APPKEY=FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
AT+DADDR=FFFFFFFF
AT+APPSKEY=FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
AT+NWKSKEY=FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
AT+ADR=1
AT+TXP=0
AT+DR=2
AT+DCS=0
AT+PNM=1
AT+RX2FQ=923200000
AT+RX2DR=2
AT+RX1DL=1000
AT+RX2DL=2000
AT+JN1DL=5000
AT+JN2DL=6000
AT+NJM=1
AT+NWKID=00 00 00 00
AT+FCU=0
AT+FCD=0
AT+CLASS=A
AT+NJS=0
AT+RECVB=0:
AT+RECV=
AT+VER=AS923 v1.3
AT+CFM=0,7,0
AT+SNR=0
AT+RSSI=0
AT+PORT=2
AT+CHS=0
AT+RX1WTO=7
AT+RX2WTO=7
AT+DECRYPT=0
AT+SLEEP=0
AT+BAT=3315
AT+DWELLT=1
AT+RJTDC=20
AT+RPL=0
AT+TIMESTAMP=systime= 1970/1/1 00:02:01 (121)
AT+LEAPSEC=18
AT+SYNCMOD=0
AT+SYNCTDC=10
AT+DDETECT=0,1440,2880
AT+SETMAXNBTRANS=1,0
AT+DISFCNTCHECK=0
AT+DISMACANS=0
Start Tx events
OK
よく使いそう / 使うかもしれないATコマンド
| ATコマンド | 説明 |
|---|---|
| AT+FDR | 工場出荷時設定へリセットをかける が、実際にはKEYなどは飛ばないので中途半端には設定は残る |
| AT+CFG | 全部の設定の表示 一つずつGETするよりは一括で見れたほうが速かったりするのでお世話になりがち |
| AT+DEUI | 普通は出荷時の設定を使うだろうがもちろん変更もできるので必要に応じて。LNS側で過去のノードを引き継いで何かやりたい…みたいなときならお世話になるか? |
| AT+APPKEY | 工場出荷時のKEYだとアレだと思うので変えたくなるはず |
| AT+JOIN | 各種設定を変えたあとに敢えてジョインするときに使用, 特に紐づくLoRaWANネットワークを変えたときにはまずJOINできるかどうかっていうのは最初の関門のはず |
| AT+ADR | 普通は有効状態で使うと思うが、検証などでADRを効かせたくときは敢えて 0 = Falseで利用すべし |
| AT+CLASS | デフォはAだが、まぁ検証ならCを使うこともあるはず 適宜変更しましょう |
| AT+DR | 手動でDRを変えたいときに利用 まぁ検証ぐらいでしか使わないと思う |
| AT+NJM | デフォは1 = OTAAを利用, まずイジらないと思うが、敢えてABPを使いたいときなどには変えましょう |
| AT+PNM | Private LoRaでやるなら 0 = False状態で利用しましょう, デフォは1のLoRaWANモードでOK |
| AT+SEND | 後述 |
| AT+RSSI / AT+SNR | 読んで字の如くRSSIとSNRのメトリクス取得, 本番運用時にも役立つっちゃ役立つと思うが、まぁADRに全部おまかせで良いとは思う |
AT+SENDコマンドによるデータの送り方
- AT+SEND あるいは AT+SENDB で送信可能
- 自然文字列で送るなら前者だし、HEXで送りたいなら後者
- 上述のマニュアルには何も書いてないのだが以下のようなフォーマットで送ることが可能
- CONFIRMATION_MODEは1なら送信後にAckを待つ
- Ackがないなら他設定に従って何度かリトライする
AT+SEND={CONFIRMATION_MODE},{PORT},{PAYLAOD_LENGTH},{PAYLOAD}
- 例
AT+SEND=0,2,5,happy
もしAWS IoTに登録するには
- 本デバイスでは工場出荷時に著名なLoRaWANサービスである The Things Networkで有効なOTAAキーが仕込まれており簡単に使えるようになるらしい
- が、私はAWSで使いたかったので、これは試してない
- まぁAWSだろうがなんだろうが、その他のLoRaチップだろうが、変わらず普通にLoRaWANとして成り立つための各種EUIやKEYの設定が成り立っていればOK
- LA66チップだから、このデバイスだから、何か特殊なことがあるわけではない
- 単純にAWS IoT Coreで以下の設定のThingを登録すればOK
| 設定項目 | 設定値 |
|---|---|
| ワイヤレスデバイスの使用 | OTAA v1.0.x |
| DevEUI | ATコマンド経由で取得した値を使用 |
| AppKey | ATコマンド経由で取得した値を使用あるいは手動で設定し直した値を使用 |
| AppEUI | ATコマンド経由で取得した値を使用あるいは手動で設定し直した値を使用 |