RT-Thread | 基于RT-Thread的智慧路灯案例实验分享

 

前言

之前分享了基于LiteOS的智慧农业案例实验分享《基于LiteOS的智慧农业案例实验分享》,阅读量挺不错,看样子大家都挺喜欢这种实验。那咱们就再来一个类似的实验:。

实验框图

实验说明:设备终端不断采集光强数据并上传至云端进行监控,同时也会把当前LED(路灯)的状态上传。LED的状态会根据光照值进行打开、关闭。

比如当光照值低于(夜晚)我们设置的光照阈值时就会打开LED,当光照高于(白天)光照阈值时就会熄灭LED灯。除此之外,云端可以远程控制LED的亮灭,达到一个远程控制的作用。

创建RTT工程

  • 硬件:小熊派开发板。

  • 软件:基于RT-Thread操作系统的应用开发。

  • 开发工具:RT-Thread Studio V1.1.0。

本实验我们需要用到RT-Thread的BH1750软件包、OneNet软件包及at_device软件包等。这些软件包的使用已经在前两篇笔记中有写到:

【RT-Thread笔记】BH1750软件包的使用

【RT-Thread笔记】OneNet软件包的使用

本次实验也只是把它们融合在一起来使用。

1、添加相关软件包、配置:

添加完之后的文件如:

添加软件包及软件包的一些详细配置可查阅上两篇笔记。这里也大概提一下要点:

(1)设置WiFi信息:

(2)设置OneNET信息

(3)配置I2C对接BH1750

这里我用的是,这里的I2C的范例配置有点问题,其它版本的应该可以按范例配置那么配,如果按范例配置编译不通过的话可以按照I2C2那样配置。

2、应用代码

(1)测试函数

首先进行一个onenet初始化,这个初始化接口时onenet软件包提供的。

接着进行一个led命令响应回调函数的绑定,回调函数onenet_ledcmd_rsp_cb里进行的就是接收到onenet下发的led命令之后进行地一些操作。最后就是创建一个onenet数据上传的线程。

最后把这个函数以命令的形式导出,以便我们可以在命令行输入命令进行测试。

(2)led命令响应回调函数

我们收到onenet下发的命令之后,所需要做的操作放在这里面。比如当我们的设备接收到字符串时,打开led,并打印提示信息。最后再把信息应答给onenet。

(3)上传数据的任务

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月4日
下一篇 2020年5月4日

相关推荐