当前位置:首页 > 物联网 > IoT设计分享
[导读]空气质量日益恶化,不可避免的工业和城市化的增加将使它变得更糟。在AirVisual和绿色和平组织最近进行的一项研究中,印度城市在世界污染最严重的30个城市中占据了22个位置,这是有失尊严的。在这一点上,已经很清楚,我们必须对这个问题迅速采取行动。由于空气污染不是肉眼可见的,因此重要的是要规范监测系统,通过实时测量污染物参数,并在空气质量下降超过一定水平时发出通知,从而真正了解城市的人们。

空气质量日益恶化,不可避免的工业和城市化的增加将使它变得更糟。在AirVisual和绿色和平组织最近进行的一项研究中,印度城市在世界污染最严重的30个城市中占据了22个位置,这是有失尊严的。在这一点上,已经很清楚,我们必须对这个问题迅速采取行动。由于空气污染不是肉眼可见的,因此重要的是要规范监测系统,通过实时测量污染物参数,并在空气质量下降超过一定水平时发出通知,从而真正了解城市的人们。

在本教程中,我们将制作一个基于物联网的空气质量监测系统。该系统使用MQ135气体传感器NodeMCU实时测量空气质量,并将数据发送到ThingSpeak平台。ThingSpeak平台与Twitter相连,因此每当空气质量低于一定水平时,它就会向授权的Twitter账户发送Twitter通知,从而警告该特定地区的人们。我们之前使用ThingSpeak与ESP8266构建气象站和智能路灯。还可以通过以下链接查看所有ThingSpeak和ESP2866相关项目。

所需的材料

构建这个基于物联网的空气质量监测系统需要以下硬件和软件。

硬件

•NodeMCU

•MQ135气体传感器

•跳线

软件

•ThingSpeak

•Arduino IDE

线路图

NodeMCU空气质量计的完整电路图如下图所示。这非常简单,因为我们只需要将MQ135传感器与我们的ESP NodeMCU板连接起来。

MQ 135传感器是4针多用途传感器。它可以用来感应苯、酒精、烟雾等气体。MQ135传感器内部有一个电化学传感器,该传感器对室温下使用的一系列气体敏感。如果您想测量特定气体,还可以阅读其他物联网传感器。

MQ135传感器的Vcc引脚与NodeMCU的Vin引脚连接,GND引脚与NodeMCU的GND引脚连接。而A0引脚与NodeMCU的A0引脚连接,如上图所示。整个设置将由Node-MCU的micro-usb端口通过USB电缆供电。我使用连接器电线进行连接,它看起来像下面的东西

ThingSpeak设置

ThingSpeak是一个开源的物联网平台,它允许你聚合、可视化和分析云中的实时数据。你可以使用ThingSpeak控制你的设备,可以从你的设备向ThingSpeak发送数据,甚至你可以创建实时数据的即时可视化,并使用Twitter和Twilio等网络服务发送警报。ThingSpeak集成了数值计算软件MATLAB的支持。MATLAB允许ThingSpeak用户编写和执行MATLAB代码来执行预处理,可视化和分析。ThingSpeak至少需要15秒来更新你的读数。在这个项目中,我们将使用ThingSpeak通过NodeMCU从MQ135传感器获取值,并绘制获得的值随时间变化的图。如果MQ135的值读为critical,我们也会从ThingSpeak发出tweet。

也可以将ThingSpeak与树莓派和ESP32一起使用,使其适用于广泛的物联网项目。按照下面的步骤来设置你的ThingSpeak

第一步:只注册粗体

要向Thingspeak发送数据,需要一个Thingspeak帐户。

点击右上角的“注册”选项,填写所需的详细信息

在此之后,验证您的电子邮件id并单击continue。

步骤2:为您的数据创建一个仅粗体的通道

现在,当您登录您的帐户时,通过点击“新频道”按钮创建一个新频道。

点击“新通道”后,输入您想要上传的数据的名称和描述。例如,我正在发送MQ135传感器数据,因此我将其命名为“Air Quality”。

在Field1中输入数据的名称。如果要使用多个字段,可以选中“字段”选项旁边的框,并输入数据的名称和描述。

在此之后,点击保存通道按钮保存您的详细信息。

步骤3:API Key仅加粗

为了向ThingSpeak发送数据,我们需要一个唯一的API密钥,我们将在后面的代码中使用它来上传温度和湿度到ThingSpeak网站。

点击“API密钥”按钮获取上传传感器数据的唯一API密钥。现在复制你的“写API密钥”。我们将在代码中使用这个API键。

配置Arduino IDE编程NodeMCU ESP8266

这里NodeMCU是使用Arduino IDE编程的,要做到这一点,你必须首先将NodeMCU板添加到Arduino IDE。

要做到这一点,打开Arduino IDE并进入File>>Preferences

然后将弹出一个新窗口,在“附加板管理器URL”中添加以下链接,然后单击“确定”。

现在在你的Arduino IDE去工具>>板>>板管理器

然后搜索“ESP8266”,然后通过点击“安装”按钮安装“ESP8266由ESP8266社区”包(我已经安装了板,这就是为什么安装按钮在禁用)

完成安装需要几分钟的时间。安装完成后,您将能够在您的board列表中看到NodeMCU

代码的解释

在开始代码之前,将MQ135传感器库添加到Arduino IDE中。为此,从下面的链接下载MQ135传感器库zip文件。

用于NodeMCU的MQ135库

之后,在Arduino IDE点击草图>包括库>添加Zip文件。选择该文件,然后单击Open。

在本教程的最后给出了完整的代码和工作视频,在这里我们解释了完整的程序,以了解项目的工作原理。

该代码首先包含MQ135传感器库和ESP8266 wifi库。MQ135传感器库用于从MQ135传感器读取数据。之后,输入ThingSpeak API密钥和服务器地址,并定义将在代码中使用的变量。

在void循环内部,将测量函数空气质量,并使用. getppm()函数将值更改为PPM。之后,这些值将被发布到几个ThingSpeak通道。

用于空气质量监测的NodeMCU编程

现在,当我们的代码准备好上传时,将NodeMCU与笔记本电脑连接,并正确选择板和端口,然后单击upload按钮。上传代码后,打开串口监视器。使串行监视器波特率为115200。您将在串行监视器上看到您的Wi-Fi Id、密码和PPM值。

现在转到ThingSpeak网站并检查您的频道,您将看到以PPM为单位的当前空气质量值,如下图所示。

完整的硬件设置以及在我的笔记本电脑上打开的图形和串行监视器如下所示。

从ThingSpeak发送Twitter通知

现在我们的下一个任务是在空气质量下降到一定水平时发送推特通知。为此,你必须将你的twitter账户与ThingSpeak连接起来。要做到这一点,去你的ThingSpeak频道,点击Apps > ThingTweet >链接帐户。

在下一个窗口输入你的推特用户名和密码,点击“授权应用程序”。现在,当你授权了ThingTweet,它可以阅读和发布推文在你的时间轴上。

回到ThingSpeak频道,然后点击Apps > React > New React。

在React窗口中填写详细信息。在condition中,选项卡选择Numeric,因为我们想要发送一个特定数值的tweet,在condition选项卡中选择通道名称,字段并选择何时运行React。

保存React并运行代码。现在,每当PPM值超过50时,它就会向您的twitter帐户发送通知。您可以通过修改“测试频率”来更改通知频率。

通过使用Twitter,你可以向所有人发送通知。该系统可以向特定地区的全体居民发出空气质量警报。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