Contenu connexe
Similaire à TTN V2からTTN V3への移行ハンズオン by TTN高崎イニシエーター/エルスピーナヴェインズ株式会社代表取締役青谷浩二様 (20)
Plus de CRI Japan, Inc. (20)
TTN V2からTTN V3への移行ハンズオン by TTN高崎イニシエーター/エルスピーナヴェインズ株式会社代表取締役青谷浩二様
- 2. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
まずはじめに、用語の確認・統一です
l 公式マニュアルでも、LoRaWANサーバ環境に対する名称がいろいろでてきます
l 念のため、整理をさせてください
1
概要 参照
TTN V2
The Things Industries V2
The Things Stack (OSS)
The Things Stack Community Edition
The Things Stack Cloud
無償提供されているLoRaWANサーバで、い
わゆるThe Things Networkのこと(ここで
は、TTN V2、あるいは単にV2と呼ぶ)
The Things Industries社によって有償提
供されていたLoRaWANサーバ(ざっく
りTTN V2の有償版)
主にTTIが主導するLoRaWANサーバの
OSSで、v3.13.1が最新版
TTN V2の後継
(ここでは、TTS V3、単にV3と呼ぶ)
TTI社が提供する有償のV3系サービス群
(サービス種別がいくつか存在)
https://www.thethingsnetwork.org/docs/
https://v2console.thethingsnetwork.org/
-
https://github.com/TheThingsNetwork/
lorawan-stack
https://www.thethingsindustries.com/docs/
http://cloud.thethings.network/
https://www.thethingsindustries.com/st
ack/
- 3. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
TTN V2の行く末
l 2021年7月1日:Read Onlyになります(諸々登録できず)
l 2021年12月31日:お別れです(涙
2
- 4. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
(補足用)The Things Stack サービス by The Things Industries
l TTI社からは、The Things Stackに関わる各種サービスが展開されている
l デプロイ環境(インフラ)、デバイス数、保守内容によって費用が変わる
3
Cloud
AWS Launcher
Enterprise
Dedicated Cloud
レベル インフラ 保守
- 5. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
V2からV3へのマイグレーション ∼参考文献∼
l まず、参考文献です(ほんの一部ですが)。
4
https://www.thethingsnetwork.org/docs/the-things-stack/
https://www.thethingsindustries.com/docs/getting-
started/migrating/
https://youtu.be/DL87O5zNE_4
http://joomlaweb.blog117.fc2.com/blog-entry-1915.html
- 6. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
V2からV3へのマイグレーション ∼大前提∼
l 本日は、TTN V2からTTS V3(Community Edtion)への移行についてです。
5
l V2でアカウントを持っている
l V2上に登録しているエンドデバイスとゲートウェイを管理している
l V3でアカウントを持っていて(V2アカウントから連携可能)、いずれかのクラスタを
選び、V3が利用可能である
前提条件
- 7. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
V2からV3へのマイグレーション ∼いくつか方法があります∼
l 条件によって、マイグレ方法・手段が異なります
6
1 デバイス認証は、OTAAですか?(ですよね?!)それとも、ABPですか?
2 GWは、すぐに移行できますか?もう少し時間をおきたいですか?
3 マイグレ対象のエンドデバイスはどのくらいの数ありますか?
4
エンドノードのアクティブなセッションでの移行は可能ですが、移行対象が(TTS V3
ではなく)The Things Stack Cloudの有償サービスの場合に限ります。
ABPの場合は、少し手間が増えます。 ※OTAAが強く推奨されています
すぐ移行できない場合は、 Packet Broker の恩恵を受けておきます。
※とはいえ、V2のEoSまでには移行が必要です
※どうも、ハンドラ(日本)とはうまく連携しないようです。
少ない場合はWebコンソールで、多い場合はCLIツールを使います。
- 8. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
V2からV3へのマイグレーション ∼本日の説明∼
l 本日は、Web/Terminal画面を見ながら、説明をしていきたいと思います。
7
1 デバイス認証は、OTAAとします。
2 GWも、順を追ってマイグレします。
3 マイグレ対象のエンドデバイスが、 そこそこ あるとします。
Webコンソールは軽く、メインはCLIツールの説明です。
と言いつつ、Webコンソールについては差分についても少
し説明を加えていきたいと思います。
- 9. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
発表者の環境
l OS: macOS Catalina 10.15.7
l Shell: zsh
l Homebrew 3.1.12
l Browser: Google Chrome 91.0.4472.77
l TTS V3のクラスターは、欧州 eu1.cloud.thethings.network です。
※ 適宜、北米(nam1)あるいは、豪州(au1)環境に合わせて読み替えてください。
8
- 10. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
V2からV3へのマイグレーション ∼シナリオ1(Webコンソール)∼
l エンドデバイスを、WebコンソールでぽちぽちとV3へマイグレする。
l (本来であれば)GWをマイグレせずに、V3コンソールでデータが流れてくるのがわかるのですが、、、
9
マイグレ前 マイグレ後
Application ID: 01_distancedetection_elspinaveinz
ノードデバイス: 1つ
- 11. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
シナリオ1: 操作の流れ
l https://www.thethingsindustries.com/docs/getting-started/migrating/migrating-from-v2/migrate-using-console/
10
• 移行したいデバイスを含むアプリケーションのデコーダーのコー
ドをコピー
• 移行したいデバイスのAppEUIをコピー
• 当該デバイスのEevEUIをコピー
• 当該デバイスのAppKeyをコピー
• AppKeyを書き換え&保存(デバイスの 設定 タブで変更可能)
• (V2でのapplication/deviceの削除)
V2操作 V3操作
1. アプリケーションの作成(名前ななんでも良い)
2. Payload formatters タブで、 Uplink のデータに対し
てデコーダーを登録(ßでコピーしたデコーダーをJavascriptと
して貼り付け)
3. End devices タブから、デバイスを マニュアル
(manually) で追加
1. OTAAを選択
2. デバイスのLoRaWANバージョンを選択
3. それ以外はデフォルトのまま、 Start を押下
4. End device IDを適当入力(何でも良い)
5. ßでコピーしたAppEUIを貼り付け
6. ßでコピーしたDevEUIを貼り付け
7. Network layer settings を押下
8. Frequency plan: Asia 920-923 MHz with LBT を選択
9. Regional Parameters versionが選択できる場合は、 REV
B を選択
10. Join settings を押下
11. ßでコピーしたAppKeyを貼り付け
12. Add end devide をクリック
4. 当該デバイスをリセット
5. Live data タブでデータが飛んできていることを確認す
る
- 12. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
補足
l Packet Broker の機能により、GWはV2接続のまま、エンドデバイスをOTAAで新規ジョインで登録すると、
(本来なら)V3コンソールで確認可能です
l Packet Broker が適用されるには、条件があります。
l エンドデバイスをアクティブセッションでOTAA登録、あるいはABP登録の場合は、RX1が自動的に5に設定さ
れません。よって、 手作業 が必要です。
11
- 13. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
V2からV3へのマイグレーション ∼シナリオ2(Webコンソール)∼
l GWを、WebコンソールでぽちぽちとV3へマイグレする。
12
マイグレ前 マイグレ後
- 14. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
シナリオ2: 操作の流れ
l https://www.thethingsindustries.com/docs/getting-started/migrating/gateway-migration/
13
• 移行したいGWのGateway IDの eui- 以降の文字列をコピー
V2操作 V3操作
1. + Add gateway を押下
1. Gateway ID を入力(名前ななんでも良い)
2. ßでコピーしたGateway EUIを貼り付け
3. (公開して良い場合)Gateway statusの Publicをチェック
4. Frequency plan: Asia 920-923 MHz with LBT を選択
※(移行確認後、V2での当該Gatewayを削除)
2. LoRaWANサーバの設定を変更(TTS V3、該当す
るクラスターを選択)
3. 変更を適用
当該Gatewayの管理画面
∼Dragino LPS8-JP の管理画面例∼
4. Live data タブでデータが飛んできていることを確認す
る
- 15. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
V2からV3へのマイグレーション ∼シナリオ3(CLIツール)∼
l 複数のエンドデバイスを、CLIツールで一括でマイグレする。
14
マイグレ前 マイグレ後
Application ID: 01lht65elspinaveinz
ノードデバイス: 4つ
Application ID: veinz-indoorenv-01
ノードデバイス: 4つ
- 16. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
シナリオ3: 操作の流れ
l https://www.thethingsindustries.com/docs/getting-started/migrating/migrating-from-v2/migrate-using-migration-tool/
15
1. 自端末にインストール
2. 環境変数の設定
3. マイグレ用デバイスリストの出力
4. V3側でのアプリ作成
5. V3側でのデバイスリストのインポート
6. (V3でのdecoderの登録)
7. (V2でのapplication/deviceの削除)
ttn-lw-migrateでの操作
Webコンソール か ttn-lw-cli での操作
- 17. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
(参考)コマンドライン
16
% export TTNV2_APP_ID= "移行したいデバイスを含むアプリケーションのApplication ID"
% export TTNV2_APP_ACCESS_KEY="上記アプリケーションのアクセスキー"
% export FREQUENCY_PLAN_ID="AS_920_923_LBT"
当該アプリケーションに含まれるデバイス1つだけの情報を出力する場合(出力するファイル名は自由に決めてください)
% ttn-lw-migrate device --source ttnv2 "対象のデバイスのDevice ID" --ttnv2.with-session=false > ./device.json
当該アプリケーションに含むデバイスのうち、いくつか複数のデバイス情報を出力する場合(出力するファイル名は自由に決めてください)
% ttn-lw-migrate device --source ttnv2 --ttnv2.with-session=false < ./device_ids.txt > ./devices.json
当該アプリケーションに含む全デバイスの情報を出力する場合(出力するファイル名は自由に決めてください)
% ttn-lw-migrate application --source ttnv2 "当該アプリケーションのApplication ID" --ttnv2.with-session=false > ./alldevices.json
% ttn-lw-cli app create "Application ID(ローマ字小文字で自由に) " --organization-id "当該アプリケーションの管理者のID"
全デバイスをインポートする場合(適宜、
% ttn-lw-cli end-devices create --application-id "上記のApplication ID" < ./alldevices.json
注1: 各コマンド実行前に、コマンドオプションとして、‒dry-run ‒verboseを加えて、コマンドが正しく実行できるか確認してください。当オプションを付与しないで実行した場合、V2上
での当該デバイスの設定情報が自動的に書き換えられます。
注2: 移行対象としたいデバイスが全部でなく一部(複数)の場合、Device IDのリストファイル(上記説明のde ice_ids.txt)を作成する必要があります。Device IDを1行ずつ並べた単純な
ファイルです。
- 18. ©2021 ELSPINA Veinz Inc. All Rights Reserved.
(参考)TTS V3へのCLI操作ツール: ttn-lw-cli
l https://www.thethingsindustries.com/docs/getting-started/cli/installing-cli/
17