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

#新物联网挑战二#健康家庭环境监测 中等

头像 创客维克多 2023.07.11 401 3

        首先感谢DF社区提供的平台,给了我不断学习的机会,也给了我展示的平台!本次我选择的主题是“主题三:低碳环保探究",所以准备用来测试家里的各种环境参数。于是,马上行动起来。

        SCI采集模块,上一次使用过,但是没有时间,所以寄回去了,这次又有机会得到,所以就抽时间认真做,结果测试过程中发现了问题:SCI采集模块无法与行空板连接上,SHT31温湿度模块也无法与主控板连接上,于是用Arduino结合Mind+的I2C地址扫描功能,发现确实是坏了,于是退回去,结果来来回回花了一个多星期。

        寄回来后,时间紧迫,就马上用SCI结合水质测试模块测试了家里的自来水和过滤过的水,发现太厉害了,水质竟然还不错。

        可惜的是恰逢学校期末,工作又忙起来了,只能利用晚上一点时间做一点测试,发现SCI结合行空板也是绝了,SCI的采集数据口那么多,用普通主控板带动屏幕是很难显示完全的,掌控板却可以很轻松做到,不仅如此,显示玩SCI模块采集到的信息,还能利用它自己的接口采集信息,并且还有扩展功能。还能通过物联网把采集到的信息发送到云端,做一个智能家居系统的话,用这个套件,绝对不会比小米的差,毕竟是自己做的,想实现什么功能都能实现!

        TDS数值参考:

v2-98b2acca0342bdad9b3534e7af79f2d4_r (1).png

 

 

        没过滤的自来水,测得数值是50-70之间,属于“纯度较高”,说明自来水的水质还不错。给小区物业点赞!(下图)

微信图片_202307112020284.jpg
微信图片_202307112020282.jpg

        

        自来水过滤后,TDS数值直接降到了10以下,纯度非常高了,家里用的是国牌沁园过滤系统机器,每年换一次滤芯,一千大洋左右吧,能用钱换来身体的健康,值!虽然如此,我们家还是没有直接饮用,而是烧开水喝。(下图)

微信图片_202307112020283.jpg
微信图片_20230711202028.jpg

 

 

        从SCI采集模块采集的数据,用行空板显示出来,可是要用到python的Pingpong库(下方程序截图),否则是不能连接上的。下面我是用SHT31温湿度模块、空气质量模块,通过SCI采集数据,利用程序把数据在行空板上显示出来,不断刷新页面,就可以得到实时监控效果了。

代码
#  -*- coding: UTF-8 -*-

# MindPlus
# Python
from dfrobot_rp2040_sci import *
from pinpong.board import Board
from unihiker import GUI
import time


Board().begin()
u_gui=GUI()
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.")

while True:
    temp=u_gui.draw_text(text=(str("空气温度:") + str((str(SCI1.get_value0("Temp_Air")) + str("℃")))),x=0,y=0,font_size=20, color="#3366FF")
    humi=u_gui.draw_text(text=(str("空气湿度:") + str((str(SCI1.get_value0("Humi_Air")) + str("%")))),x=0,y=30,font_size=20, color="#3366FF")
    aqi=u_gui.draw_text(text=(str("空气指数:") + str(SCI1.get_value0("AQI"))),x=0,y=60,font_size=20, color="#3366FF")
    tvoc=u_gui.draw_text(text=(str("甲醛:") + str((str(SCI1.get_value0("TVOC")) + str("ppb")))),x=0,y=90,font_size=20, color="#3366FF")
    eco2=u_gui.draw_text(text=(str("二氧化碳:") + str((str(SCI1.get_value0("ECO2")) + str("ppm")))),x=0,y=120,font_size=20, color="#3366FF")
    time.sleep(1)
    u_gui.fill_rect(x=0,y=0,w=240,h=320,color="#FFFFFF")

        以上视频是没有介入空气质量传感器前拍的,接上后正常显示。

微信图片_20230711221436.png

        有老师问我,怎样实现全屏刷新,这里我还是要卖一下瓜,看python代码吧,毕竟,我们还是需要看得懂代码的,哈哈。

        以下,是通过Siot大屏显示,上一次的比赛,用的是掌控板,很顺利。但是这次,我用的是行空板,遇到问题了,后来找DF技术远程协助,成功了。

812e9b274c5c728e9bddfa44693f4edb.png

        程序比在行空板屏幕上显示更加简洁。

dbc61fc9fc79e4e4271310a23e7815f7.png

代码
#  -*- coding: UTF-8 -*-

# MindPlus
# Python
from dfrobot_rp2040_sci import *
from pinpong.board import Board
import siot
import time


Board().begin()
siot.init(client_id="4436408286246154",server="10.1.2.3",port=1883,user="siot",password="dfrobot")
siot.connect()
siot.loop()
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.")
siot.getsubscribe(topic="siot/测试")

while True:
    siot.publish_save(topic="siot/测试", data=(str(SCI1.get_value0("Temp_Air")) + str((str(",") + str((str(SCI1.get_value0("Humi_Air")) + str((str(",") + str((str(SCI1.get_value0("AQI")) + str((str(",") + str((str(SCI1.get_value0("TVOC")) + str((str(",") + str(SCI1.get_value0("ECO2"))))))))))))))))))
    time.sleep(30)

材料清单

  • 行空板 X1
  • SCI采集模块 X1
  • DF microbit扩展版 X1
  • SHT31温湿度传感器 X1
  • ENS160空气质量传感器 X1
  • 4pin段子线 X若干

        至此,一个从行空板屏幕到Mind+大屏显示的“健康家庭环境监测”物联网作品就基本上做完了,更好的创意,还有待开发和提升。
       总之,通过以上探究实验,让我对SCI采集模块有了进一步了解,结合行空板,能做出来的作品绝对会让人震。同时,也认识到自己的不足,各方面的能力都有很大的提升空间。接下来,我会不断学习,积极参与DF提供的各种比赛。

评论

user-avatar
  • 三春牛-创客

    三春牛-创客2024.03.24

    赞赞赞

    0
    • 三春牛-创客

      三春牛-创客2024.03.24

      不错不错

      0
      • hacker_

        hacker_2023.08.19

        666

        0