keil debug如何在watch直接修改变量值_LoRaWAN设备如何接入腾讯云物联网平台?看这一篇就够了...

本文介绍腾讯云联名LoRaWAN评估板的详细使用教程,包括硬件配置、软件开发、数据解析及功能测试等内容。通过实际案例演示如何快速实现物联网项目的搭建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击上方【腾讯云IoT,关注我们并设星标

共建物联网产业生态

腾讯云联名(意法半导体、瑞兴恒方、深圳智芯云)的TSC_WL_EVK LoRaWAN评估板发布后,很多小伙伴已经拿到了此次联合发布的评估板并成功接入了腾讯云物联网开发平台IoT Explorer。关于上传真实的现场温湿度,下面以智芯云基于意法半导体的HTS221温湿度传感器的E53扩展板为例,从开箱到接入进行完整操作演示,悄咪咪地告诉你此次还增加了下传数据控制灯开关和调节亮度功能测试演示。

现在就来手把手的教大家如何接入以及进行最基本的功能开发。

在开始之前,先说明一下此实例中的一些项目配置和软件安装参考了Github上的TencentOS Tiny定制开发板EVB_WL快速入门指南文档https://github.com/Tencent/TencentOS-tiny/blob/master/doc/26.TencentOS_tiny_EVB_WL_Quick_Start.md此实例中提供的工程和软件包仅用于帮助使用者尽快上手,最终版本更新以TencentOS Tiny团队在Github或者相近代码库中的更新为准哦。

接下来我们分两个步骤进行一个最基本的功能开发:

一、检查评估板可用性,下载对应工程文件进行基本配置。二、在腾讯云物联网开发平台IoT Explorer上新建项目并进行配置。

一、检查评估板可用性,下载对应工程文件进行基本配置

1. 检查评估板可用性大家收到的评估板包含了TSC_WL_EVK板子x1、micro USB数据线x1、2.54mm间距40p排针x1、470~510MHz SMA LoRa天线x1、PCB隔离座x4,如下图所示。开发者需要自行准备的工具包含ST-LINK或J-LINK调试器x1,连接板子的杜邦线x4,调试用的电脑x1 (安装MDK-KEIL开发工具,建议5.26以上版本)。64fb35dcb0d5e6cba3f0b886cbd1463b.png选配了E53温湿度传感器扩展板才会有真实数据哦。扩展板插入到主板的E53接口就行了(注意方向)。4d40e59c8a75cb0ab05dd33ee575824b.png首先我们需要给板子焊上几个排针(最少需要焊接SWD口的5口排针),如下图所示:5b0938acdd2768ccf4d135301a08147a.png连接ST-LINK到评估板上(如果调试器有3.3V供电接口,那可以先不接Micro USB线),如下图:e1a56542bee727e9119af01e55390be9.png连接ST-LINK到电脑的USB接口上,检查供电是否正常,如下图:2461462cd4a2720cc9b71318bbf53942.png2. 评估板对应的原理图257c83e61d362e6056f18b6e06bb111e.png3. 评估板对应的接口示意图a6e462a6aaeacb37f809b68942dd296a.png4. 下载评估板对应的工程文件 从https://gitee.com/SmartChipCloud/loranode开源代码仓库中下载工程包。5. 安装KEIL器件库包在安装有MDK-KEIL的电脑上将上面下载的STM32WLxx系列的器件库包(Keil.STM32WLxx_DFP.1.0.2_OEM.pack)安装到KEIL中。2568453c607dfcb75ce3fcaa5315c086.png6. 检查评估板是否上锁在ST官网下载并安装stm32cubeprog,使用ST-LINK连接评估板的SWD接口,注意杜邦线保持可靠连接,且stm32cubeprog目前只支持ST-LINK。接好后打开stm32cubeprogammer并点击右上角的Connect连接按钮,注意右下角的连接器件的状态和下方提示,如果下方没有提示Data read failed, 可以直接跳到第7进行项目配置。04d42f6e1372422c70b75699523cb29a.png点击选择左侧的OB图标按钮,并按图中的流程进行解锁:8e4b9913c1dc2356041743d98d353fd6.png成功后点击Disconnect断开连接:4a9c3c14519bd6d7e70adafeb73cc443.png7. 硬件SWD接口连接检查下载并解压缩工程包以后,在 \board\RHF0M0E5_STM32WLE5xx\KEIL\lorawan目录下用KEIL打开TencentOS_Tiny.uvprojx项目工程文件(下载的工程包解压缩后保存在硬盘的位置上最好不要有中文目录)。44a1ef39ab76cadb84dd6f5ab3e43b93.png7be2d96a5ee67e2ad8d35a907bc80945.png打开工程后,点击Option按钮打开项目选项窗口,选择调试器为ST-Link(或者J-link),然后点击其右侧的Settings按钮。04020e53844a47cca3da49e04f36cef8.png取消勾选Check version on startup避免每次打开自动检查ST-LINK的版本,然后在Target Com下方的Port选项中选择SW模式,点击确定返回项目选项窗口后,重新点击ST-Link Debugger右侧的Settings进入查看,此时右侧的SW Device列表下面应该会出现一个SWD设备编号,如下图所示。这时,硬件已经完全检查完毕。339ebf8eefab234d328a6876d3b3a314.png8. 实例工程配置在KEIL项目工程窗口中选择打开APP目录下的Commissioning.h文件,修改框选的两种长度的KEY为自己定义的密钥,一个长度为32bytes,一个长度为16bytes,长度相同的Key应设置为相同值。如下图:ccbd2ae200c52b6aead51477d433b802.png设置好以后点击KEIL的Build按钮,看看下方状态栏是否有提示错误信息。585f53c8dff75156c330b43e930c44d1.png如果没有编译错误,此时可以点击下载烧录按钮将编译好的固件烧录到TSC_WL_EVK评估板上。074fa2b919e796662c2c6d4d91b13f07.png

