SenseCAP T1000 Tracker 用 AWS クラウドサービスの使用
AWS IoT は、IoT デバイスを他のデバイスや AWS クラウドサービスに接続するクラウドサービスを提供します。AWS IoT は、IoT デバイスを AWS IoT ベースのソリューションに統合するのに役立つデバイスソフトウェアを提供します。デバイスが AWS IoT に接続できる場合、AWS IoT はそれらを AWS が提供するクラウドサービスに接続できます。
AWS IoT コンソールにログインしてください
AWS アカウントをお持ちでない場合は、こちらをクリックして作成してください。
ゲートウェイの追加
Internet of Things
に移動し、IoT Core
をクリックします。
左側のメニューで、LPWAN devices
→ Gateways
を選択し、Add gateway
をクリックします
Gateway's EUI
: ゲートウェイの EUI。デバイスラベルで確認できます。
Frequency
: ゲートウェイの周波数帯域。
Name
: ゲートウェイに名前を付けます(オプション)
SubBand
: オプションで、使用したいサブバンドやトラフィックフローを制御できるフィルターなどの LoRaWAN 設定データを指定することもできます。詳細については、AWS IoT Core for LoRaWAN でワイヤレスリソースの位置を設定するを参照してください。
ゲートウェイの設定
ゲートウェイ証明書
ゲートウェイが AWS IoT と安全に通信できるように認証するため、LoRaWAN ゲートウェイは AWS IoT Core for LoRaWAN に秘密鍵と証明書を提示する必要があります。
Create certificate
をクリックします。
証明書ファイルとサーバー信頼証明書をダウンロードして保存します。
内部に4つのファイルがあるはずです。これらは後でゲートウェイの設定に使用します。
ゲートウェイの権限
アカウントに IoTWirelessGatewayCertManagerRole IAM ロールを作成していない場合は、ゲートウェイの追加を続行する前にロールを作成してください。 このロールがないと、ゲートウェイは AWS IoT と通信できません。
Role: IoT Wireless Gateway Cert Manager Role
を選択し、設定を送信します。
CUPS URL をコピーします。次のステップで使用します。
ゲートウェイの設定
ゲートウェイの Luci 設定ページにログインします。詳細については Get_Started を確認してください。
LoRa
> LoRa Network
に移動します。
Mode
: Basic Station
Gateway EUI
: ゲートウェイの EUI
Server
: CUPS Server
URL
: 先ほどコピーした CUPS URL
Authentication Mode
: TLS Server and Client Authentication
先ほどダウンロードした証明書ファイルの内容をコピーします(証明書はテキスト形式で開くことができます)。
Gateways ページに移動し、追加したゲートウェイを選択します。
Gateway details ページの LoRaWAN specific details セクションで、接続ステータスと最後のアップリンクを受信した日時を確認できます。
プロファイルの追加
デバイスプロファイルとサービスプロファイルを定義して、一般的なデバイス設定を記述できます。これらのプロファイルは、デバイス間で共有される設定パラメータを記述し、それらのデバイスの追加を容易にします。AWS IoT Core for LoRaWANは、デバイスプロファイルとサービスプロファイルをサポートしています。
デバイスプロファイルの追加
Devices
> Profiles
に移動し、Add device profile
をクリックします。
デバイスプロファイル名を入力し、デバイスとゲートウェイで使用している周波数帯域(RfRegion)を選択し、その他の設定はデフォルト値のままにしておきます。
サービスプロファイルの追加
Devices
> Profiles
に移動し、Add service profile
をクリックします。
各ペイロードに対してRSSIやSNRなどのデータ送信に関する追加のゲートウェイメタデータを受信できるように、AddGWMetaData
設定を有効にしておくことをお勧めします。
宛先の追加
Devices
> Destination
に移動し、Add destination
をクリックします。
ここでPublish to AWS IoT Core Message Broker
を選択し、宛先のMQTTトピック
に名前を付けます。
権限:既存のサービスロールを選択 > IoT Wireless Gateway Cert Manager Role
宛先名には英数字、-(ハイフン)、_(アンダースコア)文字のみを使用でき、スペースを含めることはできません。
LoRaWANデバイスの追加
ワイヤレスデバイスの追加
LPWAN devices
> Devices
に移動し、Add wireless device
をクリックします。
Wireless device specification
:OTAAv1.0x
DevEUI/APP EUI/APP key
:SenseCAP Mate APPで確認できます。詳細についてはGet_Startedをご確認ください。
前のステップで作成したデバイスプロファイルと宛先を選択します。
Devicesページに移動し、前に追加したデバイスを選択します。
Wireless devices詳細ページのDetailsセクションで、受信日時を確認できます。
デコーダーの設定
メッセージルールの作成
Message routing
タブ → Rules
に移動し、Create Rule
ボタンをクリックします。
ルールに名前を付けて送信します。
SQL version
: 2016-03-23
SQL statement
: SELECT * FROM "YourDestinationTopic"
ここではAdd Destinationに従ってt1000-raw
を入力します
Rule actions
セクションまでスクロールダウンし、Action 1
から Lambda
を選択し、Create a Lambda function
をクリックします。
Function name
: 関数に名前を付けます。
Runtime
: Node.js 20.x
Architexture
: x86_64
Create function
ボタンをクリックして新しい関数を作成します。
関数を作成した後、関数の設定ページに移動します。後で設定するので、ルールページに戻ります。
Refresh ボタンをクリックし、先ほど作成したLambda関数を選択します。次にNext
をクリックしてStep 4に進みます。
ルールのすべての詳細が正しいことを確認し、Create
をクリックしてルールを作成します。
Lambda関数の設定
Message routing
タブ → Rules
に戻り、先ほど作成したルールを選択します。
Actions
から Lambda
をクリックし、リンクをクリックしてLambda関数設定ページに移動します。
以下の関数設定ページで、index.mjs
ファイルを index.js
にリネームし、すべてのコードを削除してResourceのスクリプトに置き換え、Deploy
ボタンをクリックします。
お使いのデバイスに応じて region
と device id
を置き換えてください。
デコーダーを設定した後、Configuration
→ Permissions
→ Edit
をクリックします。
下部の View the xxxxxxxxxxx
ロールをクリックします。
Add permissions
→ Attach policies
をクリックします。
AdministratorAccess
を検索し、左側のボックスにチェックを入れ、Add Permissions
をクリックします。
データの確認
MQTT test client
ページでデータを確認し、#
を入力して Subscribe
ボタンをクリックすると、データが表示されます。
T1000 Trackerのrawペイロードはt1000-raw
から公開され、デコードされたデータはtracker/measurement
から公開されます。