TTN公式サイト にアクセスし、個人アカウントを登録またはログインします。コンソール(Console
)で地理的位置などの条件に基づいてクラスターを選択します。
Create application
をクリックし、Application ID
とアプリケーション名を任意で入力し、Create application
をクリックして作成を完了します。
作成済みのアプリケーション管理ページに入り、+ Register end device
をクリックしてノードデバイスを登録します。Enter end device specifics manually
を選択して、手動で設定を行います。
地理的位置とデバイスが使用する周波数帯に応じて各オプションを決定します。ノードデバイスとゲートウェイで使用する周波数帯が一致していることを確認してください。LoRaWANバージョンや地域パラメータのバージョンは、実際のハードウェアが対応しているプロトコルバージョンに従って選択してください。詳細は対応する製品のドキュメントページを参照してください。
このステップでは、ノードデバイスのアクティベーション(接続)モードを選択する必要があります。選択肢は2つあり、OTAA
とABP
です。
OTAA(Over the air activation)モードでは、デバイスがネットワークに参加する際にサーバーと動的にデバイスアドレスとセッションキーを交渉します。セキュリティは高いですが、接続速度はやや遅くなります。
ABP(Activation by personalization)モードでは、あらかじめ設定されたデバイスアドレスとセッションキーを使用して通信を開始するため、すぐにデータ送受信が可能ですが、柔軟性・セキュリティ・拡張性の面で劣ります。
これら2つのアクティベーションモードおよびそのパラメータについての詳細は、公式ドキュメントを参照してください:
OTAAモードを選択すると、JoinEUI
(別名:AppEUI
)の入力が必要になります。これは通常、ハードウェアメーカーによって事前に設定されていますが、当社製品はプログラマブルデバイスであるため、JoinEUI
は任意の値で設定可能です。ただし、プログラミング時にも同じ値を使用する必要があります。形式は16桁の16進数(0~9、A~F)です。
値を入力後にConfirm
をクリックすると、さらに多くの設定項目が表示されます。DevEUI
とAppKey
は、後ろの🔁 Generate
ボタンをクリックすることで自動生成できます。生成後は後で使えるようにメモしておくことをお勧めします。End device ID
を任意で入力し、Register end device
をクリックしてデバイスの登録を完了します。
ABPモードを選択すると、DevEUI
、Device address
、AppSKey
、NwkSKey
の4つのパラメータが表示されます。それぞれ🔁 Generate
ボタンをクリックすることで生成可能です。生成後は必ずメモしておいてください。End device ID
を入力し、Register end device
をクリックしてデバイス登録を完了します。
これまでのステップで、TTNプラットフォーム上でのアプリケーション作成とデバイス追加が完了しました。次は、デバイスをプログラムして、ゲートウェイを通じてTTNと通信できるようにします。前のステップで入力または生成した各パラメータを、下記のサンプルコードに対応させて入力してください。パラメータを保存し忘れた場合でも、TTNのデバイス設定ページから再確認可能です。
JoinEUI
、DevEUI
、AppKey
を使用します。Device address
、AppSKey
、NwkSKey
を使用します。以下のタブをクリックすると、該当デバイスのドライバライブラリとサンプルプログラムが取得できます。設定関数の形式と順序を参考にして、前のステップで取得した接続パラメータを入力してください。
上記の手順がすべて完了し、デバイスが正常にゲートウェイに接続されていれば、TTNの管理ページでデバイスの接続ログやアップリンクデータを確認できます。
Messaging
機能をクリックすると、Webインターフェースからデバイスに手動でデータを送信することができます。
MQTTクライアントを使用してTTNサーバーからデータを取得し、データの送受信を実現します。MQTTサーバーのアドレス、ポート、接続名、パスワードは、TTNのアプリケーション管理ページの Other Integrations
-MQTT
にて確認できます。
Uplink Topic: v3/{application id}@{tenant id}/devices/{device id}/up
Downlink Topic: v3/{application id}@{tenant id}/devices/{device id}/down/push
デフォルトでは、受信したデータのペイロードはbase64
エンコード形式です。
MQTTメッセージのトピックやフォーマットの詳細については、公式ドキュメントを参照してください: