本帖最后由 许培享 于 2024-1-10 17:51 编辑
刚刚过去的2023冬,甲流、乙流、支原体及新冠余毒盛行。
办公室老师接二连三几乎全部中招,甚至还有两位老师反复。教室的学生也是三三两两陆陆续续一二十人。全校每个班级均时有发生病例。本人也算是注重锻炼,不过病毒细菌似乎时刻准备着趁虚而入,所以不幸中招。根本原因可能是因为冬季气温偏低,办公室、教室每日封闭时间过长,没有及时通风换气,导致病菌迅速滋生、膨胀,毒性载量偏高,抵抗力稍弱者容易中招。
为了让学生们直观的感受到,封闭教室内外环境的差异可能助长流行病盛行。我们利用Mind+可视化面板实时展示三个参数到教室的电子白板上。以提醒学生们佩戴口罩,注意及时通风换气。
同学们经过教室开窗通风2秒后,电子白板上的三项数据就开始发生变化。
参数简介
一、氧气浓度(V/V%) I2C 氧气传感器(0-25%Vol) - 测量范围: 0~25%Vol
- 最大测量限度: 30%Vol
- 氧气传感器可以利用大气中氧气含量为20.9%的特性进行校准。
- 校准:将传感器通电放置于室外环境中,待传感器数据稳定后,长按传感器上的校准按键2秒,传感器会进行一次校准。
CCS811空气质量传感器能够测量eCO2(equivalent CO2)和TVOC(Total Volatile Organic Compounds)浓度。
- I2C地址:0x5A(默认)/0X5B
- 工作温度范围:-40℃~85℃
- 工作湿度范围:10%RH~95%RH
- eCO2测量范围:400ppm~8000ppm
- TVOC测量范围:0ppb~1100ppb
二、二氧化碳浓度(ppm)
- ppm是浓度单位,表示百万分之多少的浓度。1ppm即百万分之一,150ppm即百万分之一百五十等。
二氧化碳浓度(ppm) | 人体反应 | <500 | 正常 | 500-1000 | 感到空气污浊 | 1000-2500 | 感到困倦 | 2500-5000 | 对健康不利 | >5000 | 有中毒危险 | 三、TVOC(ppb)
- ppb也是浓度单位。是一个无量纲量,在溶液中是用溶质质量占全部溶液质量的十亿分比来表示的浓度,称十亿分比浓度,如:1ppb即十亿分之一。经常用于浓度非常小的场合下。
- TVOC是“Total Volatile Organic Compounds”的英文缩写,意思是总挥发性有机化合物。
室内空气品质的研究人员通常把他们采样分析的室内有机气态物质称为VOC。
- 主要成份:烃类、卤代烃、氧烃和氮烃,它包括:苯系物、有机氯化物、氟里昂系列、有机酮、胺、醇、醚、酯、酸和石油烃化合物等。
- 危害:TVOC有刺激性气味,而且有些化合物具有基因毒性。TVOC能引起机体免疫水平失调,影响中枢神经系统功能,出现头晕、头痛、嗜睡、无力、胸闷等自觉症状;还可能影响消化系统,出现食欲不振、恶心等,严重时可损伤肝脏和造血系统,出现变态反应等。
TVOC浓度(ppb) | 人体反应 | <50 | 正常 | 50-750 | 可能会急躁不安和不舒服 | 750-6000 | 可能会急躁不安、不舒服和头疼 | >6000 | 头痛和其他神经问题 |
硬件清单 行空板*1 | CCS811空气质量传感器*1 | I2C 氧气传感器(0-25%Vol)*1 | micro:bit掌控I/O扩展板*1 | CR123A锂电池电源管理模块*1 | CR123A可充电式锂电池-3.6V*1 | Type_C-USB数据线*1 |
硬件联接
硬件编码实现流程
一、Mind+1.8.0上编辑好图形化代码
附:Python代码
- # -*- coding: UTF-8 -*-
-
- # MindPlus
- # Python
- import sys
- sys.path.append("/root/mindplus/.lib/thirdExtension/nick-dfrobot_oxygensensor-thirdex")
- from DFRobot_Oxygen import *
- from pinpong.libs.dfrobot_ccs811 import CCS811, CCS811_Ecycle
- from pinpong.board import Board
- from unihiker import GUI
- import datetime
- import time
- import siot
-
-
- Board().begin()
- siot.init(client_id="559484702718211",server="10.1.2.3",port=1883,user="siot",password="dfrobot")
- u_gui=GUI()
- siot.connect()
- siot.loop()
- oxygen = DFRobot_Oxygen_IIC(0,0x73)
- p_ccs811 = CCS811()
- p_ccs811.write_base_line(17531)
- title=u_gui.draw_text(text=" 807教室空气质量监测",x=0,y=10,font_size=16, color="#000000")
- clock=u_gui.draw_clock(x=120,y=100,r=50,color="#CC0000")
- o2=u_gui.draw_text(text=" 氧气:",x=0,y=160,font_size=18, color="#0000FF")
- co2=u_gui.draw_text(text=" 二氧化碳:",x=0,y=190,font_size=18, color="#0000FF")
- tvoc=u_gui.draw_text(text=" TVOC:",x=0,y=220,font_size=18, color="#0000FF")
-
- while True:
- clock.config(h=datetime.datetime.now().hour,m=datetime.datetime.now().minute,s=datetime.datetime.now().second)
- O2 = (oxygen.get_oxygen_data(10))
- CO2 = p_ccs811.co2_ppm()
- TVOC = p_ccs811.tvoc_ppb()
- siot.publish_save(topic="siot/O2浓度", data=O2)
- siot.publish_save(topic="siot/CO2浓度", data=CO2)
- siot.publish_save(topic="siot/TVOC", data=TVOC)
- time.sleep(1)
- o2.config(text=(str(" 氧 气:") + str((str(O2) + str(" %")))))
- co2.config(text=(str(" 二氧化碳:") + str((str(CO2) + str(" ppm")))))
- tvoc.config(text=(str(" T V O C :") + str((str(TVOC) + str(" ppb")))))
复制代码
二、行空板type-C线连接电脑USB,打开网络浏览器准备SIoT,输入10.1.2.3。
新建三个主题(Topic)
三、Mind+打开“可视化面板”,编辑界面
对应前面设置10.1.2.3,及上面三个控件分别对应SIoT所建的三个主题(Topic)
四、以上测试正确后,可以移植到教室电子白板上。
1、电脑上 Mind+“可视化面板”导出文件到U盘
2、电脑上Mind+“模块”代码导出文件到U盘
3、打开教室电子白板,安装Mind+1.8.0;插入以上U盘,像电脑上一样操作,Mind+打开U盘模块代码(.mp)文件,“可视化面板”下打开U盘里保存的(.mpdb)文件即可。
可视化面板.zip
siot.zip
|