回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【挑战三】关注水质安全,关爱饮水健康——基于ESP32的实时水质监测系统 简单

头像 豆爸 2022.12.30 1669 11

1 项目背景与功能需求分析

 

1.1 项目背景

 

在一些农村、山区的生活饮用水,采用自建水塔、水箱的方式。但由于水塔/水箱未能及时清理,易滋生细菌和杂质。

 

1.2 功能需求分析

 

项目任务:实时对水塔、水箱水质TDS、浊度的变化进行监测,并能把数据上传到MQTT服务器上,可实现实时动态地记录水塔/水箱水质的变化情况,以便管理人员随时了解水质情况,为管理人员对水塔、水箱等供水设备的清洗与维护时机提供决策依据。

 

 

材料清单

  • FireBeetle 2 ESP32-E IoT 开发板(预焊排母版) X1 链接
  • FireBeetle 2:Gravity IO扩展板 X1 链接
  • Gravity: 模拟TDS传感器 X1 链接
  • Gravity: 模拟水质浊度传感器 X1 链接
  • Gravity SCI 采集模块 X1 链接

2 硬件介绍

 

使用FireBeetle ESP32-E作为主控,通过Mind+编程,通过TDS传感器、浊度传感器实时采集水质数据,发送到MQTT服务器,实时动态记录监测水质的变化情况。

 

输入:TDS传感器、浊度传感器,实现对水质TDS值、浊度数据的采集;

输出:向MQTT服务器实时发送水质TDS值、浊度数据。

 

 

2.1 控制器:FireBeetle ESP32-E(DFR0654-F)

 

Fr5H3oVT_lb-xyjDrbNUBu1MdxRy

 

FireBeetle ESP32-E是一款基于ESP-WROOM-32E双核芯片的主控板,它专为IoT设计。它支持WIFI和蓝牙双模通信并具有体积小巧、超低功耗、板载充电电路、接口易用等特性。可灵活的用于家庭物联网改装、工业物联网改装、可穿戴设备等等。通过和IFTTT等物联网平台的连接,你可轻松制作出你独有的特色物联网智能家居系统。

FireBeetle ESP32-E深度支持ArduinoIDE编程,并且即将支持Scratch图形化编程及MicroPython编程。 我们提供了详细的在线教程和应用案例,以及上千种免焊接的Gravity接口传感器与执行器,可轻松上手制作,大幅度降低你的学习时间。邮票孔的设计,让它可以方便的嵌入你设计的PCB上,大大缩减你的原型开发成本以及原型测试时间。

Fr0AoezMlz5PUPsbZdABTE3n218t

FodKgOw-l_auIh8PJopmQosio7yJ

 

2.2 Gravity: 模拟TDS传感器(SEN0244)

 

FuI4lagUidbkpbGjCRgwbhnxMT2H

 

这是一款arduino兼容的TDS传感器,用于测量水的TDS值,TDS数值可反应水的洁净程度,可应用于生活用水、水培等领域的水质检测。

TDS (Total Dissolved Solids),中文名:总溶解固体,又称溶解性固体总量,表明1升水中溶有多少毫克溶解性固体。一般来说,TDS值越高,表示水中含有的溶解物越多,水就越不洁净。因此,TDS值的大小,可作为反映水的洁净程度的依据之一。

FiU3nhhbfqoBnuig4vJUXRs-ZICk

3.3~5.5V的宽电压供电,0~2.3V的模拟信号输出,使得这款产品兼容5V、3.3V控制系统,能非常方便的接到现成的控制系统中使用。测量用的激励源采用交流信号,可有效防止探头极化,延长探头寿命的同时,也增加了输出信号的稳定性。TDS探头为防水探头,可长期浸入水中测量。

 

2.3 Gravity: 模拟水质浊度传感器(SEN0189)

 

FpxBnnL9kV9z4Nr5fAp14zeqEQtK

 

浊度传感器利用光学原理,通过测量溶液中的透光率和散射率来综合判断溶液浊度情况,从而达到检测水质的目的。传感器内部是一个红外线对管,当光线穿过一定量的水时,光线的透过量取决于该水的污浊程度,水越污浊,透过的光就越少。

 

2.4 SCI数据采集模块(DF0999)

 

 

Gravity: SCI采集模块是一款多功能数据采集模块,目前已支持温湿度、大气压等常见的20余种传感器模块集成了屏幕显示、传感器自动识别、数据存储、RTC时钟、数据处理等探究实验中的常用功能。传感器数据可通过板载的屏幕进行显示和查看,板载16M存储空间,可将传感器数据实时存储下来,通过RTC时钟可为每条存储的数据打上精确时间标签,最后,SCI采集模块会将输出的数据格式标准化,接入任意传感器时,UNO、行空板等控制器都可以使用同一个代码获取到传感器的数据。SCI采集模块极大的降低了传感器数据的获取难度,能够使用户们将更多的精力放在数据分析和处理上,助力老师们更好的进行跨学科项目教学。

 

 

 

3 设计思路

 

主控:FireBeetle ESP32-E开发板。

实现功能:连接Wifi,连接MQTT服务器,读取A0口浊度传感器数据,通过I2C读取SCI数据采集模块采集的TDS传感器数据,将读取到水质的TDS值、浊度值发送到MQTT服务器。

