专栏首页物联网思考从LoRaWAN服务器thethingsnetwork.org获取应用数据

从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————

相关阅读:

本文分享自微信公众号 - 物联网思考(everythinglink),作者:everythinglink

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LoRa连接到腾讯云物联网平台

    腾讯也是LoRa联盟成员之一,在深圳部署了LoRa物联网。腾讯云也将LoRa Server的功能集成了进去,目前也是可以免费使用的。用微信或者QQ登录即可。目前...

    ManInRoad
  • LoRa没有凉,工信部发话了,LoRa应该这么玩!

    昨天对LoRa来说,是“异常热闹”的一天,各大QQ群、微信群,行内行外,到处讨论。

    ManInRoad
  • LoRa终端设备ASR6505之PingPong通信

    前言:前面几篇文章详细介绍了ASR6505外设的使用,从本篇开始介绍ASR6505关于LoRa的使用。

    ManInRoad
  • 如何用sublime优雅的编写processing

    由于最近需要调试电机,通过串口通信一行一行的发数字有点太不优雅,所以最好的交互方法是有一个图形化的上位机,直接用鼠标拖动。所以就想用processing撸一个简...

    UDM Lab
  • 1051 接龙游戏

    1051 接龙游戏 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 给出...

    attack
  • 2019中国大学生程序设计竞赛(CCPC)---网络选拔赛-1004-path

    一开始,先将每个结点从最短的那条边扩展,然后对于每次操作。取队头元素,当前的路径距离就是第$idx$小的路径,用队头元素进行扩展:

    xiaohejun
  • WDK7600编译器环境配置

    在X64纵横的年代.很多人都直接使用VS+WDK配套的环境去开发驱动了. 这样是好事.说明驱动开发更快捷了.但是你开发的驱动是不能兼容所有系统的. 如XP 很多...

    IBinary
  • 使用Python和GloVe词嵌入模型提取新闻和文章的文本摘要

    文章摘要是一个简短的段落,其中包含要点,并以文章本身使用的词语来表达。通常,我们仅提取那些我们认为最重要的要素/句子,这些要素/句子通常传达主要思想或必要的支撑...

    deephub
  • 每日算法系列【LeetCode 684】冗余连接

    输入一个图,该图由一个有着 个节点(节点值不重复 )的树及一条附加的边构成。附加的边的两个顶点包含在 到 中间,这条附加的边不属于树中已存在的边。

    godweiyang
  • 不要再@微信官方了,自己动手一秒制作头像

    9月24日,相信很多人的朋友圈一大早都被“请给我一面国旗微信官方”刷屏了。然而不少不明真相的网友,跟风在朋友圈发布这句话之后,发现自己的头像并没有国旗标志。

    用户1359560

扫码关注云+社区

领取腾讯云代金券