前言
之前分享了基于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进行处理,非常感谢!