二、在腾讯云物联网开发平台上新建项目并进行配置

在腾讯云上注册一个开发账号,并在物联网开发平台上新建一个项目。腾讯云登录界面如下:b288ebc146a823e68d895edc8e8620d5.png物联网开发平台网址(https://console.cloud.tencent.com/iotexplorer)及新建项目连接如下图:a133bf2ea1d52b9fcf19466d763eeceb.png1. 产品开发点击新建项目按钮后,输入项目名称和描述,并点击保存cd750a14f302e3eb8ac533987fb8a1ed.png保存后,点击项目列表中的产品框,进入产品开发界面。32cb079c31b1757d1ea69440c412d685.png在产品开发界面下,点击新建产品按钮。192f2dfdf57d1b2518e2e902f85dda0f.png输入产品名称信息,选择“设备”,“密钥认证”,“LoRaWAN”通信方式,“自定义透传”数据协议,然后点击保存。b3fc114cf4a9f3448b7384bc51bffd22.png保存后,点击打开刚才新建的产品。b394f7ee4e197301f5a4e8bbebe0126d.png数据模板页面下,点击导入JSON模板,复制并粘贴以下预先准备好的参考代码,并点击导入。3126fdab5c835e8e913e9c0aac39ac90.png
{ "version": "1.0", "profile": { "ProductId": "4TLSPG4R3C", "CategoryId": "1" }, "properties": [ { "id": "humidity", "name": "湿度", "desc": "", "mode": "r", "define": { "type": "int", "min": "0", "max": "100", "start": "0", "step": "1", "unit": "%" }, "required": false }, { "id": "temperature", "name": "温度", "desc": "", "mode": "r", "define": { "type": "int", "min": "-100", "max": "155", "start": "0", "step": "1", "unit": "摄氏度" }, "required": false }, { "id": "PowerSwitch", "name": "开关", "desc": "开关", "mode": "rw", "define": { "type": "bool", "mapping": { "0": "关", "1": "开" } }, "required": false }, { "id": "BrightNess", "name": "亮度", "desc": "亮度", "mode": "rw", "define": { "type": "int", "min": "10", "max": "100", "start": "80", "step": "10", "unit": "%" }, "required": false }, { "id": "period", "name": "上报周期", "desc": "", "mode": "rw", "define": { "type": "int", "min": "5", "max": "20", "start": "10", "step": "1", "unit": "秒" }, "required": false } ], "events": [], "actions": []}
459f567c6d9e08b75f609295e7edad80.png导入完成后,如下图所示。(也可以自己通过新建功能方式替代导入)点击下一步按钮。b8a60be7b69c225938d744125d1dd717.pngLoRaWAN设备的特性不适合进行JSON数据的传输,在设备开发标签中,可以进行设备的原始数据解析(原始数据和JSON数据格式转换)功能配置并测试。5e8b969fcba7878901133efd93b12102.png可以参考下图的参数进行数据解析的调试,把参考代码拷贝分别拷贝到上行数据解析下行数据解析的输入框中,在下方模拟调试窗口中可以手工输入数据并点击运行看解析结果是否正确。设备上行数据模拟调试结果如下图:535b7aeec63c0fc42672027d21cd7d76.png上行数据解析参考代码
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;}
设备下行数据模拟调试结果如下图:
  • 温度,湿度为只读数据,正常不会出现在下发数据包里。

  • LoRaWAN协议中的FPort,Mode我们固定为2和0,小伙伴们可以自行修改,注意设备固件进行相应的修改。

  • 增加DATA[5]数据,bit0,1,2用于标记下行数据的有效性。因为物联网开发平台是把所有数据全部发送,而腾讯连连小程序只发送修改过的数据。

