pdf-icon

Product Guide

Industrial Control

Real-Time AI Voice Assistant

Offline Voice Recognition

Thread

Module Gateway H2

IoT Measuring Instruments

IoT Cloud

Ethernet Camera

ディップスイッチ使用ガイド

Module ExtPort For Core2

TTN(The Things Network)プラットフォームの接続と使用方法

本チュートリアルでは、TTNにアプリケーションを作成し、ノードデバイスを登録し、M5Stack LoRaWANモジュールをTTNサービスに接続してデータの送受信を実現する方法を紹介します。
注:本チュートリアルはTTNゲートウェイがカバーしている地域にのみ対応しています。カバー外の地域にいる個人ユーザーは、ゲートウェイを自前で構築する必要があります。

アカウント登録

TTN公式サイト にアクセスし、個人アカウントを登録またはログインします。コンソール(Console)で地理的位置などの条件に基づいてクラスターを選択します。

アプリケーション作成

Create applicationをクリックし、Application IDとアプリケーション名を任意で入力し、Create applicationをクリックして作成を完了します。

デバイスを追加

作成済みのアプリケーション管理ページに入り、+ Register end deviceをクリックしてノードデバイスを登録します。Enter end device specifics manuallyを選択して、手動で設定を行います。

地理的位置とデバイスが使用する周波数帯に応じて各オプションを決定します。ノードデバイスとゲートウェイで使用する周波数帯が一致していることを確認してください。LoRaWANバージョンや地域パラメータのバージョンは、実際のハードウェアが対応しているプロトコルバージョンに従って選択してください。詳細は対応する製品のドキュメントページを参照してください。

このステップでは、ノードデバイスのアクティベーション(接続)モードを選択する必要があります。選択肢は2つあり、OTAAABPです。
OTAA(Over the air activation)モードでは、デバイスがネットワークに参加する際にサーバーと動的にデバイスアドレスとセッションキーを交渉します。セキュリティは高いですが、接続速度はやや遅くなります。
ABP(Activation by personalization)モードでは、あらかじめ設定されたデバイスアドレスとセッションキーを使用して通信を開始するため、すぐにデータ送受信が可能ですが、柔軟性・セキュリティ・拡張性の面で劣ります。

これら2つのアクティベーションモードおよびそのパラメータについての詳細は、公式ドキュメントを参照してください:

OTAA モードの設定項目

OTAAモードを選択すると、JoinEUI(別名:AppEUI)の入力が必要になります。これは通常、ハードウェアメーカーによって事前に設定されていますが、当社製品はプログラマブルデバイスであるため、JoinEUIは任意の値で設定可能です。ただし、プログラミング時にも同じ値を使用する必要があります。形式は16桁の16進数(0~9、A~F)です。

値を入力後にConfirmをクリックすると、さらに多くの設定項目が表示されます。DevEUIAppKeyは、後ろの🔁 Generateボタンをクリックすることで自動生成できます。生成後は後で使えるようにメモしておくことをお勧めします。End device IDを任意で入力し、Register end deviceをクリックしてデバイスの登録を完了します。

ABP モードの設定項目

ABPモードを選択すると、DevEUIDevice addressAppSKeyNwkSKeyの4つのパラメータが表示されます。それぞれ🔁 Generateボタンをクリックすることで生成可能です。生成後は必ずメモしておいてください。End device IDを入力し、Register end deviceをクリックしてデバイス登録を完了します。

デバイスのプログラミングとネットワーク接続

これまでのステップで、TTNプラットフォーム上でのアプリケーション作成とデバイス追加が完了しました。次は、デバイスをプログラムして、ゲートウェイを通じてTTNと通信できるようにします。前のステップで入力または生成した各パラメータを、下記のサンプルコードに対応させて入力してください。パラメータを保存し忘れた場合でも、TTNのデバイス設定ページから再確認可能です。

  • OTAA モードの場合は、JoinEUIDevEUIAppKeyを使用します。
  • ABP モードの場合は、Device addressAppSKeyNwkSKeyを使用します。

Arduino

以下のタブをクリックすると、該当デバイスのドライバライブラリとサンプルプログラムが取得できます。設定関数の形式と順序を参考にして、前のステップで取得した接続パラメータを入力してください。


            LoRaWAN.configOTAA(
                "****************",                  // DevEUI
                "****************",                  // AppEUI / JoinEUI
                "********************************",  // AppKey
                "2"  // Upload Download Mode
            );
        

            LoRaWAN.configABP(
                "********",                          // Device address
                "********************************",  // AppSKey
                "********************************",  // NwkSKey
                "2"  // Upload Download Mode
            );
        

            LoRaWAN.configOTAA(
                "****************",                  // DevEUI
                "****************",                  // AppEUI / JoinEUI
                "********************************",  // AppKey
                "2"  // Upload Download Mode
            );
        

            LoRaWAN.configABP(
                "********",                          // Device address
                "********************************",  // AppSKey
                "********************************",  // NwkSKey
                "2"  // Upload Download Mode
            );
        

            #define DEVEUI "****************"
            #define APPEUI "****************"
            #define APPKEY "********************************"
        

            #define DEVADDR "********"
            #define APPSKEY "********************************"
            #define NWKSKEY "********************************"
        

            #define DEVEUI "****************"
            #define APPEUI "****************"
            #define APPKEY "********************************"
        

            #define DEVADDR "********"
            #define APPSKEY "********************************"
            #define NWKSKEY "********************************"
        

TTNデータ送受信

Live Data(リアルタイムデータ)

上記の手順がすべて完了し、デバイスが正常にゲートウェイに接続されていれば、TTNの管理ページでデバイスの接続ログやアップリンクデータを確認できます。

Messaging(下りデータの送信)

Messaging機能をクリックすると、Webインターフェースからデバイスに手動でデータを送信することができます。

MQTTクライアント

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メッセージのトピックやフォーマットの詳細については、公式ドキュメントを参照してください:

参考情報

On This Page