LoRa设备接入腾讯云 IoT 物联网平台开发实战

今天,我们以智芯云的HTS221温湿度传感器的E53扩展板为例,手把手的教大家实现LoRa设备接入腾讯云IoT物联网平台,通过腾讯连连小程序展示现场温湿度数据变化。

LoRa 硬 件 开 发

1.TSC_WL_EVK评估板套件:

2.原理图

3.开发板接口图

4.开发工程包

下载地址:

https://gitee.com/SmartChipCloud/loranode

5.安装KEIL组件包

在安装有MDK-KEIL的电脑上将上面下载的STM32WLxx系列的器件库包(Keil.STM32WLxx_DFP.1.0.2_OEM.pack)安装到KEIL中。

6.开发板解锁

在ST官网下载并安装stm32cubeprog,使用ST-LINK连接评估板的SWD接口。接好后打开stm32cubeprogammer并点击右上角的Connect连接按钮,注意右下角的连接器件的状态和下方提示,如果下方没有提示Data read failed, 可以直接跳到第7进行项目配置。

点击选择左侧的OB图标按钮,并按图中的流程进行解锁:

成功后点击Disconnect断开连接。

7.硬件SWD接口连接检查

下载并解压缩工程包以后,在

 \board\RHF0M0E5_STM32WLE5xx\KEIL\lorawan 目录下用KEIL打开TencentOS_Tiny.uvprojx 项目工程文件

打开工程后,点击Option按钮打开项目选项窗口,选择调试器为ST-Link(或者J-link),然后点击其右侧的Settings按钮。

取消勾选Check version on startup避免每次打开自动检查ST-LINK的版本,然后在Target Com下方的Port选项中选择SW模式,点击确定返回项目选项窗口后,重新点击ST-Link Debugger右侧的Settings进入查看,此时右侧的SW Device列表下面应该会出现一个SWD设备编号,如下图所示。这时,硬件已经完全检查完毕。

8.实例工程配置

在KEIL项目工程窗口中选择打开APP目录下的Commissioning.h文件,修改框选的两种长度的KEY为自己定义的密钥,一个长度为32bytes,一个长度为16bytes,长度相同的Key应设置为相同值。如下图:

设置好以后点击KEIL的Build按钮,看看下方状态栏是否有提示错误信息。

如果没有编译错误,此时可以点击下载烧录按钮将编译好的固件烧录到TSC_WL_EVK评估板上。

腾讯云IoT 云 端 开 发

1.创建LoRa产品和功能定义

输入产品名称信息,选择“设备”,“密钥认证”,“LoRaWAN”通信方式,“自定义透传”数据协议,然后点击保存。

数据模板页面下,新建产品功能,如下图。

2.配置LoRa解析脚本

LoRaWAN设备的特性不适合进行JSON数据的传输,在设备开发标签中,可以配置解析脚本,将原始数据转换成功能定义的JSON数据。

模拟调试窗口中可以手工输入数据并点击运行看解析结果是否正确。

上行解析参考代码:

function RawToProtocol(fPort, bytes) {  
  var data = {        
        "method": "report",        
        "clientToken" : new Date(),        
        "params" : {}  
  };  
  data.params.temperature = bytes[0];  
  data.params.humidity = bytes[1];  
  data.params.period = bytes[2];  
  data.params.PowerSwitch = bytes[3];  
  data.params.BrightNess = bytes[4];   
  return data;
}

下行解析参考代码:

function ProtocolToRaw(obj) 
{ 
  var data = new Array();
  data[0] = 2;// fport=2  
  data[1] = 0;// unconfirmed mode  
  data[2] = obj.params.period;   
  data[3]= (obj.params.PowerSwitch);  
  data[4]= (obj.params.BrightNess);  
  data[5]=0;  
  if (obj.params.hasOwnProperty("period"))    
    data[5]+= 1;  
  if (obj.params.hasOwnProperty("PowerSwitch"))    
    data[5]+= 2;  
  if (obj.params.hasOwnProperty("BrightNess"))    
    data[5]+= 4;       
  return data;
}

