从LoRaWAN服务器thethingsnetwork.org获取应用数据

更多物联网精彩,尽在微信公众号《物联网思考》

前言:在使用免费LoRaWAN服务器www.thethingsnetwork.org一文中我们主要说明了如何在thethingsnetwork.org上面注册网关、创建应用、创建设备等,thethingsnetwork.org(下称TTN)只是一个网络服务器(network server),不会保存应用数据,因此实际项目中还需要一个应用服务器(application server),thethingsnetwork.org提供了多种方式供应用平台获取数据以及管理设备。

主要是3大类

  • APIs:又分为数据API应用管理API,数据API主要用MQTT方式接收和下发数据,应用管理API主要使用HTTP方式管理注册设备。
  • SDKs:提供了Go、Java、Node.js等各种语言。
  • Integrations(集成):ThingSpeak、AWS IOT等。

多数情况下只需要关注上报和下发数据,因此本文主要说明如何使用MQTT方式获取数据和下发数据,官方说明https://www.thethingsnetwork.org/docs/applications/mqtt/api.html

这里使用MQTT.fx这个客户端来演示,在实际应用中可能使用其他高级语言MQTT客户端的方式。

1、连接

主要是上面框图中的四个参数,其中:

Broker Address:<Region>.thethings.network,其中<Region>是所选的地区。

这个参数也是我们注册应用的时候选择的Handler,既就是下图中右边的地址:

Broker Port:1883(非加密方式)

Client ID:随便给一个

User Name:应用ID,这个是注册应用的时候自定义的,这里是ff08

Password: 应用访问密钥,base64格式,这个是系统生成的,当然也可以自己添加,这里使用系统生成的:

2、订阅(Subscribe)节点上行数据

TTN提供了一个主题Topic: <AppID>/devices/<DevID>/up,其中<AppID>和<DevID>都是注册的时候自己定义的,进入相应的设备就可以看到,如下:

可以看到节点ID、上报的端口号、计数器、频点、时间戳等,其中payload_raw字段就是我们上传的数据,是以base64格式显示的。

3、发布(Publish)下行数据

TTN提供了一个主题Topic: <AppID>/devices/<DevID>/down,其中<AppID>和<DevID>都是注册的时候自己定义的,进入相应的设备就可以看到。

数据是json格式,上面3个字段是必须的,payload_raw字段就是我们要下发的数据,是base64格式的。

“MTIzNDU2Nzg5”对应的明文是“123456789”。

在节点查看下发的应用数据:

节点收到的数据以hex格式打印出来,刚好对应字符串“123456789”。


                                                                        ————END————

关注公众号:“物联网思考”,获取更多开发资料、经验。

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

freemote

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值