前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【IoT迷你赛】LoRaWAN设备上云初探

【IoT迷你赛】LoRaWAN设备上云初探

原创
作者头像
用户2511058
发布2020-04-17 14:58:45
1K0
发布2020-04-17 14:58:45
举报
文章被收录于专栏:腾讯云IoT腾讯云IoT

LoRaWAN初探

随着物联网技术的快速普及,越来越多终端设备将接入到云端。LoRa/LoRaWAN作为一种新兴的物联网通信技术,逐步进入大众的视野里。相比于Zigbee,蓝牙以及常用的无线射频技术,其传输距离更远,且协议也包含了无线电以及以太网等组网方案,比较适合智慧城市等场景的建设。

通常,整个LoRaWAN项目结构如下:

LoRaWAN项目架构
LoRaWAN项目架构

本次参与测试体验的环境也包含了以上的元素,分别如下:

  • 设备端:LoRa节点和LoRa网关(P_NUCLEO_LRWAN3)
  • 核心网平台:腾讯云物联网开发平台(IoT Explorer)

本人更关注设备上云以及测试技术,因此,本文将会记录如何利用现有测试设备和环境快速上云,并初步掌握分析LoRaWAN协议以及TencentOS Tiny驱动LoRa模组的原理。

LoRa设备快速上云

整体部署上,设备快速上云需要三步走,添加网关和节点,配置网关信息,烧录并运行节点程序,具体如下:

  • 添加网关和节点(腾讯云物联网开发平台)

网关需要填写的关键信息为GwEUI,可在后台配置,用于标识网关:

添加网关
添加网关

节点需要关注的市AppKey和devEUI,可以在【调试】环节添加:

添加节点
添加节点
  • 配置网关信息

网关需要配置监听的节点上行频点以及核心网地址即可。根据不同区域的标准,核心网收到数据后会计算对应的下行频点,目前CN470的规范表示,节点的上行信道%48就是下行频点的接收频点。

CN470信道
CN470信道

配置频点

AT+CH=0,486.3,A 等,以此类推可以设置8个监听的上行频点

配置核心网地址:

AT+PKTFWD=loragw.things.qcloud.com,1700,1700

网关配置
网关配置

配置成功后,网关就接入了核心网,可以在后台看到网关在线状态。

网关在线
网关在线
  • 节点刷入代码

打开TencentOS tiny 的LoRa项目,修改其中的lora_demo.c,将其中的OTAA对应的devEUI以及APPKEY修改为在核心网登记的即可,信道也需要调整,真的是快捷方便,动动手指快速上云。

#define RHF76_ATCMD_SET_CHANNEL "at+ch=num,80-87\r\n"

节点刷写
节点刷写

之后Build和刷入固件,设备启动后入网成功。

入网成功
入网成功

TencentOS Tiny 初探

市面上,有多种节点方案,根据目前拿到的测试硬件以及TencentOS Tiny代码,可以知道目前开发板节点主推的方案是MCU+LoRa模组,具体如下图所示。

MCU+LoRa模组方案
MCU+LoRa模组方案

体设备包括一个RHF0M003(LoRa模组)+ STM32L073RZ (MCU)

节点实物图
节点实物图

在Lora相关API操作上,主要是通过对lora_module_t进行回调完成,通过分析回调,可以知道最终会进入模组的驱动:

回调驱动接口
回调驱动接口

具体实现在devices\rhf76_lora目录下,我们可以看到其封装了rhf的驱动。因此,开发者可以无需考虑协议栈处理LoRaWAN协议的问题,把重心聚焦于业务实现。

LoRaWAN协议初探

由于LoRaWAN协议会上传到云端,因此,我们可以通过UDP抓包的方式窥探协议最原始的二进制状态。记录具体的抓包过程如下,在路由器上通过TCPDUMP记录下数据包,接着,可以使用wireshark查看流量并分析,该格式是packet_forwarder格式(UDP+JSON+Base64)。

packet_forwarder数据格式
packet_forwarder数据格式

其中LoRa数据经过base64编码后为"data":"ILaau0xOfygYAK9mVxijdSA0iXG0fPQ4Lp967WqxYuuF",解码后,对应二进制为:

代码语言:javascript
复制
\x20 \xb6 \x9a \xbb \x4c \x4e \x7f \x28 
\x18 \x00 \xaf \x66 \x57 \x18 \xa3 \x75 
\x20 \x34 \x89 \x71 \xb4 \x7c \xf4 \x38 
\x2e \x9f \x7a \xed \x6a \xb1 \x62 \xeb 
\x85 

根据LoRa协议,可以分析这是一个Join Accept的回应包:

LoRaWAN协议
LoRaWAN协议

小节

经过这段时间的测试,体验到了利用TencentOS Tiny和腾讯云物联网开发平台,快速部署LoRaWAN方案的效果,也记录下了LoRaWAN协议有关的一些知识。文章如有错误地方,欢迎拍砖。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
物联网开发平台
腾讯云物联网开发平台(IoT Explorer)是面向智慧生活与产业物联应用的一站式物联网PaaS平台,为各行业用户提供一站式设备智能化服务。平台提供海量设备连接与消息通信能力,基于腾讯连连小程序应用开发能力、音视频能力及AI增值服务,聚合腾讯生态内容能力。提升传统行业设备智能化的效率,降低用户的开发运维成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档