APP下载

物联网空气质量监测仪实验设计

2024-07-18王昇

中小学信息技术教育 2024年7期

【摘 要】本实验旨在通过Mind+编程和Arduino主板搭建一个物联网空气质量监测仪。通过本实验,学生可通过Easy IoT平台的使用和OBLOQ模块的应用,提高物联网技术的实践应用能力。

【关键词】Mind+编程;Arduino主板;Easy IoT物联网平台

【中图分类号】G434 【文献标志码】B

【论文编号】1671-7384(2024)07-062-02

实验背景及原理

随着我国工业化和城市化的快速发展,空气质量问题日益凸显,对人们的健康和生活质量产生了严重影响。因此,对空气质量进行实时监测和预警显得尤为重要。物联网技术的快速发展为空气质量监测提供了新的解决方案。物联网空气质量监测仪能够实时采集空气质量数据,并通过网络传输到远程平台进行分析和处理,为环境保护和公众健康提供了有力保障。

本实验旨在通过设计一个基于Mind+编程和Arduino主板的物联网空气质量监测仪,探索物联网技术在空气质量监测领域的应用。实验通过空气质量传感器测得空气质量数据后,利用网络通信模块和MQTT协议将数据上传到Easy IoT物联网平台进行记录,用户可通过登录平台直接查看数据。这种基于物联网的空气质量监测方案具有实时性、远程性和智能化等特点,对于提高空气质量监测的效率和准确性具有重要意义。

实验所需资源

1.硬件

(1)Arduino Uno主板;(2)Arduino接口扩展板;(3)OBLOQ物联网模块(串口);(4)ENS160空气质量传感器模块(I2C接口);(5)计算机;(6)连接线材。

2.软件

(1)计算机安装Mind+编程软件;(2)Easy IoT物联网平台。

实验内容及过程

1.注册和设置Easy IoT物联网平台

物联网平台是一种管理和处理物联网设备和数据的软件平台。它能够远程管理和控制设备,并能够实时传输、收集和分析数据,实现设备端和用户端的互联互通。

Easy IoT物联网平台是一个旨在简化和加速物联网设备的连接和管理的物联网平台。它提供了易于使用的工具和界面,使用户能够轻松地将各种设备和传感器连接到云平台,并实时监控和控制这些设备。

该平台使用方法是:(1)打开平台地址:https://iot.dfrobot.com.cn/。(2)利用手机号注册Easy IoT物联网平台后,进入“工作间”,点“+”号,依次创建三个设备,名称分别为“CO2浓度”“TVOC浓度”和“空气质量指数”。这时可以看到每个设备都有一个“Topic”,从左起编号分别为“Topic0”“Topic1”“Topic2”,这三个“Topic”的值在编程时会用到。另外,一个用户一共可以记录10 000个数据,每个设备默认可以记录的数据为1000个,可自行调整。“工作间”左侧Iot_id(user)和Iot_pwd(password)十分重要,可以点击“”进行查看和复制,在编程时要用到这两个值。

2.连接硬件

Arduino主控板是一个微控制器板,包含微处理器、输入/输出引脚、电源和其他功能模块,可用于构建相关电子项目和设备。Arduino主控板可以通过各种扩展板来增强功能,扩展板可以添加传感器、执行器、显示器、无线模块等。Arduino主控板可用于各种相关项目,从简单的家庭自动化到复杂的机器人和科学仪器等。它们也被广泛应用于教育、艺术、研究和工业自动化等领域。

Arduino主控板与OBLOQ物联网模块和ENS160空气质量传感器连接过程是:(1)组合Arduino主板和接口扩展板;(2)将OBLOQ物联网模块连接到扩展板,红线接V(电源),黑线接G(地),绿线接数字2引脚,蓝线接数字3引脚;(3)将ENS160空气质量传感器模块接到扩展板。注意ENS160模块SCL、SDA引脚要和接扩展板上的SCL、SDA引脚对应相接;VCC、GND引脚和主板上V、G引脚对应相接。

3.程序编写

Mind+是由DFRobot公司开发的图形化编程软件,旨在帮助用户通过拖拽图形化程序块的方式进行编程,无需深厚的编程知识即可控制各种开源硬件,如Arduino、micro:bit和掌控板等。该软件支持与Scratch3.0兼容,同时也支持使用Python、C、C++等高级编程语言进行编程,使得用户可以轻松体验创造的乐趣。

Mind+是一款功能丰富、易于上手的编程软件,适合不同年龄段和不同编程水平的用户使用,无论是进行教育学习还是创新项目开发,Mind+都能提供强大的支持。本实验Mind+编程如下。

(1)启动Mind+软件,选择上传模式。

(2)在左下角扩展中将Arduino UNO主控板、ENS160空气质量传感器和OBLOQ物联网模块添加入Mind+中。

(3)在主程序中进行OBLOQ物联网模块的初始化。

①在通信模块中选择“Obloq mqtt初始化”命令,接口选“软串口”,Rx(绿)选“2”,Tx(蓝)选“3”。

②点击进行网络和物联网平台配置。在Wi-Fi配置中,配置好无线网(只支持2.4G频率,不支持5G频率)。将Iot_id、Iot_pwd和三个对应的Topic值分别复制粘贴到物联网平台参数对应位置,服务器选择“中国”。

(4)对ENS160模块进行初始化。在左侧模块区传感器中选择初始化“ENS160 I2C地址”命令,设置I2C地址为“0x52”(具体数值要参考ENS160模块说明书,有些模块地址为“0x53”)。

(5)编写读取和发送数据程序。①左侧模块区通信模块中选取“Obloq发送消息‘hello’至Topic_0”;②传感器中选择“ENS160读取CO2浓度”,并将此条命令与OBLOQ发送消息命令组合;③复制两个组合好的命令,参数分别对应修改为“TVOC浓度、Topic_1”和“空气质量指数、Topic_2”;④左侧“控制”中选择“等待1秒”命令,根据需求修改等待的数值后,组合在三条发送消息命令后;⑤左侧“控制”中选择“循环执行”,将发送消息和等待命令放到“循环执行”中,使读取数据和发送消息持续循环执行,并根据等待时间读取和发送一个数据(图1)。

图1 图形化程序

(6)将主控板用USB连接线与计算机连接后,在Mind+菜单中选择“连接设备>COM*-CH340”。设备连接后点击右侧“上传到设备”,将程序上传主控板。

(7)程序上传后主控板自动重启,观察OBLOQ模块指示灯,如果网络连接成功,指示灯会变为绿色。

(8)设备网络连接成功后,设备会读取相应的空气质量数据,并发送到Easy IoT物联网平台,平台会自动记录。相关人员登录Easy IoT物联网平台即可查看数据。

总 结

本实验是一个典型的物联网应用实验,通过实验有助于学生理解物联网应用中硬件连接协议(串口通信、I2C协议等)及MQTT物联网通信协议。本实验中涉及的硬件在电商平台均有销售,价格低廉。Easy IoT物联网平台也可免费使用,10 000条数据的记录量可满足学习需要。本实验线路连接不复杂,操作难度较低,程序结构也比较简单,适于初学编程及物联网学习者。