TTN(The Things Network)

本教程将向你说明如何在TTN中创建应用与节点设备,配置M5Stack LoRaWAN模块连接至TTN服务,实现数据发送与接收。
注: 该教程仅适用于TTN网关覆盖区域,未覆盖区域个人用户需要自建网关进行连接。

准备工作

访问TTN网站并创建/登录个人账户 , 在Console中选择一个集群开始添加节点设备和网关。

创建应用

Go to appliations -> Add appliation -> 自定义填写Application ID和应用名称,点击Create application完成创建。

创建设备

进入已经创建的应用页面点击Add end device开始添加节点设备, 选择Manually自定义创建。

设备信息

根据所在的地区及设备选择使用的频段,确保您使用的设备所使用的频段,与网关所使用的子频段选项匹配。LoRaWAN版本选择使用v1.0.2,区域参数使用RP001 Regional Parameters 1.0.2

在设备创建环节能够配置设备将要采用的连接方式OTAA/ABP:
OTAA相比于ABP安全性会更高一些, 但由于存在入网JoinAccept环节,OTAA的入网连接速度相对于ABP会稍微慢一些。

OTAA

OTAA(Over-The-Air-Activation)连接模式下我们需要保存Device EUI, APP EUI, APP KEY这三个参数将用于设备后续连接使用, 你可以根据需求填入预设配置或是点击Generate自动生成新的Key。点击Register end device完成创建。

ABP

ABP(Activation By Personalization)连接模式下我们需要保存Device address, AppSKey, NwkSKey这三个参数将用于设备后续连接使用, 你可以根据需求填入预设配置或是点击Generate自动生成新的Key。点击Register end device完成创建。

编程设备

在之前的步骤中,我们成功在TTN创建了设备, 接下来我们需要编程设备使其连接至网关。请在下方对应不同平台的案例程序中根据设备连接方式依次传入在上一步骤获取到的连接参数。

  • OTAA连接方式需要用到Device EUI, APP EUI, APP KEY
  • ABP连接方式需要用到Device address, AppSKey, NwkSKey

UIFlow

下面以使用UNIT LoRaWAN作为案例,将上一步骤获取到的连接参数逐个填入配置程序,并确保使用的频段, Class Mode, 接收窗口Rx2 freq等配置与实际相匹配,然后运行程序进行测试。

UIFlow中其他的LoRaWAN模块Block支持与该程序基本一致,可以参考本案例进行修改/运行测试。

  • OTAA连接案例程序

Arduino

点击下方链接获取选择对应设备的案例程序与驱动库,并参考下方配置函数修改程序中的内容,依次传入在上一步骤获取到的连接参数。


LoRaWAN.configOTTA(
    "70B3D57ED004E460",                  // Device EUI
    "0000000000000000",                  // APP EUI
    "6BEBAED3A9FA853ED6885D6E50497736",  // APP KEY
    "2"  // Upload Download Mode
);

LoRaWAN.configABP(
    "260B6E5C",//Device ADDR
    "63F68EE76CC3034D142B6F1695B70D43",//APP SKEY
    "3CB3FA729FD7191061F963F5E8167837",//Nwk SKEY
    "2"//Upload Download Mode
);

TTN日志查看

Live Data实时数据

完成上述程序编辑/运行操作,若设备正常连接网关,在TTN管理页面我们能够看到设备的连接日志,以及上行的数据信息。

点击Messaging选项支持手动下发数据至设备。注: 当设备上传数据时,才会获取到网关最新下发的数据

Messaging数据下发

MQTT Client

通过MQTT CLIENT获取TTN服务器数据, 实现数据获取/下发。连接的MQTT SERVER URL与端口及登录用户信息可在TTN页面中获取。

v3/{application id}@{tenant id}/devices/{device id}/up
v3/{application id}@{tenant id}/devices/{device id}/down/push

注:订阅数据的payload为base64编码格式。

更多信息

更多TTN集成接口详细教程(MQTT, Webhooks, Storage Integration, AWS IoT, Azure IoT Hub, LoRa Cloud)请参考 TTN集成开发文档

On This Page