4800b2faede85cdbfbfaf16c0b7e91dd.png下行数据解析参考代码
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;}
节点设备接收数据的代码片段:e59a835f65ad39f71e378e25e7618fac.png调试完毕后点击提交按钮进入下一步交互开发页面。731f2af8f72b7691e5b3eda7d76b0086.png此处可以进行一些交互开发中的配置,例如自定义产品图片中可以修改设备在后续腾讯连连界面下显示的设备图片等。ba35e701ecb2d1c6c0a17246a850439f.png在交互开发的面板编辑界面,可以对设备在腾讯连连中的一些UI进行设置和调整,如下图:a20ceb64ae21b36cb4ea275c92cfae12.png点击下一步可以进入设备调试的界面。4730b81110e4b1063657abcfef88650d.png我们在这里点击新建设备按钮添加刚才我们编译好的评估板对应的产品,在弹出的窗口中输入设备名称,DevEUI和AppKey。此处DevEUI为刚才在KEIL工程中输入的16bytes设备编号,AppKey为输入的32bytes的设备密钥。本截图的示意DevEUI和AppKey仅为演示用途。e89168a93eec719b31547f86aab4713c.png点击保存后,在设备列表中会出现刚才新建的设备名称,如下图:7a4131989074dee915e5b5b36eb22838.png点击设备名称右方的调试按钮,可以进入在线调试的界面,如下图:02580c04e96aba2f7d48a7f1017f0dc0.png此时给刚才下载烧录好固件的TSC_WL_EVK评估板通电,等待片刻,可以在设备在线调试右侧的窗口中看到板子上传上来的数据,如下图:eb52913372ae6d10410107a45080d247.png如果是通过micro USB线缆连接到TSC_WL_EVK评估板上,并安装了CH340 USB转串口的驱动程序,可以在电脑的串口通信助手中看到板子打印出来的调试信息,如下图如果显示end node joined,则表示入网成功啦!d20b27556eb834d222b20cdb5fad8cbe.png2. 数据开发现在我们可以在数据开发界面新建一个数据流控制逻辑,进行一个模拟高温高湿报警的设定。点击物联网开发平台页面左侧的数据开发菜单,点击右方的新建数据流20e569c3f52ae44c1d5467b80507da20.png输入数据流名称,如下图:166d03cff12b1612ed64435b1f40f960.png在数据流编辑界面,我们拖入设备数据数据过滤公众号推送三个流程框并将他们连接起来,如下图:96b38cf3871acf70c467349d19bf5f7e.png点击设备数据按钮,在右侧进行设备数据的设置,选中设备的温度信息,如下图:b7d600c8f575f5163bd2c2d68adaa6bd.png点击数据过滤按钮,在右侧进行数据过滤的设置,这里我们选择温度大等于50摄氏度的条件,然后点击确定c616dffb7af69d1c38dde66d1a225c65.png点击公众号推送按钮,在右侧输入推送的标题和内容,还可以把报警时实时的温度信息输入进去,并点击确定,如下图:a7deb46b1c3dbf8a28512a6d0225ebe7.png条件都设定好以后,我们点击界面上的启用按钮启动报警功能。d2b3da2ded9987a2863e1e16dfede7ab.png还可以自己增加湿度报警,推送APP等等。31ce0462bf6b2f1d4b8e960db95dda99.png返回到产品开发设备调试界面,点击刚才创建的设备的二维码,如下图:4945528a8f967d12af0076b04af2adc0.png用微信搜索并打开腾讯连连的小程序,在腾讯连连的小程序中扫描弹出的二维码并进行绑定,如下图:9905c7a1fc91753cf4fcedf41fef5a94.png绑定设备成功后会在腾讯连连小程序中看到我们建立的设备,如下图(P.S新版腾讯连连UI升级后,更好看实用了~):555014a412eb52e4d2502e48ff32d7d2.png点击设备名称,我们可以进去查看设备实时更新的数据状态,如下图:f2a4919ed5329b6f097a5153a56060f7.png3. 高温高湿报警、开关、亮度测试在没有E53温湿度传感器扩展板的时候,我们是在设备固件中模拟温度湿度变化。现在可以测试真实数据,还可以给传感器扩展板加热加湿来触发报警消息,也可以在数据开发中把报警温度设置成容易触发的数值。 开关和亮度可以直接在腾讯连连里测试。需要注意只有等到设备发送下一个上报数据时,开关和亮度设置才会下传给设备,有兴趣的小伙伴可以尝试把设备修改成Class C来增强实时性。daba192a185876d2062cb16365fcf7c5.pngaffad0dfa18cc0a2dc93d79f38d03f95.png85f6feba399a3cd214b36b32d4173691.png4. LoRa网关管理是不是以为有评估板就能直接接入腾讯云了?想多了,哪有什么岁月静好(直接接入),其实是有人负重前行(腾讯社区网络)。控制台里点击网络管理->LoRa网关管理,腾讯已经在深圳部署了很多免费LoRa网关,全覆盖,在深圳的小伙伴可又享受一波福利了。b11db191bf8be16a03b3524f7a235a51.png暂时没有覆盖到的区域可以自己添加,也为社区网络做出贡献,利人利己。添加步骤也简单,如下三步:第一步当然是自己准备好LoRa网关,市场上有很多商用的。如果想更迅速的接入腾讯物联网,可以采用腾讯云合作伙伴开发的低成本单通道网关,已经设置好接入腾讯云的参数。只用上电把WiFi连上就可以了。7e7c4ccd2845cb8b24827ecd65b0291b.png第二步硬件准备好后,在控制台:点击添加网关,输入一下参数。名称:自定义GwEUI: 建议的方式是在网关MAC地址中间添加“FFFF”以保证唯一性。是否公开:这个嘛,随意~其他信息尽量准确。8e24e7b40278f9938a55eb493a38948b.png第三步稍等片刻,就能看到网关由离线变为在线了。3888473464af48a0945f756ed0d5b6da.png简单总结一下:
  • LoRaWAN节点设备需要网关才能接入腾讯云,腾讯社区LoRa网关给大家提供了便利,专注于设备开发。

  • LoRaWAN设备不适合采用物联网平台常用的MQTT协议进行JSON数据传输,腾讯物联网开发平台提供原始数据和JSON数据格式转换的方式来帮助LoRaWAN设备更方便的接入物联网平台。

  • LoRaWAN ClassA设备实时性相对弱,适合对实时性要求不高但对功耗要求苛刻的应用场景。

  • STM32WL SoC使用TecentOS Tiny,内置LoRaWAN协议栈,极大程度的方便的设备开发。

