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から公開されます。

