概述:
基于物联网的智能家庭火灾监控系统基于ART-Pi STM32H750 开发板和RTThread,通过板载AP6212和MQTT通信协议接入阿里云物联网,该系统具有一个APP客服端,可通过该APP实时查看各个传感器状态,判断是否发生火灾,并且具有一键报警功能,为未来智慧消防建设提供了一种解决方案。
开发环境
硬件:ART-Pi STM32H750
使用的模块:DS18B20数字温度传感器,火焰传感器,MQ2烟雾传感器
RT-Thread版本:RT-Thread V 4.0.3
开发工具及版本:RT-Thread Studio
APP SDK:Flutter 1.22.2
RT-Thread使用情况概述
内核部分:调度器,邮箱。
调 度 器 :创建多个线程来实现不同的工作。
邮 箱 :用与线程间通信。
组件部分:FAL:Flash 抽象层,DS18B20,cJSON,Ali IoTKit以及WIFI(AP6212A)
软件包部分:
Ali IoTKit:ali-iotkit 是 RT-Thread 移植的用于连接阿里云 IoT 平台的软件包,方便设备上云封装了丰富的连接协议,如 MQTT、 CoAP、HTTP、TLS,并且对硬件平台进行了抽象,使其不受具体的硬件平台限制而更加灵活。。
cJSON:C语言实现的极简的解析 JSON 格式的软件包。
DS18B20 数字温度传感器:对接了 RT-Thread Sensor 框架的 DS18B20 驱动程序。
FAL:FAL (Flash Abstraction Layer) Flash 抽象层,是对 Flash 及基于 Flash 的分区进行管理、操作的抽象层,对上层统一了 Flash 及 分区操作的 API。
硬件框架
软件框架
线程说明
mqtstart:用于初始化连接参数,并连接阿里云。
startSensor:初始化传感器,创建邮箱,并循环读取传感器的值,每读取一次传感器的值,向邮箱中发送一个包含三个传感器数据的邮件。
pubmsg:用于向阿里云上传传感器数据。以永久等待方式,读取邮箱中的邮件,并将邮件的信息上传。
程序运行后,这三个线程栈利用率均达到70%,满足官方线程栈大小设置建议。
实物及APP截图
视频观看:
代码地址 (下载后可见)
比赛感悟
首先,非常开心有幸看到国产嵌入式操作系统---- RT-Thread。参赛之后才开始接触RT-Thread,它给我的印象是内核非常容易上手,各种文档资源非常丰富,内核可裁剪,拥有丰富的package,让开发者不再关注于硬件底层,而将更多精力放在业务逻辑上,方便使用的各种包资源更是大大缩短了开发周期,还有强大的柿饼GUI,一系列的生态软件让RT-Thread不仅仅只是一个操作系统。
ART-Pi开发板非常强大,非常漂亮,体积小但功能俱全,是电路板艺术品当之无愧。
在以后会更深入地学习RT-Thread,希望自己有一天能为社区贡献出自己的一份力,更希望有机会加入RT-Thread团队。