打印
[uCOS/RTOS]

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

[复制链接]
4799|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 阿基米东 于 2020-7-6 01:10 编辑



概述

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


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

人无时无刻都在呼吸,长期生活在受污染的空气环境中,容易诱发慢性呼吸性疾病,甚至是肺癌。然而现实生活中,却很少人会关注与我们息息相关的空气质量。因此,本人基于雅特力 AT32F403-START 开发板和 RT-Thread 操作系统,搭配三个传感器模块共检测五种空气质量指标,分别是空气温度、湿度、颗粒物浓度、TVOC 浓度以及 CO2 浓度。为了增加数据分析和应用功能,同时考虑入网的便捷性,使用 NB-IoT 模块将数据上报到云端进行统计分析和存储,并开发微信小程序“空气侦探”方便用户随时随地查看数据。



整体方案

包括感知层、网络层、平台层、应用层四部分。其中网络层使用 NB-IoT 模组接入网络,使用 MQTT 协议进行通信。

整个系统主要分为设备端、云端、用户端三大块。设备端 MCU 运行 RT-Thread,主要负责采集传感器数据并将数据上报到云端;云端采用阿里云 IoT 平台接入设备,同时实现设备管理、数据转发功能,通过搭配 ECS、RDS 等云服务,实现数据存储和应用服务;用户端包括基于 IoT Studio 实现的 Web 页面和微信小程序,方面用户随时随地关注室内外的空气质量情况。



硬件框架




硬件方案介绍:

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


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

(上述5个软件包均为本人亲手制作的,已贡献到 RT-Thread 软件包库,可在 http://packages.rt-thread.org/ 网页检索)


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

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

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


代码地址
GitHub 仓库:https://github.com/luhuadong/fctc-air-at32f403a-start

软件包:
  • dhtxx 软件包:https://github.com/luhuadong/rtt-dhtxx
  • gp2y10 软件包:https://github.com/luhuadong/rtt-gp2y10
  • sgp30 软件包:https://github.com/luhuadong/rtt-sgp30
  • littled 软件包:https://github.com/luhuadong/rtt-littled
  • bc28_mqtt 软件包:https://github.com/luhuadong/rtt-bc28-mqtt






更多方案细节请查看 附件《RT-Thread作品秀_空气质量监测系统》

项目开发过程及演示视频已上传到 B 站( https://www.bilibili.com/video/BV1mK411p7jj ),欢迎小伙伴们点赞、投币、收藏!






RT-Thread作品秀_空气质量监测系统.pdf

1.67 MB

使用特权

评论回复
评论
zhengfish 2021-2-6 20:43 回复TA
这种如果量产,怎么实现WIFI联网配置?即终端用户拿到产品盒子如何配置WIFI密码上网? 

相关帖子

来自 2楼
阿基米东|  楼主 | 2020-6-13 23:58 | 只看该作者
如果阅读量超过1000,我再分四部分分享一下 ① sensor 驱动软件包制作、② RT-Thread 应用开发、③ 阿里云 IoT 平台搭建、④ 微信小程序实现  ......

使用特权

评论回复
板凳
阿基米东|  楼主 | 2020-6-18 09:42 | 只看该作者
贴个CSDN链接 https://blog.csdn.net/lu_embedded/article/details/106739939

使用特权

评论回复
地板
阿基米东|  楼主 | 2020-6-28 16:29 | 只看该作者
今天增加了 CCS811 和 攀藤 PM2.5 传感器,等我整理一下做成软件包开源出来

使用特权

评论回复
5
阿基米东|  楼主 | 2020-7-4 23:27 | 只看该作者
CCS811 软件包可以用啦 -> https://github.com/luhuadong/rtt-ccs811

使用方法:https://blog.csdn.net/lu_embedded/article/details/107130346

使用特权

评论回复
6
阿基米东|  楼主 | 2020-7-6 01:11 | 只看该作者
更新了附件的文档!还要审核呀。。。呼叫小喇叭

使用特权

评论回复
7
阿基米东|  楼主 | 2020-7-15 21:14 | 只看该作者
代码地址

项目代码:https://github.com/luhuadong/fctc-air-at32f403a-start

软件包:

- littled 软件包:https://github.com/luhuadong/rtt-littled
- dhtxx 软件包:https://github.com/luhuadong/rtt-dhtxx
- gp2y10 软件包:https://github.com/luhuadong/rtt-gp2y10
- sgp30 软件包:https://github.com/luhuadong/rtt-sgp30
- ccs811 软件包:https://github.com/luhuadong/rtt-ccs811
- pmsxx 软件包:https://github.com/luhuadong/rtt-pmsxx
- bc28_mqtt 软件包:https://github.com/luhuadong/rtt-bc28-mqtt

使用特权

评论回复
8
大智若愚88| | 2021-2-3 08:22 | 只看该作者
有没有MP503和scd30软件包

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

62

帖子

1

粉丝