RT-Thread&BearPi 开发笔记 -- 小熊派基于RT-Thread接入腾讯云物联网开发平台
Posted 工程师进阶笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RT-Thread&BearPi 开发笔记 -- 小熊派基于RT-Thread接入腾讯云物联网开发平台相关的知识,希望对你有一定的参考价值。
小熊派基于RT-Thread接入腾讯云物联网开发平台
上一篇文章讲述了小熊派通过ESP8266无线WiFi模块接入互联网,关于上一篇文章的具体内容,可以查看以下链接:
RT-Thread&BearPi 开发笔记 -- 小熊派基于RT-Thread使用ESP8266进行网络连接
基于RT-Thread的小熊派BSP包链接:https://gitee.com/embediot/bearpi_rt-thread
对于一个标准的IoT设备,接入云端可以让其实现更多好玩实用的功能,因此,小熊派准备接入腾讯云物联网开发平台,通过腾讯云物联网开发平台,实现设备信息监控和远程控制。腾讯云物联网开发平台链接:https://cloud.tencent.com/product/iotexplorer
RT-Thread物联网操作系统提供了接入腾讯云的软件包,通过修改配置单,可以让小熊派很方便地接入物联网开发平台,小熊派接入腾讯云物联网开发平台的思维导图,如下图所示。
注册腾讯云,登录物联网开发平台
在使用腾讯云物联网开发平台之前,要先进行注册,可以通过以下链接打开腾讯云物联网开发平台:https://cloud.tencent.com/product/iotexplorer,然后点击右上角的【免费注册】按钮,使用微信扫码即可根据指引进行注册。
注册完成后,进入物联网开发平台的控制台,物联网开发平台为开发者提供一个公共实例,可以在这个公共实例里面进行新建项目,添加产品和设备,对于企业用户,也可以购买企业版实例,完成更多功能开发,对于个人开发者验证功能,一般公共实例已经足够使用。
点击【公共实例】,即可进入新建项目界面。点击【新建项目】,创建一个项目并进行保存,如下图所示。
点击创建好的项目,进入产品配置界面,点击【新建产品】按钮,按照指引,创建一个小熊派的新产品,创建产品后,可以得到产品ID,这个产品ID会在设备代码里面进行使用。
点击创建好的产品,进入产品开发配置界面,如下图所示,开发产品需要经过5个步骤,分别是:数据模板、设备开发、交互开发、设备调试、批量投产,第一步是先要根据产品的功能,配置好数据模板。
关于数据模板的配置规则,腾讯云物联网开发平台提供了比较丰富的参考文档,可以查看以下链接:https://cloud.tencent.com/document/product/1081/44921
对于BearPi_E53_IA1这个产品,有电机控制功能,紫光LED开关功能,光照亮度监测和温湿度监测,分别在数据模板里面添加这几个功能,然后点击下一步,进入【设备开发】,由于我们是使用RT-Thread配置单来添加腾讯云物联网SDK组件的,因此,可以先忽略【设备开发】这一步。
关于【交互开发】这个步骤,暂时可以先忽略,直接跳到第四步【设备调试】,在【设备调试】界面,点击新建设备按钮,添加一个新设备,填入设备名称后点击保存,即可创建成功,并且获取设备名称和设备密钥,如下图所示。
这里需要注意一下,设备名称、设备密钥、产品ID,这三个参数被称为“设备三元组”,用于IoT设备登录物联网开发平台,需要在设备代码里面正确填入三元组,设备才能成功登录物联网开发平台。
在设备调试界面里面,还有很多功能,在后续的设备联调阶段,通过这个界面即可完成物联网平台和设备端的数据联合调试,比如,在这个界面可以查看设备的属性信息,可以查看设备触发的事件和设备行为,还可以查看设备的上下线日志,还可以在线调试设备,并通过窗口监控设备的通信日志信息。
至此,物联网开发平台的配置已经完成,可以导出数据模板的JSON文件,并通过工具转化为设备端的代码,后续修改设备代码的时候,会用到设备三元组和这里的数据模板代码,关于如何将数据模板转换为设备端代码,可以查看以下链接:https://cloud.tencent.com/document/product/1081/48374
修改配置单和用户代码
RT-Thread的软件包仓库,已经添加了腾讯云物联网平台的支持,通过menuconfig配置单,使能tencent-iot-sdk,就可以很方便地把物联网平台的C-SDK代码添加到RT-Thread的工程项目里面。
腾讯云提供了基于RT-Thread SDK使用参考的一系列文档,根据这份文档,开发者可以参考里面的配置说明与配置信息,让设备使用RT-Thread快速接入腾讯云物联网开发平台:https://cloud.tencent.com/document/product/1081/49713
为了精简配置过程,我们不采用参考文档里面的配置信息,在配置单里面,我们只需要填入设备的三元组信息,并且使能设备的事件和行为功能,通信过程暂时不使用TLS进行加密,关于小熊派使用RT-Thread接入腾讯云物联网平台的配置单,如下图所示。
配置完成后,在ENV控制台执行pkgs --update命令,更新软件包。更新完成后,再执行以下指令scons --target=mdk5生成MDK工程,如下图所示。
在物联网开发平台,使用工具生成的数据模板代码,主要是data_config.c和events_config.c文件,这两个文件里面的内容,跟我们一开始设置的设备功能有很大的关联,根据腾讯云提供的指引文档,把这两个源文件复制到指定的工程目录即可。
源文件data_template_sample.c主要是提供给开发者进行参考的,修改这个源文件的内容,可以处理云平台的下发数据,以及向云平台上报设备的监控信息。
设备接收到云平台下发的控制信息时,主要在以下函数进行处理,目前处理的控制信息是小熊派紫光LED的开关和电机控制的开关,具体代码如下图所示。
为了程序简便并易于理解,通过模拟方式上报小熊派的温湿度数据和光照数据,通过按下小熊派开发板上的F1和F2按键,向云平台上报一次数据,这个数据是模拟的,如果想采用真实采集的数据,可以在以下函数里面修改代码,获取传感器数据即可。
使用控制台调试程序
编译程序并下载到开发板,执行以下步骤可以开始测试程序代码:
1、在开发板的命令行终端输入reboot命令,重新启动设备。
2、等待设备成功连接网络。
3、执行tc_data_template_example命令,开始连接腾讯云。
4、在腾讯云的控制台可以看到设备上线。
5、使用腾讯云的控制台进行设备【在线调试】。
6、分别点击【电机开关】和【紫光LED开关】控制设备。
7、按下设备的F1和F2按键,上报数据给云平台。
程序在设备上的运行情况,可以查看以下视频:https://www.bilibili.com/video/BV1fr4y1K792/
以上是关于RT-Thread&BearPi 开发笔记 -- 小熊派基于RT-Thread接入腾讯云物联网开发平台的主要内容,如果未能解决你的问题,请参考以下文章
RT-Thread&BearPi 开发笔记 -- 小熊派基于RT-Thread使用ESP8266进行网络连接
《嵌入式系统 - RT-Thread开发笔记》 第三部分 RT-Thread 移植与设备驱动开发 - 第1章 RT-Thread 开发环境搭建 (Keil+env)
CH579M移植RT-THREAD实战笔记(KEIL5环境)
CH579M移植RT-THREAD实战笔记(KEIL5环境)