最后的彩蛋,可用腾讯云提供的物联网小程序开发SDK做一个简单的小程序,就可做有自己风格的小程序界面。也可以自行设计H5用户界面,上传到控制台后供腾讯连连小程序使用。8f667027f45c43df81746bf981e86394.png持续关注腾讯云IoT可获更多干货内容!

腾讯云联名评估板已上架到合作伙伴智芯云微信小商店网关板和E53传感器板不日上架指导文档:

[1] 腾讯云物联网开发平台IoT Explorer:

https://cloud.tencent.com/product/iotexplorer

[2] TencentOS Tiny:

https://github.com/Tencent/TencentOS-tiny

[3] TencentOS Tiny定制开发板EVB_WL快速入门指南文档:

https://github.com/Tencent/TencentOS-tiny/blob/master/doc/26.TencentOS_tiny_EVB_WL_Quick_Start.md

[4] 开源代码仓库中下载工程包网址:

https://gitee.com/SmartChipCloud/loranode

//////////c68287b3147f48a0b3ad29aa117b8745.png▲加IoT小助手微信进腾讯连连官方合作群(请备注腾讯连连)ღ项目合作,可关注此公众号,在菜单栏点击「联系我们」获取合作联系方式!

往期推荐

官方标准蓝牙协议LLSync发布,BLE接入&Wi-Fi配网更快人一步!腾讯云物联网平台重磅升级:聚合内部能力,辅助更多产业通用版、代码开源和应用SDK三大版本齐亮相,腾讯云发布腾讯连连App服务全新腾讯云物联网市场重磅升级!腾讯云率先布局全链路5G产品矩阵,助推“万物智联”腾讯云物联网助力微信支付收款音箱,日均消息吞吐量达十亿级腾讯云物联网开发平台新功能重磅上线,全面助力5G应用!它来了、它来了……微信支付带着腾讯云IoT来了腾讯连连重构消费物联新生态国内首批可信物联网云平台认证公布,腾讯云上榜还可以通过视频号了解最新动态☟

7fc1f2b8bcc373a0828a7acdfd2cf824.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值