一、项目介绍
湿地,是自然界三大生态系统之一,滋养了丰富的动植物王国,被称为“地球之肾”。
五湖湿地公园位于汝州市新城区,
主要由云禅湖、丹阳湖、望嵩湖、天青湖、鹤鱼湖
五个人工湖组成,总面积283万平方米。
湿地公园具有维护生物多样性、固碳减排、缓解和预防自然灾害等方面作用显著。
近年来,全球生态环境面临者严峻的挑战,受农业活动、气候变化等影响,
全球湿地缩减和退化,我们通过SIOT物联网平台采集湿地环境相关参数,
对五湖湿地公园环境进行探究,提高我们对湿地环境保护的意识,实现低碳环保的生活方式。
二、项目介绍实现功能
1.湿地水质TDS的采集
2.检测湿地公园氧气含量
3.检测土壤湿度对植物的影响
4.检测湿地的空气质量检测
5.检测湿地公园中空气的湿度和温度
6,防水温度传感器对鱼类的影响
三、制作的过程
升级行空板SIoTV2,
1.升级行空板siotv2参照我的帖子,
2.测试SIOTV2。账号:siot , 密码:dfrobot
3.进入siot界面,新建气象相关主题
4.行空板网络设置,保证行空板WiFi与电脑WiFi在同一个网段,在实时显示土壤湿度数据。
在行空板中,记录下WiFi状态下IP地址:192.168.240.59, 为编程做准备。
步骤1 打开mind+1.8.0,窗口右上角,选择python模式,点击左下角“扩展”,在官方库中找到“行空板”、"MQTT-PY"
步骤2 右下角点击左下角“扩展”,在pingpong库中添加pingpong、DS18、TDS、ENS160
步骤3 在Mind+右下角点击左下角“扩展”,在用户库中添加 SCI
步骤4 程序编写
1.程序初始化
2.将湿度相关参数发送MQTT服务器中
步骤5 打开可视化面板
1.打开Mind+1.8.0,在顶部菜单栏点击进入可视化面板,进入弹出新窗口
2.点击新建项目,选择新建空白项目,输入项目名称和描述后点击确认即可新建一个项目,点击编辑即可进入面板编辑页面。
3.进入页面后会弹出提示选择数据源,连接行空板上的SIoT V2,则ip可以填写行空板的ip。其他设置保持默认,确认后会提示连接成功。
4.添加相关数据组件,绑定相关气象主题Topic
5.基于SIOT平台的五湖公园生态环境检测系统
6.湿地相关参数进行分析
四、作品演示
五、结论:
通过siot平台湿地数据的分析:
1.湿地的含氧量高,空气湿润,适合人们有氧运动的场所;
2.公园土壤含水量丰富,可以在暴雨和河流涨水期储存过量的降水,均匀地把径流放出,减弱危害下游的洪水,保持小气候:
3.湿地公园净化水质,沉淀积累在湿地泥层中,五胡公园中水质良好,成为浅水水井的水源,有益于人们的生活和生产。
六、资源
from pinpong.libs.dfrobot_ens160 import Ens160
from pinpong.libs.dfrobot_tds import TDS
from pinpong.extension.unihiker import *
from pinpong.board import Board,Pin
from pinpong.board import DS18B20
from dfrobot_rp2040_sci import *
from pinpong.board import Board
from pinpong.board import Pin
from unihiker import GUI
import time
import siot
Board().begin()
siot.init(client_id="5001342785722251",server="192.168.240.59",port=1883,user="siot",password="dfrobot")
u_gui=GUI()
siot.connect()
siot.loop()
siot.getsubscribe(topic="siot/TDS")
siot.getsubscribe(topic="siot/Temp")
siot.getsubscribe(topic="siot/Humi")
siot.getsubscribe(topic="siot/O2")
siot.getsubscribe(topic="siot/ECO2")
siot.getsubscribe(topic="siot/AQI")
siot.getsubscribe(topic="siot/MOI")
siot.getsubscribe(topic="siot/DS")
siot.publish_save(topic="siot/TDS", data="hello")
siot.publish_save(topic="siot/Temp", data="hello")
siot.publish_save(topic="siot/Humi", data="hello")
siot.publish_save(topic="siot/O2", data="hello")
siot.publish_save(topic="siot/ECO2", data="hello")
siot.publish_save(topic="siot/AQI", data="hello")
siot.publish_save(topic="siot/MOI", data="hello")
siot.publish_save(topic="siot/DS", data="hello")
u_gui.draw_text(text=" 五湖生态环境检测系统",x=0,y=0,font_size=16, color="#000000")
空气氧气=u_gui.draw_text(text="氧气",x=0,y=40,font_size=20, color="#0000FF")
o2=u_gui.draw_text(text=" ",x=100,y=40,font_size=20, color="#0000FF")
tem=u_gui.draw_text(text="温度",x=0,y=80,font_size=20, color="#0000FF")
空气温度=u_gui.draw_text(text=" ",x=100,y=80,font_size=20, color="#0000FF")
hum=u_gui.draw_text(text="湿度",x=0,y=120,font_size=20, color="#0000FF")
空气相对湿度=u_gui.draw_text(text=" ",x=100,y=120,font_size=20, color="#0000FF")
tds=u_gui.draw_text(text="水质",x=0,y=160,font_size=20, color="#0000FF")
TDS2=u_gui.draw_text(text=" ",x=100,y=160,font_size=20, color="#0000FF")
AQI=u_gui.draw_text(text="AQI",x=0,y=200,font_size=20, color="#0000FF")
空气质量=u_gui.draw_text(text=" ",x=100,y=200,font_size=20, color="#0000FF")
ECO2=u_gui.draw_text(text="ECO2",x=0,y=240,font_size=20, color="#0000FF")
二氧化碳=u_gui.draw_text(text=" ",x=100,y=240,font_size=20, color="#0000FF")
ds=u_gui.draw_text(text="水温度",x=0,y=280,font_size=20, color="#0000FF")
ds=u_gui.draw_text(text=" ",x=100,y=280,font_size=20, color="#0000FF")
SCI1 = DFRobot_RP2040_SCI_IIC(addr=0x21)
while SCI1.begin() != 0:
print("Initialization Sensor Universal Adapter Board failed.")
time.sleep(1)
print("Initialization Sensor Universal Adapter Board done.")
ds1 = DS18B20(Pin((Pin.P0)))
tds1 = TDS(Pin((Pin.P2)))
p_ens160 = Ens160(0x52)
p_ens160.set_pwr_mode(p_ens160.ENS160_STANDARD_MODE)
while True:
time.sleep(1)
TDS2.config(text=tds1.get_value())
空气温度.config(text=(str(SCI1.get_value1(SCI1.eALL,"Temp_Air")) + str(SCI1.get_unit1(SCI1.eALL,"Temp_Air"))))
空气相对湿度.config(text=(str(SCI1.get_value1(SCI1.eALL,"Humi_Air")) + str(SCI1.get_unit1(SCI1.eALL,"Humi_Air"))))
o2.config(text=(str(SCI1.get_value1(SCI1.eALL,"O2")) + str(SCI1.get_unit1(SCI1.eALL,"O2"))))
空气质量.config(text=p_ens160.get_aqi())
二氧化碳.config(text=p_ens160.get_eco2())
ds.config(text=ds1.temp_c())
siot.publish_save(topic="siot/O2", data=SCI1.get_value1(SCI1.eALL,"O2"))
time.sleep(1)
siot.publish_save(topic="siot/Temp", data=(str((str((str(ds1.temp_c()))) + str(","))) + str(SCI1.get_value1(SCI1.eALL,"Temp_Air"))))
time.sleep(1)
siot.publish_save(topic="siot/Humi", data=SCI1.get_value1(SCI1.eALL,"Humi_Air"))
time.sleep(1)
siot.publish_save(topic="siot/AQI", data=p_ens160.get_aqi())
time.sleep(1)
siot.publish_save(topic="siot/ECO2", data=p_ens160.get_eco2())
time.sleep(1)
siot.publish_save(topic="siot/TDS", data=tds1.get_value())
time.sleep(1)
siot.publish_save(topic="siot/MOI", data=SCI1.get_value1(SCI1.eALL,"Moisture"))
time.sleep(1)
花生编程2023.08.17
赞赞赞
花生编程2023.08.17
厉害
三春牛-创客2023.08.14
赞赞赞
三春牛-创客2023.08.14
厉害
hacker_2023.07.26
666
hacker_2023.07.16
666
腿毛利小五郎2023.07.03
666
rzegkly2023.07.13
相互学习