1 项目背景与功能需求分析
1.1 项目背景
在一些农村、山区的生活饮用水,采用自建水塔、水箱的方式。但由于水塔/水箱未能及时清理,易滋生细菌和杂质。
1.2 功能需求分析
项目任务:实时对水塔、水箱水质TDS、浊度的变化进行监测,并能把数据上传到MQTT服务器上,可实现实时动态地记录水塔/水箱水质的变化情况,以便管理人员随时了解水质情况,为管理人员对水塔、水箱等供水设备的清洗与维护时机提供决策依据。
附件
2 硬件介绍
使用FireBeetle ESP32-E作为主控,通过Mind+编程,通过TDS传感器、浊度传感器实时采集水质数据,发送到MQTT服务器,实时动态记录监测水质的变化情况。
输入:TDS传感器、浊度传感器,实现对水质TDS值、浊度数据的采集;
输出:向MQTT服务器实时发送水质TDS值、浊度数据。
2.1 控制器:FireBeetle ESP32-E(DFR0654-F)
FireBeetle ESP32-E是一款基于ESP-WROOM-32E双核芯片的主控板,它专为IoT设计。它支持WIFI和蓝牙双模通信并具有体积小巧、超低功耗、板载充电电路、接口易用等特性。可灵活的用于家庭物联网改装、工业物联网改装、可穿戴设备等等。通过和IFTTT等物联网平台的连接,你可轻松制作出你独有的特色物联网智能家居系统。
FireBeetle ESP32-E深度支持ArduinoIDE编程,并且即将支持Scratch图形化编程及MicroPython编程。 我们提供了详细的在线教程和应用案例,以及上千种免焊接的Gravity接口传感器与执行器,可轻松上手制作,大幅度降低你的学习时间。邮票孔的设计,让它可以方便的嵌入你设计的PCB上,大大缩减你的原型开发成本以及原型测试时间。
2.2 Gravity: 模拟TDS传感器(SEN0244)
这是一款arduino兼容的TDS传感器,用于测量水的TDS值,TDS数值可反应水的洁净程度,可应用于生活用水、水培等领域的水质检测。
TDS (Total Dissolved Solids),中文名:总溶解固体,又称溶解性固体总量,表明1升水中溶有多少毫克溶解性固体。一般来说,TDS值越高,表示水中含有的溶解物越多,水就越不洁净。因此,TDS值的大小,可作为反映水的洁净程度的依据之一。
3.3~5.5V的宽电压供电,0~2.3V的模拟信号输出,使得这款产品兼容5V、3.3V控制系统,能非常方便的接到现成的控制系统中使用。测量用的激励源采用交流信号,可有效防止探头极化,延长探头寿命的同时,也增加了输出信号的稳定性。TDS探头为防水探头,可长期浸入水中测量。
2.3 Gravity: 模拟水质浊度传感器(SEN0189)
浊度传感器利用光学原理,通过测量溶液中的透光率和散射率来综合判断溶液浊度情况,从而达到检测水质的目的。传感器内部是一个红外线对管,当光线穿过一定量的水时,光线的透过量取决于该水的污浊程度,水越污浊,透过的光就越少。
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程序。
4.2管理SIOT
浏览器访问http://127.0.0.1:8080/地址,打开SIOT web管理页面
输入账号:siot,密码:dfrobot。
5 实物接线图
5.1 TDS传感器
TDS传感器与ESP-E 开发板A4端口连接
5.2浊度传感器
浊度传感器与SCI采集模块A0端口连接,SCI采集模块I2C端口与ESP32-E开发板I2C端口连接
6 各功能对应的主要代码片段及说明
6.1加载浊度传感器用户库、SCI采集模块用户库
本项目用到的用户库:模拟浊度传感器用户库、SCI数据采集模块用户库
模拟浊度传感器用户库通过本地加载。
SCI数据采集模块用户库加载地址:https://gitee.com/liliang9693/ext-sci
6.2加载Wifi模块、MQTT模块
6.3连接到wifi
6.4 设置MQTT参数
6.5连接到MQTT
6.6串口打印输出,发送TDS值、浊度值到MQTT
7功能展示及说明
7.1 TDS值、浊度值采集功能
将TDS传感器探头、浊度传感探头放入水中,即可实现对水质TDS、浊度的采集。
7.2串口打印功能
通过串口可以查看水质TDS值和浊度值。
7.3 MQTT数据记录与查看功能
登录SIOT服务器,可以看到项目ID:Water
点击“查看设备列表”,即可看到设备:“TDS”、“Turbidity”(浊度)
7.3.1 查看TDS数据功能
点击TDS后的“查看消息”,即可实时查看TDS数据
7.3.2查看浊度数据功能
点击”Turbidity“后的“查看消息”,即可实时查看浊度数据
8 总结与改进方向
8.1 小结
本项目实现了实时采集TDS值、浊度值,并实时发送到SIOT服务器的基本功能。养殖人员通过查看SIOT服务器TDS值、浊度值,可实时掌握养殖水质情况。当发现养殖水质较差时,可以及时进行更换养殖水,更换或者清洗滤材等。
8.2 改进方向
本项目可通过修改程序,也可实现当水质TDS值、浊度值超过某一设定的阈值报警,向SIOT服务器上传TDS值、浊度值;也可以增加OLED显示屏实现本地实现检测水质情况;还可以增加蜂鸣器、喇叭等,实现语音播报、报警等功能。
hacker_2023.05.19
666
腿毛利小五郎2023.02.16
不错
Nd0TAy8yduIE2023.02.09
666
花生编程2023.01.13
赞 !!
花生编程2023.01.13
厉害厉害
2023.01.07
不错
2023.01.07
厉害
三春牛-创客2023.01.01
厉害,666
三春牛-创客2023.01.01
不错
摸鱼的网民2022.12.31
收藏
摸鱼的网民2022.12.31
不错