模块1:TDS传感器。

实现功能:采集水质TDS值。

模块2:浊度传感器。

实现功能:采集水质浊度值。

模块3:SCI数据采集模块。

实现功能:采集TDS传感器数据,通过I2C端口发送到ESP32-E开发板。

 

 

4 SIOT平台

 

SIoT是一个针对学校场景的开源免费的MQTT服务器软件,可一键创建本地物联网服务器,摆脱联网困扰。

 

4.1下载并运行SIOT服务

 

下载链接(版本V1.2):

https://download3.dfrobot.com.cn/SIoT/SIoT1.2_win.zip

将压缩包解压到电脑上,运行SIoT_windows_1_2.exe程序。

 

Fl2AhdIC1NA_WjhHbfeo-iVWPZPr

 

4.2管理SIOT

 

浏览器访问http://127.0.0.1:8080/地址,打开SIOT web管理页面

 

Fo5okr5NIbx1Uq8GtOw5lo0R9HAV

 输入账号:siot,密码:dfrobot。

 

5 实物接线图

 

FqgIPTb_-4bNqwfLblY_s-lngOCo

 

5.1 TDS传感器

 

TDS传感器与ESP-E 开发板A4端口连接

FlJAbXyONTsnuFmzCx2LJR67mjHz

 

5.2浊度传感器

 

浊度传感器与SCI采集模块A0端口连接,SCI采集模块I2C端口与ESP32-E开发板I2C端口连接

FkpevWFk-w673ottOg7Kwkg-Dn5k

 

 

6 各功能对应的主要代码片段及说明

 

6.1加载浊度传感器用户库、SCI采集模块用户库

 

本项目用到的用户库:模拟浊度传感器用户库、SCI数据采集模块用户库

模拟浊度传感器用户库通过本地加载。

SCI数据采集模块用户库加载地址:https://gitee.com/liliang9693/ext-sci

 

加载用户库.png

 

6.2加载Wifi模块、MQTT模块

 

FlcdoqToKXHREbOYrkc3O9oe9_vu

 

6.3连接到wifi

 

Fthn_BfxlBaxqD03RoIHDPxeeP9r

 

6.4 设置MQTT参数

 

Frwk2jcC47sg6HwXlSEE5r0A2LNO

 

6.5连接到MQTT

 

FizFXfVBeQD6cx4m6jojEstAXjxW

 

6.6串口打印输出,发送TDS值、浊度值到MQTT

 

screenshots-水质监测.mp-1672407802263.png

 

7功能展示及说明

 

7.1 TDS值、浊度值采集功能

 

Fgoye8A0pDKLUNrpU65IUdicSxCu

 

将TDS传感器探头、浊度传感探头放入水中,即可实现对水质TDS、浊度的采集。

 

7.2串口打印功能

 

Fh_Fcb3u1oXDU8o4-pHi3KlhbCzi

通过串口可以查看水质TDS值和浊度值。

 

7.3 MQTT数据记录与查看功能

 

登录SIOT服务器,可以看到项目ID:Water

FknQKx2LLGx4bQwv0k515Y-vFaUf

点击“查看设备列表”,即可看到设备:“TDS”、“Turbidity”(浊度)

Fi-U2a_tcqpUqgGP2Ez6age1kvhx

7.3.1 查看TDS数据功能

 

点击TDS后的“查看消息”,即可实时查看TDS数据

Fl5rVGTLPvGTJIGMMOIqJxq28nqk

 

7.3.2查看浊度数据功能

 

点击”Turbidity“后的“查看消息”,即可实时查看浊度数据

FjJivEaWbRV5GTYoV1RAfyNPQmC3

 

8 总结与改进方向

 

8.1 小结

 

本项目实现了实时采集TDS值、浊度值,并实时发送到SIOT服务器的基本功能。养殖人员通过查看SIOT服务器TDS值、浊度值,可实时掌握养殖水质情况。当发现养殖水质较差时,可以及时进行更换养殖水,更换或者清洗滤材等。

 

8.2 改进方向

 

本项目可通过修改程序,也可实现当水质TDS值、浊度值超过某一设定的阈值报警,向SIOT服务器上传TDS值、浊度值;也可以增加OLED显示屏实现本地实现检测水质情况;还可以增加蜂鸣器、喇叭等,实现语音播报、报警等功能。

评论

user-avatar
  • hacker_

    hacker_2023.05.19

    666

    0
    • 腿毛利小五郎

      腿毛利小五郎2023.02.16

      不错

      0
      • Nd0TAy8yduIE

        Nd0TAy8yduIE2023.02.09

        666

        0
        • 花生编程

          花生编程2023.01.13

          赞 !!

          0
          • 花生编程

            花生编程2023.01.13

            厉害厉害

            0
            • 2023.01.07

              不错

              0
              • 2023.01.07

                厉害

                0
                • 三春牛-创客

                  三春牛-创客2023.01.01

                  厉害,666

                  0
                  • 三春牛-创客

                    三春牛-创客2023.01.01

                    不错

                    0
                    • 摸鱼的网民

                      摸鱼的网民2022.12.31

                      收藏

                      0
                      • 摸鱼的网民

                        摸鱼的网民2022.12.31

                        不错

                        0