はじめに
WisGate Developer Base RAK7371 を使ってLoRaWANゲートウェイを自作する -失敗編- の続き。RAK社のLoRaWANゲートウェイを開発するためのUSBデバイスであるWisGate Developer Baseを使ってオレオレLoRaWANゲートウェイを作ってみる。
前回は失敗編… もとい試行錯誤編。
こちらは成功編である。
前回までは公式ガイドに則ったやり方およびオリジナルのBasic Stationを使った方法では無理であったのを紹介した。
そこで思った。RAKが作ったBasic Stationがあれば解決するんじゃないか?と。ないわけがない、と思った。
あった。
注意
RAKのLoRaWANデバイスは技適を取ってないケースが多い。必ず技適の有無を確認し、もし未認証の場合には、シールドルームの中で作業するとか、特例申請を出すなどして違法状態にならないよう事前に準備しておくこと。
対象リポジトリ
前回も紹介させていただいた xoseperez さんがbasicstationをもっており、↑はそこからフォークしてある。とはいえ今のところHEADは揃っているのでどちらを使ってもいい。私は公式アカウントに紐づくこちらのリポジトリを使わせてもらった。
使い方
アップストリームのbasicstationとは全然違う構造になっている。コンテナが前提となっており、むしろ扱いやすくなっている。
こちらはもうREADMEに SX130xシリーズをUSBで使うことがサポートされていることが述べられている。
さて、やってみる。dockerなどコンテナ環境の構築は既にあるものとして話を進める。
docker-compose.ymlの修正
基本的にはymlをイジれば終わる。私が動作確認済みの最低限の修正箇所だけ抜粋。
ちなみに本当は環境変数に直接的に証明書とかを突っ込むのはやめたほうがいいが、今の段階はあくまで検証なのでベタ書きする。READMEに書いてあるとおり、実運用時などは docker secrets を作ったほうが望ましい。
devices:
- /dev/ttyACM0
environment:
INTERFACE: "USB"
DEVICE: "/dev/ttyACM0"
USE_CUPS: 1
CUPS_URI: "CUPSサーバーの宛先エンドポイント"
CUPS_TRUST: "cups.trustの中身をそのままベタ書き"
CUPS_CRT: "cups.crtの中身をそのままベタ書き"
CUPS_KEY: "cups.keyの中身をそのままベタ書き"
最低限、以上の部分だけをイジればそれで完成!
他のパラメーターも懇切丁寧にコメント書かれているので見れば大体わかるはず。
ちなみに必要に応じて、environment.GATEWAY_EUI をイジれば任意の値に変えられるのでどうぞ。
あとはもう簡単。
$ docker compose up
やったーーーーーーーーーー!!!!!!!!!!!
basicstation | 2025-12-21 15:14:43.102 [S2E:INFO] TX power: 14.0 dBm EIRP
basicstation | 2025-12-21 15:14:43.102 [S2E:INFO] JoinEUI list: 0 entries
basicstation | 2025-12-21 15:14:43.102 [S2E:INFO] NetID filter: FFFFFFFF-FFFFFFFF-FFFFFFFF-FFFFFFFF
basicstation | 2025-12-21 15:14:43.102 [S2E:INFO] Dev/test settings: nocca=0 nodc=0 nodwell=0
basicstation | 2025-12-21 15:14:45.379 [S00:INFO] [timestamp_counter_mode:431] using legacy timestamp
basicstation | 2025-12-21 15:14:45.687 [S00:INFO] Concentrator started (2s580ms)
動作確認
今回はAWSで動作確認しているが、CUPS/LNSが使えれば何でもよいので、他のプラットフォームでも同じやり方で接続確立できるはず。
その他
失敗編でも言及した station.conf や 各種証明書ファイルなどをconfigレベルで渡すことも可能。
こちらのほうが柔軟に設定できるのでゴリゴリにイジるならこの手法のほうがよいかも?
volumes:
- /opt/rak-gateway/config:/app/config:ro
あとがき
私にとって紛れも無い救世主であるxoseperezさんはどうもRAKに勤めているようだ。そういうこともあってRAK関連サポートのContributionを数多く行っている模様。
色々追いかけるとめちゃくちゃこの人が色々作ってくれている。本当に本当に大感謝・・・!
