Funpack第二季第三期——基于ESP32-E的水质监控系统
水质实时监控系统。用FireBeetle ESP32-E开发板作为主控,通过对水塔/水箱水质TDS、浊度的变化的检测,并能把数据上传到MQTT服务器上,可实时动态监测水质的变化情况
标签
Funpack
活动
Funpack2-3
ESP32-E
水质
TDS
浊度
SCI
doudou
更新2023-01-05
357

1 项目介绍

本项目依托“Funpack第二季第三期活动”。 Funpack活动是硬禾学堂联合Digi-Key发起的为期一年的“玩成功就全额退”活动。

项目任务:水质监控系统。用FireBeetle ESP32-E开发板作为控制单元,观察养殖水质参数(温度/浊度/tds/pH值/电位/溶解氧中两项指标以上)的变化,并能把数据上传到IoT网站上,可实时动态显示监测水质的变化情况。

2 硬件介绍

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

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

 

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数据采集模块用户库加载地址:https://gitee.com/liliang9693/ext-sci

FsF1roj2cxVCSQTkKhyp44Bl8SoB

6.2 加载Wifi模块、MQTT模块

FlcdoqToKXHREbOYrkc3O9oe9_vu

6.3 连接到wifi

Fthn_BfxlBaxqD03RoIHDPxeeP9r

 

6.4 设置MQTT参数

Frwk2jcC47sg6HwXlSEE5r0A2LNO

 

6.5 连接到MQTT

FizFXfVBeQD6cx4m6jojEstAXjxW

 

6.6 串口打印输出TDS值、浊度值

Fq0G7AwQ0XObUv9MFnwRDvimnccu

6.7发送TDS值、浊度值到MQTT

Fl0_UU-o0k8cvk9gflwNAdtyth9E

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 改进方向

8.2.1 可通过修改程序,也可实现当水质TDS值、浊度值超过某一设定的阈值报警,向SIOT服务器上传TDS值、浊度值。

8.2.2 也可以增加OLED显示屏实现本地实现检测水质情况。

8.2.3 也可以增加蜂鸣器、喇叭等,实现语音播报、报警等功能。

9 对本活动的心得体会

首先感谢硬禾学堂联合Digi-Key发起的Funpack活动,为众多学生、创客、硬件工程师提供一个学习和捣腾的机会,同时又能获得相

作为首次参加Funpack活动,我总的感受是硬禾方面对于活动的跟进与技术支持等方面略显不足。

附件下载
实时水质监测系统.sb3
Mind+程序
团队介绍
个人
团队成员
doudou
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号