【RT-Thread 作品秀】空气质量监测系统

网友投稿 786 2022-09-06

【RT-Thread 作品秀】空气质量监测系统

【RT-Thread 作品秀】空气质量监测系统

1. 概述

随着城市的扩张和经济的发展,大量的工业废气和汽车尾气等污染气体进入大气层,使得空气污染问题愈发严重。不仅有全球变暖这种国际性问题,还有雾霾等大气长期污染问题。除此之外,室内空气污染问题也不容忽视,吸烟、厨房油烟、室内装修材料散发的有机气体和放射性气体,以及粉尘螨和细菌等微生物,都是室内空气污染的帮凶。

你可能不知道,空气污染使九分之一的人丧命,且对我们的气候未来造成威胁。通过搭建一套空气质量监测系统,帮助你了解你的城市和家庭是否面临危险。

系统分为感知层、网络层、平台层和应用层,整体方案如下图所示。

2. RT-Thread 使用情况概述

RT-Thread 使用情况:

内核部分:RT-Thread 4.0.3组件部分:sensor、at client、netdev、dfs软件包部分:dhtxx、gy2y10、sgp30、littled、bc28_mqtt

(上述5个软件包均为本人亲手制作的,已贡献到 RT-Thread 软件包库,可在 ​​网页检索)

3. 硬件框架

硬件方案介绍:

中间蓝色部分为主控模块,雅特力 AT32F403A 微控制器,运行 RT-Thread 物联网操作系统,负责驱动外部设备和系统逻辑控制;左侧红色部分为传感模块,分别是单总线接口的 DHT22 温湿度传感器,ADC 接口的 GP2Y1014 灰尘传感器,以及 I2C 接口的 SGP30 气体传感器(检测 TVOC 和 CO2);上方黄色部分为存储模块,为 AT32F403A-START 板载的 SPI Flash,负责在必要时存储传感数据;右上方浅绿色部分为交互模块,通过板载按键和 LED 灯实现简单的交互功能;右下方深绿色部分为通信模块,使用移远的 NB-IoT 模组 BC28 连接阿里云物联网平台,负责传感数据上报和逻辑数据通信。

4. 软件框架说明

具体到设备端,由于搭载 RT-Thread 物联网操作系统,使用软件包 dhtxx、gy2y10、sgp30 实现传感器模块底层驱动,软件包 bc28_mqtt 实现 NB 网络连接阿里云 IoT 平台,软件包 littled 实现 LED 灯的异步控制。因此业务逻辑变得简洁明了,完全在 main.c 中实现。

5. 软件模块说明

在 RT-Thread + 软件包的基础上进行应用程序开发,将任务分为三组线程,并使用信号量和事件集进行同步,使用邮箱和内存池进行通信。

设备端应用层程序的三组线程分别是:

左侧红色部分为传感数据采集线程,dhtxx、gy2y10、sgp30 均已对接 sensor 框架,因此调用统一的​​rt_device_xxx​​ 接口进行操作;中间蓝色部分为同步线程,负责协同不同速率的传感器,同时做一些本地数据处理,为数据上报做准备;右侧绿色部分为数据上报线程,负责将传感器数据上报到云端。

6. 演示效果

B 站视频:​​平台数据展示

7. 代码地址

GitHub 仓库:​​软件包:​​软件包:​​软件包:​​软件包:​​软件包:​​演示视频

RT-Thread应用创新设计大赛作品展示——空气质量监测系统

B站:​​https://bilibili.com/video/BV1mK411p7jj​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SQL Server调优系列进阶篇(如何维护数据库索引)(sql server安装步骤)
下一篇:和弦笔记:和弦组成音/和弦命名规律/sus和add的区别
相关文章

 发表评论

暂时没有评论,来抢沙发吧~