これまで AWS IoT for lorawan (以下、AWS lorawan)は、北米リージョンでしか利用できませんでしたが、東京リージョンでも利用できるようになったので、これを機会に Dragino 製 LoRaWAN ゲートウェイ(LPS8)を AWS IoT core for lorawan に登録してみました。
使用した機材等
- Dragino 製 LoRaWAN ゲートウェイ(LPS8)
http://sales.dragino.jp/ca1/7/
すでに廃版になったらしく新しいものは以下のURLから購入可能です。新しいゲートウェイは前準備に記載のファームウェアのアップデートを実施しないでも AWS for LoRaWAN に接続可能です。
https://sales.dragino.jp/ca1/32/p2-r-s/
前準備
基本的には、以下のサイトに記載されている情報を元に LPS8 と AWS lorawan を設定します。
(他のゲートウェイ製品も同様の手順で登録できます)
Notes for AWS-IoT-Core: https://wiki.dragino.com/index.php?title=Notes_for_AWS-IoT-Core
ですが、現在購入できる LPS8 のウェブ設定画面では、AWS lorawan の設定項目が表示されないようになっています。なので、前準備として、LPS8 のファームウェアを 上記サイトと同じものに書き換えます。必要となるファームウェアは以下のサイトから取得可能です。
(LPS8 のファームウェア)
https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/old_release/lgw–build-v5.4.1614945073-20210305-1953/
(DLOS8 のファームウェア)
https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/DLOS8/Firmware/Release/old_release/lgw–build-v5.4.1614945073-20210305-1953/
このサイトに記載の bin ファイルを適当な場所に保存しておきます。
次に LPS8 の管理画面を開いて、ファームウェアをアップデートします。LPS8の管理画面の
[System] -> [Firmware Upgrade]を開いて、[Upload Firmware File] ボタンを押して、先ほどダウンロードしたファームウェア(bin ファイル)を設定し、upload ボタンを押します。その後、無事ファームウェアが LPS8 にアップロードされた後、[Preserve Settings]にチェックを入れ、[Proceed]ボタンを押します。ファームウェアのアップデートと再起動は1分程度で完了します。
アップデート前に LPS8 の管理画面の LoRaWAN タグを開いても、AWS lorawan の設定画面は出てきませんが、ファームウェアをアップデートすると、以下のように LoRaWAN タグにぶら下がっているリストに、” Amazon AWS IoT” という設定画面が追加されます。
これで前準備は完了です。
AWS IoT core for lorawan へのゲートウェイ情報の入力
上記の前準備が終わったら、今度は AWS IoT core for lorawan へ LPS8 を登録します。AWS IoT for lorawan は、AWS IoT の1機能なので、サービスとして独立して存在するわけではないことに注意してください。
ゲートウェイの追加
次にAWS IoTに ゲートウェイ情報を登録します。AWS IoT core のコンソール画面左のリストから[LPWANデバイス]をクリックし、その中のリストの[ゲートウェイ]を選択します。ゲートウェイのページには登録されているゲートウェイの一覧が表示されており、その右上に[ゲートウェイの追加]というボタンがあるので、それをクリックします。その後、以下の画面が現れるので、「ゲートウェイのEUI」と「周波数帯」を入力します。
ゲートウェイEUIとは、LoRaWANゲートウェイ装置に付けられる識別子です。ゲートウェイEUIは16進数で16文字で、LoRaWANの規格(?)によって、ゲートウェイが持つネットワークカードのMACアドレスの6文字目と7文字目の間に”FFFF”を挟んだものをゲートウェイEUIにするということが決められています。つまり、MACアドレスが「00:11:22:33:44:55」である場合は、ゲートウェイEUIは「001122FFFF334455」となります。LPS8の持つネットワークは、有線と無線LANの両方がありますが、有線のほうはGUIから見られないので、WiFi の MAC アドレスに FFFF を付与してゲートウェイEUIとします。LPS8のWiFiのマックアドレスは[Network]->[Network Status]から確認できます。
周波数帯は「AS923-1」を選択し、[ゲートウェイを追加]ボタンを押してゲートウェイを追加します。
認証情報・証明書のダウンロード
ゲートウェイの追加が完了すると、次はゲートウェイをAWSに接続するための認証情報・証明書をダウンロードします。
まずゲートウェイ証明書を作成します。ゲートウェイ証明書の作成は [証明書の作成]ボタンを押すと、上記のようにゲートウェイ証明書ファイルとプライベートキーファイルが作成されるので、それらを [証明書ファイルをダウンロード]ボタンを押してダウンロードします。
次に、AWSのエンドポイント(ゲートウェイがメッセージを投げるURL)情報を取得します。ここでは、CUPSとLNSという二つのエンドポイントがありますが、CUPSのURLをコピーします。[サーバ信頼証明書をダウンロード]ボタンを押すと「cups.trust」ファイルと「lns.trust」ファイルの両方がダウンロードされますが、後で cups.trust だけ利用します。
次に、ゲートウェイのアクセス許可に「IoTWirelessGatewayCertManagerRole」を選択し[Create role]を実行します。正しく作成されていればここのリストに表示されますが、表示されない場合はIAMロールを作成してください。
最後に[送信]ボタンを押して、AWS側のゲートウェイ作成処理は完了します。
LPS8へのエンドポイントと認証情報の登録
AWS側のゲートウェイ登録は完了したので、最後にゲートウェイの設定をします。まず、[LoRaWAN] タブから[Amazon AWS IoT]を選択し、次の画面を表示します。
ここに先ほど取得した認証情報や証明書を適用していきます。「CUPS URI」は、「CUPSエンドポイントURL」のことを指していて、先ほどコピーしたURLを貼り付けます。Email は適当に書いてください。「Gateway ID」はAWSで登録したゲートウェイEUIと同じです。ゲートウェイEUIをGatewayID として入力してください。後は、先ほどダウンロードした「cups.trust」「プライベートキー」「ゲートウェイ証明書ファイル」を[ファイル選択]ボタンを押して選択し、[Upload_***]ボタンを押してアップロードします。最後に、[Save&Apply]ボタンを押すと設定完了です。 [Save&Apply]ボタンを押すと、LPS8のLoRa通信インジケータ(LPS8表面の左から2つ目のLED)が1秒ほど緑に光ります。これが光ったら、AWSに対してゲートウェイが keep alive データの送信を開始します。
ゲートウェイが正常に登録されたかどうか確認
LPS8のLoRa通信インジケータが1秒ほど緑に光ったら、AWSに対して通知が届いているかどうか確認します。AWS IoT のページで、[ワイヤレス接続]->[ゲートウェイ]を選択し、ゲートウェイ一覧を表示します。ゲートウェイ一覧には、「ゲートウェイID」「名前」「説明」「最後に受信したアップリンク」の4つの情報が表示されており、ゲートウェイから全く情報が通知されていなければ 「最後に受信したアップリンク」 にハイフンが表示され、何らかのデータを受信していれば、以下のような日付が入ります。
日付が入っていれば LPS8 の AWS IoT core への登録は完了です。
コメント
[…] Dragino 製 LoRaWAN ゲートウェイの AWS IoT for lorawan への登録方法これまで AWS IoT for lorawan (以下、AWS lorawan)は、北米リージョンでしか利用できませんでしたが、東京リージョンでも利用でき […]