Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
onenet
RT-Thread
广和通L610
【12月原创】广和通L610+RT-Thread连接onenet
发布于 2020-12-11 18:49:00 浏览:1174
订阅该版
[tocm] -----------本文章篇幅相对较长,如果已有相关经验可选择性阅读----------- # 一、相关介绍 提示:介绍广和通、RT-Thread和onenet云,已了解的可跳过 ## 1.广和通 ![pic_right/center/left在这里插入图片描述](https://img-blog.csdnimg.cn/20201210151338158.png) 广和通是当前全球领先的物联网无线通信解决方案和无线模组供应商,也是中国首家A股上市的无线模组企业。主要为电信运营商、物联网设备厂商、物联网系统集成商提供端到端物联网无线通信解决方案。其可提供技术领先的5G/4G/LTE Cat 1/3G/2G/NB-IoT/LTE Cat M/安卓智能/车规级无线通信模组。 本次使用的L610模块就是一个LTE Cat 1模组,产品支持LTE、GSM双模通信。 广和通官网:[https://www.fibocom.com/](https://www.fibocom.com/) ## 2.RT-Thread ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210152304227.png) 一般认为RT-Thread 是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。但是RT-Thread严格来说不只是一个操作系统,而是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台。是由熊谱翔先生带领并集合开源社区力量开发而成,是一款真正的国产嵌入式物联网操作系统。经过11年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过 6亿 台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。 RT-Thread官网:[https://www.rt-thread.org/](https://www.rt-thread.org/) ## 3.onenet云 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210152526685.png) onenet又称中国移动物联网开放平台,是由中移物联网有限公司基于物联网技术和产业特点打造的开放平台和生态环境,适配各种网络环境和协议类型,支持各类传感器和智能硬件的快速接入和大数据服务,提供丰富的API和应用模板以支持各类行业应用和智能硬件的开发,能够有效降低物联网应用开发和部署成本,满足物联网领域设备连接、协议适配、数据存储、数据安全、大数据分析等平台级服务需求。 onenet官网:[https://open.iot.10086.cn/](https://open.iot.10086.cn/) # 二、项目简介 ## 1.项目简介 本项目会全程使用RT-Thread Studio开发,使用版本: 1.1.5。 项目预期目标和步骤: 1.实现RT-Thread在stm32f411ce最小系统板上运行; 2.在RT-Thread上添加支持L610模块的AT设备软件包; 3.在RT-Thread上添加支持onenet云的软件包; 4.使stm32可以通过L610模块连接至onenet云,并可以上传和接收数据。 使用到的硬件如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210111159730.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) # 三、硬件相关 ## 1.L610模块 ### (1)原理图 L610 MINI DS模块原理图:[点击图片查看高清图] ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210112422695.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)L610模块扩展底板的原理图:[点击图片查看高清图] ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210113046662.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) ### (2)使用说明 L610模块功能非常丰富,在模块SIM卡槽插入可以正常使用的手机卡,可以连接网络进行数据传输、拨打/接听电话、发送/接受短信等功能,详细功能可以查看其相应手册,本项目只使用模块的网络数据传输功能。 根据以上两个原理图可以发现,扩展板搭建好了L610模块需要的电源、状态指示灯和SIM卡座接口等基础实验环境。在使用时,开发者仅需要注意以下几个部分: ①扩展板上有很多按照arduino接口排列的排针座,是为了兼容具有arduino接口的开发板用的。这个扩展板,实际上是官方的一个iot开发套件上的,用来配合一块STM32G070的NUCLEO开发板。所以实际上arduino接口排列的排针座仅仅有几个与L610模块关键引脚相连。 相连的接口有: L610引脚 | 扩展板丝印 | 说明 -----|-------|----- 67脚:TXD | RXD | L610模块串口发送端 68脚:RXD | TXD | L610模块串口接收端 21脚:PWRKEY | POWER_ON | L610模块开/关机引脚 20脚:RESET_N| RESET_CON| L610模块复位引脚 GND| GND | 电源地 其中,扩展板上的TXD和RXD是指与其相连的单片机的实际引脚功能。 【注意这些接口中没有VCC电源】 特殊连接: L610引脚 | 扩展板资源 | 说明 --|--|-- 70脚:USB_DM| Micro USB to module | L610的USB功能 69脚:USB_DP| Micro USB to module | L610的USB功能 67脚:TXD | Micro USB to serial port | L610的AT串口 68脚:RXD | Micro USB to serial port | L610的AT串口 这是扩展板上的两个Micro USB接口,每个都可用于供电,但是一个连接了USB转串口模块,可以直接连接电脑使用AT指令控制模块;另一个连接了L610模块的USB接口,用于USB功能。 ②电源问题 因为L610模块使用的是3.8V电源,所以扩展板上已经搭载了DC-DC电路,将通过两个Micro USB输入的5V转为3.8V,并且没有将5V输入点提供单独引脚供开发者使用,所以使用时请通过两个Micro USB经过扩展板上的DC-DC电路进行供电。 ③控制引脚问题 虽然L610模块使用的是3.8V电源,但是其引脚的数字逻辑电平为1.8V,所以其引脚也不要直接连接高于1.8V的其他芯片引脚。在扩展板上可以使用的这几个引脚都已经经过 OC/OD电路和电平转换电路进行了处理,所以3.3V芯片可以直接相连进行控制。 扩展板上POWER_ON引脚的使用:模块上电时默认关机状态,需要控制此引脚进行开机,方可正常使用L610模块。L610模块的开机和关机都是通过给芯片21脚[PWRKEY]低电平来触发,对应到扩展板POWER_ON引脚就是给高电平触发。不同的是,开机时要求给的高电平至少2S,关机时给的高电平至少3.1S。开关机电路和时序如下:[点击图片查看高清图] ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210165108784.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)【注意:当模块正常工作时,不要立即切断模块电源,以避免损坏模块内部的Flash。强烈建议先通过PWRKEY或者 AT 命令关闭模块后,再断开电源。(软件关机:AT+ CPWROFF)】 扩展板上RESET_CON引脚的使用:给L610模块的RESET_N引脚一个100ms的低电平然后拉高,可以使模块复位,对应到扩展板RESET_CON引脚就是给一个100ms的高电平。复位电路和时序如下:[点击图片查看高清图] ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210170617714.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)当然复位也有软复位,发送AT指令:AT+CFUN=15。 ## 2.stm32和l610以及其他相关硬件的连接 stm32的串口1用于连接USB转TTL模块在连接至电脑,用于打印调试等;stm32的串口2连接扩展板的TXD和RXD用于发送AT指令控制L610模块;因为要控制模块的开机,所以使用stm32的PB1引脚连接扩展板的POWER_ON引脚。对应关系如下: STM32 | L610扩展板 | USB转TTL |安卓数据线电源 --|--|--|-- PA9(TXD) | -- | RXD | -- PA10(RXD) | -- | TXD | -- PA2(TXD) | TXD | -- | -- PA3(RXD) | RXD | -- | -- PB1 | POWER_ON | -- | -- 3.3V | -- | 3.3V | -- -- | Micro USB母头 | -- | Micro USB公头 GND | GND | GND | GND # 四、软件相关 ## 1.配置onenet云 1.进入onenet官网,选择右上角“登陆”登陆账号后,点击右上角“控制台”,将鼠标移至左上角“全部产品服务”处,会弹出一个小页面窗,选择“基础服务”里的“多协议接入”。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210200835587.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)2.点击页面中间偏右侧的“添加产品”按钮,会在页面右侧弹出一个侧边窗,需要向里面填写内容,里面的内容可以随便填,填写完毕点击确定。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210202235721.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)3.创建产品完成后,会弹出一个小的引导提示框,点击“立即添加设备”,页面将会跳转至设备页面。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210203656506.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)4.点击页面右上侧的“添加设备”按钮,会弹出一个侧边框,在其中填写相应的参数,设备名称和鉴权信息都可以随意填写,不过鉴权信息需要为数字和字母格式。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210204402261.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)5.添加一个设备后,会在页面显示设备的信息,如设备ID、设备名称、设备状态以及最后在线时间等参数。点击右侧的“详情”,进入设备详情界面。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210204926214.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)6.点击“添加APIKey”,在弹出的右侧边窗口内填写APIkey,可以随便填写,填写完成后点击提交,系统会生成一个APIKey。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210205548373.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)7.至此,onenet在本项目的条件下已经完全配置完毕,剩下的最后一步就是把链接onenet云需要的各种参数和密码记录下来。分别记录设备下的:设备ID号,鉴权信息和APIKey;产品下的产品ID和Master-APIkey;其中获取Master-APIkey的时候需要进行验证,如果绑定了手机号和邮箱都可以作为验证手段。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210211309158.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210211501696.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) ☆☆最好将参数记录到一个文档留作保存,注意:这些参数是非常重要的,千万不可泄漏。☆☆ (为了文章的可读性,将此中的参数已经全部展露出来,但是会在写完本文后删除此文章所创建的产品,所以不必担心) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210211756734.png) ## 2.使用RT-Thread Studio软件编写代码 ### (1)准备工作 1.打开RT-Thread Studio,创建基于STM32F411CE的工程,选择->文件->新建->RT-Thread项目,依次填写对应的信息,点击完成。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211004734327.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)2.依次按照项目目录找到main.c并打开,点击编译按钮对项目进行编译,观察控制台输出信息,没有错误没有警告,表示软件环境没有问题。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211005411543.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)3.将整个硬件系统连接好,将USB转TTL模块插入电脑USB口,将St-Link插入电脑USB。点击串口终端图标打开USB转TTL提供的串口,在弹出来的对话框设置相应的参数,点击确定,稍微等待几秒,观察终端窗口处有如下类似输出即打开成功。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020121101041225.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) 4.点击程序下载按钮,将程序下载至stm32芯片,观察终端窗口是否有RT-Thread LOG打印以及"Hello RT-Thread!"字符串输出。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211010947463.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)5.为了不影响在终端对shell命令的使用,改变main.c文件的内容,使字符串不循环输出。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211011528954.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) ### (2)添加AT_Device-L610支持包 1.双击打开工程配置工具,在工具内单击鼠标左键libc图标打开libc库支持,之后点击软件包中心的立即添加按钮,添加软件包。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211012027674.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)2.在搜索栏输入at_device,点击搜索图标进行搜索。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211012801805.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) 3.点击添加,然后关闭即可。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211012646384.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)4.关闭搜索界面后,会留在项目配置工具界面,此时显示已添加at_device软件包,鼠标右键单击该软件包,选择详细配置。进入配置界面,在列表中找到Fibocom L610选项,在后面对其勾选,并将其下的列表全部展开,设置电源引脚为17->对应RT-Thread Pin的PB1,AT客户端名称使用uart2,将接收缓存空间改的大一点4096,以防止接收长数据发生错误。最下方版本后面的对应的选项一定要选择latest即最新版本。设置完毕后,使用ctrl+s对配置进行保存,此时RT-Thread Studio会自动对项目进行更改。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211013815258.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)5.设置的L610软件包使用了串口2 uart2,所以接下来要去开启uart2功能。在项目目录找到drvice目录下的board.h文件打开,找到大约70几行的uart1定义处,添加对uart2开启的代码,如图。ctrl+s保存。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211015102893.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)6.打开项目目录下的packages->at_device-latest->class->l610内的at_device_l610.c文件,找到第979行,将if内的 && l610->power_status_pin != -1 和代码删除。这是因为,本项目只使用了电源引脚,而未使用电源状态读取引脚,所以L610的此支持包会默认不初始化相关引脚,导致L610模块无法开机。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211160538638.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) 7.在这个at_device-l610最新版软件包里,有一个小bug,就是第929行处的一个函数误将函数名给写错了,导致编译时报函数未定义错误,实际上函数在文件内已经定义。只要将此函数的首字母大写L改为小写l即可。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211020648652.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)8.为了保护l610模块不受非正常关机对其内部flash带来的威胁,在实验结束,或准备给模块断电时,控制l610模块关机后在进行电源断开操作,所以在main.c 文件添加如下代码,作用是关机前按下按键使模块关机,程序停止运行。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211021753489.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) ### (3)添加onenet软件包 1.打开项目配置工具,点击“ADD”按钮,在弹出的软件包中心搜索框输入onenet点击搜索按钮进行搜索。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211134915280.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) 2.在onenet软件包上点击添加按钮,之后关闭页面。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211135126685.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) 3.之后界面会留在配置工具,此时可以发现多了很多软件包,这些都是onenet软件包所使用的。找到onenet软件包,鼠标右键点击,选择详细配置。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211135550974.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) 4.进入onenet软件包的配置界面,看到有很多参数需要填写,不要慌,打开之前配置onenet云后保存下来的参数,依次按照对应填写。要将onenet示例勾选,之后ctrl+s保存配置。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211140501645.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) 5.点击编译,观察控制台输出,没有错误,有警告先不必理会。点击下载至单片机,查看终端的串口输出,一切正常,但是此时还并没有使用onenet软件包的功能。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211141409483.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) 6.在终端处按下tab键,会列出支持直接输入执行的指令。在终端处直接输入onenet_mqtt_init命令运行onenet_mqtt_init()函数,进行onenet云连接操作。终端输出相应的提示,此时在onenet云的设备列表处可以看到设备已经在线,证明已连接成功。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020121114212491.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) ## 3.互联操作 1.将在项目目录packages->onenet-latest->inc下的onenet.h文件打开,在文件内可以看到软件包所支持的所有功能函数。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211143254964.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) 2.onenet软件包支持的常用功能函数及例程功能。 类型 | 函数名| 功能 | 文件 --|--|--|-- 基础 | onenet_mqtt_init() | OneNET云mqtt初始化 | onenet.c 基础 | onenet_mqtt_publish_digit() | 向onenet云发送数字数据 | onenet.c 基础 | onenet_mqtt_publish_string() | 向onenet云发送字符串数据 | onenet.c 基础 | onenet_set_cmd_rsp_cb() | 设置接收命令响应函数 | onenet.c 例程 | onenet_upload_cycle() | 循环向onenet上传模拟温度数据 | onenet_sample.c 例程 | onenet_set_cmd_rsp() | 设置接收命令响应函数 | onenet_sample.c 其中onenet_set_cmd_rsp()函数是用来设置接收命令响应函数的函数,此响应函数具体内容由开发者自行实现,在有数据传来时,会自动调用此响应函数对onenet发来的数据进行解析或处理等操作。 3.在RT-Thread Studio终端处输入onenet_set_cmd_rsp命令设置接收命令响应函数。再输入onenet_upload_cycle命令循环向onenet上传模拟温度数据,每次上传模拟数据终端都会打印输出,此时在onenet云的设备列表,l610设备后面点击数据流,切换到列表显示模式,即可看到上传的数据。此处可以设置显示数据量和开启实时刷新功能。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211153556578.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center) 4.切换至下发命令部分,点击右侧的下发命令按钮,在弹出来的侧边框里填写格式和命令,点击发送,观看RT-Thread Studio终端部分会输出接收到的命令和长度。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211153826590.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzAwMDY5,size_16,color_FFFFFF,t_70#pic_center)至此,本项目内容全部结束。
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
超级网吧蛋
这家伙很懒,什么也没写!
文章
1
回答
3
被采纳
0
关注TA
发私信
相关文章
1
RT-THREAD在STM32H747平台上移植lwip
2
正点原子miniSTM32开发板读写sdcard
3
反馈rtt串口驱动对低功耗串口lpuart1不兼容的问题
4
Keil MDK 移植 RT-Thread Nano
5
RT1061/1052 带 RTT + LWIP和LPSPI,有什么坑要注意吗?
6
RT thread HID 如何收发数据
7
求一份基于RTT系统封装好的STM32F1系列的FLASH操作程序
8
RT-Thread修改项目名称之后不能下载
9
rt-studio编译c++
10
有木有移植rt-thread(nano)到riscv 32位MCU上
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部