pdf-icon

产品上手指引

实时 AI 语音助手

火山引擎语音助手

Thread

Module Gateway H2

IoT 测量仪表

IoT 云端服务

Ethernet 摄像头

拨码开关&引脚切换

Module GPS v2.0

Module ExtPort For Core2

Module LoRa868 V1.2

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版本、区域参数版本需根据实际硬件支持的协议版本选择,详情可参考对应产品的文档页面。

在本步骤中需要选择节点设备的激活(连接)模式,有两种:OTAA/ABP
在 OTAA(Over the air activation)模式下,设备加入网络时会与服务器动态协商设备地址和会话密钥,安全性更高,但入网连接速度相对慢一些。
在 ABP(Activation by personalization)模式下,设备使用预先配置好的设备地址和会话密钥进行通信,无需入网直接开始数据收发,但灵活性、安全性和可扩展性较差。

关于这两种激活连接模式及其参数的详细介绍,可以参考官方文档:

OTAA 模式的配置项

选择 OTAA 模式时需要填写的JoinEUI(也叫AppEUI),是设备厂商为每一个硬件设备预先配置的参数。由于我们的产品是可编程设备,因此此处JoinEUI可以任意填写,只要保证在后续编程时也使用同一个值即可。填写的格式为 16 个 16 进制字符,即 0~9、A~F。

填写后点击Confirm,会出现更多配置项。DevEUIAppKey这两个参数可以点击后面的🔁 Generate按钮来生成,生成后建议记录下来以备后续使用。自定义填写End device ID然后点击Register end device完成节点设备注册。

ABP 模式的配置项

选择 ABP 模式时,DevEUIDevice addressAppSKeyNwkSKey这四个参数可以点击后面的🔁 Generate按钮来生成,生成后建议记录下来以备后续使用。自定义填写End device ID然后点击Register end device完成节点设备注册。

设备编程与入网通信

在上面的几个步骤中,我们已经成功在 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 功能可以通过网页手动下发数据至设备。

MQTT Client

通过 MQTT client 获取 TTN 服务器数据,实现数据收发。MQTT server 地址、端口、连接名称密码可在 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

  • 默认订阅数据的 payload 为base64编码格式。

关于 MQTT 消息的 topic、格式,可以参考官方文档:

更多信息

On This Page