你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

智能空气污染监测仪

[复制链接]
木木&点点 发布时间:2019-3-5 12:46
实时确定整个城市的空气污染是一项艰巨的任务。我们可以使用车辆来监控空气质量。

* L2 ~0 a* A; r, F; y  x
1.jpg
这个项目中使用的东西
硬件组件
STM32F103蓝色药丸   ×   1      
NodeMCU ESP8266分线板     ×  1      
DHT11温湿度传感器(4针)      ×     1      
Seeed Grove - 晴雨表传感器(BMP280)×     1               
Seeed Grove - 气体传感器(MQ2)  ×    1      
Seeed Grove - 光传感器    ×    1      
定制PCB   ×         1      
SparkFun IMU突破 -  MPU-9250          ×  1      
7 H+ P5 Y7 p. H
介绍
我们为什么要建造这个?
实时确定整个城市的空气污染是一项艰巨的任务。这会影响人们的健康和思想。虽然政府采取措施防止空气污染,但实际上并不能实施。
空气污染对交通系统有严重的问题。在印度,根据印度时报道,“空气污染声称德里每年都有比道路交通事故更多的生命!”
空气污染是世界十大杀手之一,也是印度第五大死亡原因,科学与环境中心的一份报告称,德里每年约有10,000至30,000人死亡。星期二。
根据德里交通警察的统计,去年有1,671人死于交通事故。即使考虑到这些数据可能报告不足的事实,空气污染仍然更加致命!
硬件构建
图层:
空气质量与人类健康密切相关。为了连续跟踪空气质量,监控单元可以放置在车辆中。收集传感器的数据并将其发布到云端。
来自云的数据使用Android应用程序提取,该应用程序提供有关该特定位置的空气质量水平的信息。
2.jpg
这个怎么运作
传感器数据使用STM开发板计算并发送到云。温度,压力,湿度,GPS,热量,二氧化碳等数据被送入云端。Android应用程序允许用户实时查看污染数据。
基本硬件组件
STM32蓝板:
蓝板是最流行,超便宜和紧凑的STM32F103板的昵称。
它具有比红板更好的可用性,并且比黑板更长。另见非常相似的RobotDyn黑板。
3.jpg
特征:
板:通用STM32F103系列
主板部件号:BluePill F103C8
串行接口:使用通用串行启用
闪存大小:64k(你可以尝试128k;大多数主板以64k的价格出售,但实际上有128k的闪存)
上传方式:ST Link
NodeMCU :
NodeMCU是一个开源的物联网平台。它包括在EspressifSystems的ESP8266 Wi-Fi SoC上运行的固件,以及基于ESP-12模块的硬件。默认情况下,术语“NodeMCU”是指固件而不是开发套件。固件使用Lua脚本语言。它基于eLua项目,并基于Espressif Non-OS SDK for ESP8266构建。它使用许多开源项目,例如lua-cjson和SPIFFS。
4.jpg
ESP8266的功能包括:
可以使用简单而强大的Lua编程语言或Arduino IDE进行编程。
包括USB-TTL,即插即用。
10个GPIO D0-D10,PWM功能,IIC和SPI通信,1-Wire和ADC A0等都在一块板上。
Wifi网络(可用作接入点和/或电台,托管网络服务器),连接到互联网以获取或上传数据。
用于网络应用程序的事件驱动API。
PCB天线。
无线连接:Wi-Fi:802.11 b / g / n
外围接口
安全
能源管理:
1步:STM32 BluePillNodeMCU入门
在这个项目中,我们将与温度传感器,陀螺仪,加速度计,磁力计,气压计,空气质量,环境光以及发布传感器数据的固件连接。
将STM32 Blue药丸的Tx和Rx引脚连接到NodeMCU板的USART。
2步:连接其他传感器
此项目应连接温度,湿度,气压计,空气质量,环境光,热量水平,土壤湿度,水流量传感器和电机控制。注意:大多数传感器都内置在此恩智浦套件中。
现在我们将看到如何将其他传感器与STM32 Blue Pill连接。
连接DHT11
DHT11传感器通过测量两个电极之间的电阻来检测水蒸气。湿度感测组件是保湿基板。当水蒸气被基板吸收时,离子被基板释放,这增加了电极之间的导电性。两个电极之间的电阻变化与计算的相对湿度成比例。较高的相对湿度(RH)降低了电极之间的电阻,而较低的相对湿度增加了电极之间的电阻,即相对湿度与两个电极之间的电阻成反比。
在这里,我们将DHT11温度和湿度传感器连接到STM32的数字引脚。
5.jpg
STM32的模拟引脚PA0用于输出信号。
连接:
STM32 Blue Pill ------------------------------------- DHT11
VCC(3.3v) - > Vcc(3.3v)
GND - >地(0V)
PA0 - >信号
计算DHT11的温度和湿度并将其存储在变量中,这些变量将被传送到项目的下一部分。
连接BMP280传感器:
博世的BMP280气压传感器将测得的气压(环境气压)和环境温度作为原始值,输出现在可以通过I2C或SPI接口输出。但与BMP180相比,BMP280还有一些改进。
映射模块的默认I2C地址为0x76 ,可以通过模块上的焊接桥更改为0x77 。
在这里,我使用SPI协议与Arduino进行通信。
借助存储在传感器中的12个补偿参数,可以根据原始值确定该位置的气压(站级气压),海拔高度和环境温度。
6.jpg
连接:
STM32 Blue Pill ---------------------------------- BMP280
VCC(3.3v) - > Vcc(3.3v)
GND - >地(0V)
PB12 - > CS
PB14 - > MOSI
PB15 - > MISO
PB13 - > SCK
连接MPU9250 传感器:
所述MPU-9250 是从InvenSense®最新9轴MEMS传感器。这取代了流行的EOL'd MPU-9150。与MPU-9150相比,InvenSense®降低了功耗并减小了44%的尺寸。“陀螺噪声性能提高3倍,罗盘满量程范围比竞争产品高出4倍。”MPU-9250使用16位模数转换器(ADC)对所有9个轴进行数字化处理。
该小号ystem 我Ñ P ackage(SIP)结合了两个芯片:MPU-6500,其包含3轴陀螺仪,3轴加速度计,和AK8963,3轴磁强计。
7.jpg
连接:
STM32 Blue Pill ------------------------------- BMP280
VCC(3.3v) - > Vcc(3.3v)
GND - >地(0V)
PB8 - > SCL
PB9 - > SDA
接口空气传感器:
在这里,我接口MQ5气体传感器,这是市场上可用的通用气体传感器,更适合检测和确定LPG浓度。
该模块有两种输出可能性
模拟输出可用于检测气体泄漏,并使用固件中实施的某些算法测量气体泄漏量,气体泄漏水平以ppm为单位。
数字输出可用于检测气体泄漏。当气体泄漏时,Arduino设定中断,表示气体泄漏。
STM32的数字引脚PA8用于输出信号。
连接:
STM32 Blue Pill ------------------------------- MQ5
VCC(3.3v) - > Vcc(3.3v)
GND - >地(0V)
PA8 - >数据
接口光传感器:
LDR是光依赖电阻器。LDR由半导体材料制成,使其具有光敏特性。有许多类型,但一种材料很受欢迎,它是硫化镉(CdS)。这些LDR或PHOTO RESISTORS的工作原理是“光电导率”。现在这个原理所说的是,每当光线落在LDR的表面上(在这种情况下),元件的电导增加,换句话说,当光线落在LDR的表面上时,LDR的电阻下降。由于LDR是表面上使用的半导体材料的特性,因此实现了LDR的电阻降低的这种特性。
9.png
STM32的数字引脚PA9用于输出信号。
连接:
STM32 Blue Pill ----------------------------- LDR
VCC(3.3v) - > Vcc(3.3v)
GND - >地(0V)
PA9 - >数据
3步:上传固件
在上传固件之前,我们必须创建一个总线来连接STM32 Blue Pill和NodeMCU板。
连接:
STM32 --------------------------------------- NodeMCU Board
VCC(3.3v) - > Vcc(3.3v)
GND - >地(0V)
PB7(RX) - > TX
PB6(TX) - > RX
连接完成后,使用GNAT IDE上传传感器代码。
NodeMCU的过程将在即将召开的会议中讨论。
代码添加了GitHub Repository,可以在代码部分找到。
4步:设置Firebase以进行发布和订阅
Firebase有很多功能,包括实时数据库,身份验证,云消息传递,存储,托管,测试实验室和分析,但我只会使用身份验证和实时数据库。
来自STM32 Blue Pill的数据被传输到NodeMCU。NodeMCU获取的数据是通过Firebase帐户发布和订阅。
创建Firebase帐户
首先登录Google Firebase 并创建一个新项目,然后单击“添加项目”按钮在Firebase上创建一个新项目。
10.jpg
为项目命名并选择国家/地区,单击“ 创建项目” 按钮开始。
在对硬件进行编程以连接到项目时,请确保记下稍后需要的项目ID 。
11.jpg
现在单击继续以访问创建的数据库。
12.jpg
现在单击侧面菜单中的Develop - > Database,单击Create Database按钮并在Test Mode中启动项目,如下所示。
13.jpg
启用Firebase将引导您进入“数据和规则”选项卡,并验证是否已启用读取和写入功能。
14.jpg
最后打开项目设置并复制Web API密钥以及将在NodeMCU代码中使用的其他参数。
15.jpg
Firebase配置为从NodeMCU接收数据。
5步:封闭
我曾为这个项目使用过亚克力外壳。
首先,我将所有电路放在外壳内并拧紧。
我为灯光和温度传感器做了一个小开口。
最后,所有螺钉都牢固安装,电源线通过插槽插入。
6步:让我们看看它的工作原理
您可以在Google Firebase上找到正在发布的数据。
记录的这些数据可以显示在网站上或移动应用程序中。
16.jpg
关于云的数据
17.jpeg
用于订阅云数据的应用程序
如果它真的对你有所帮助并且按照我的频道进行有趣的项目,请竖起大拇指。
如果您愿意,请分享此视频。
很高兴你订阅:https ://www.youtube.com/channel/UCks-9JSnVb22dlqtMgPjrlg/videos
谢谢阅读!
0 f* ]/ i: z7 Y2 L! N
收藏 评论0 发布时间:2019-3-5 12:46

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版