如何利用小游戏开发框架提升企业小程序的用户体验与运营效率
838
2022-09-06
【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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~