LoRa设备接收数据的代码片段:

3.小程序UI交互开发

在交互开发的面板编辑界面,可以对设备在腾讯连连中的一些UI进行设置和调整,如下图:

4.注册LoRa设备

我们在这里点击新建设备按钮添加刚才我们编译好的评估板对应的产品,在弹出的窗口中输入设备名称,DevEUI和AppKey。此处DevEUI为刚才在KEIL工程中输入的16bytes设备编号,AppKey为输入的32bytes的设备密钥。本截图的示意DevEUI和AppKey仅为演示用途。

点击保存后,在设备列表中会出现刚才新建的设备名称,如下图:

点击设备名称右方的调试按钮,可以进入在线调试的界面,如下图:

此时给刚才下载烧录好固件的TSC_WL_EVK评估板通电,等待片刻,可以在设备在线调试右侧的窗口中看到板子上传上来的数据,如下图:

如果是通过micro USB线缆连接到TSC_WL_EVK评估板上,并安装了CH340 USB转串口的驱动程序,可以在电脑的串口通信助手中看到板子打印出来的调试信息,如下图如果显示end node joined,则表示入网成功啦!

业 务 应 用 开 发

1.数据业务开发

现在我们可以在数据开发界面新建一个数据流控制逻辑,进行一个模拟高温高湿报警的设定。

在数据流编辑界面,我们拖入设备数据数据过滤公众号推送三个流程框并将他们连接起来,如下图:

点击设备数据按钮,在右侧进行设备数据的设置,选中设备的温度信息,如下图:

点击数据过滤按钮,在右侧进行数据过滤的设置,这里我们选择温度大等于50摄氏度的条件,然后点击确定

点击公众号推送按钮,在右侧输入推送的标题和内容,还可以把报警时实时的温度信息输入进去,并点击确定,如下图:

条件都设定好以后,我们点击界面上的启用按钮启动报警功能。

还可以自己增加湿度报警,推送APP等等。

2.绑定腾讯连连小程序

产品开发设备调试界面,点击刚才创建的设备的二维码,如下图:

用微信搜索并打开腾讯连连的小程序,在腾讯连连的小程序中扫描弹出的二维码并进行绑定,如下图:

绑定设备成功后会在腾讯连连小程序中看到我们建立的设备,如下图

高温高湿报警、开关、亮度测试

LoRa网关管理

LoRa设备入网少不了LoRa网关的管理。在IoT控制台里点击网络管理->LoRa网关管理,可以看到腾讯已经在深圳部署了很多免费LoRa网关,全覆盖,在深圳的小伙伴可又享受一波福利了。

暂时没有覆盖到的区域可以自己添加,也为社区网络做出贡献,利人利己。添加步骤如下:

第一步,当然是自己准备好LoRa网关,市场上有很多商用的。如果想更迅速的接入腾讯物联网,可以采用腾讯云合作伙伴开发的低成本单通道网关,已经设置好接入腾讯云的参数。只用上电把WiFi连上就可以了。

第二步,硬件准备好后,在控制台:点击添加网关,输入一下参数。

GwEUI: 建议的方式是在网关MAC地址中间添加“FFFF”以保证唯一性。

第三步,稍等片刻,就能看到网关由离线变为在线了。

简单总结一下:

  • LoRa节点设备需要LoRa网关才能接入腾讯云,腾讯社区LoRa网关给大家提供了便利,专注于设备开发。

  • LoRa设备需要配置脚本,将原始数据转换为JSON数据格式。

  • LoRa ClassA设备适合低功耗、非实时的数据采集场景。

  • STM32WL SoC使用TecentOS Tiny,内置LoRaWAN协议栈。

往期推荐

1.乐鑫 ESP8266 x 腾讯连连 实战

2.Ruff开发板 x 腾讯连连 家居环境监测

3.树莓派+腾讯连连,打造智能鱼缸

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值