现在越来越多自助式自习室,方便考研,考公等人们的需求。有一个安静舒适,充满学习氛围的环境,为提高学习效率有很大的帮助。现在各个城市自助式自习教室应运而生,在这类型教室的运营中,通常是无人值守的。那么如何来保障教室环境的舒适呢?我们需要在教室中安装湿度,温度,空气质量,噪音污染等监测设备来对教室环境实时监控,并且需要通过物联网实时发送到运营者的手机中进行提醒。还可以对一段时间的数据进行存储,以方便后续对阶段性,季节性进行教室环境的优化处理。
基于以上的需求,我们需要有两个部分的开发:手机端和教室监控端。
步骤1 教室监控端
利用行空板和sci采集模块,对教室内设置的传感器进行实时数据采集。这里我们用到的传感器有:空气温湿度传感器、空气质量传感器、分贝传感器、环境光传感器、氧气传感器。
由于sci采集模块只有3个接口,我们共有5个传感器,所以还需要增加I2C级联扩展器,通过它可以把全部传感器都扩展进来。
在使用中有两个传感器需要进行简单的设置:
1,氧气传感器,要把薄膜撕掉,A0,A1调整为1,0。
2,分贝传感器:需要在sci上手动选择才能识别到。
硬件全部连接好后,接线效果如下图所示:
步骤2 为行空板编程
1,在行空板中绘制出适合的界面样式
我采用了一个自助式自习教室的照片作为背景,每行显示一个传感器的数值
2,扩展sci用户库和pingpong
在mind+编辑器中,pingpong可以直接扩展,而sci库无法直接选择,需要在用户库中自己搜索一下,进行选中。
3,扩展mqtt
为后续的物联网连接做准备
4,设置变量读取并显示各传感器的值
利用变量,循环读取各传感器的值和单位。并将这些信息实时更新显示在行空板上。
5,判断数值是否合理
通过百度查询,了解到关于各类传感器数值最适宜学习的环境设置值。
当超过舒适区间值时,显示数值为红色字体。当符合舒适区间值时,显示数值为绿色字体。
步骤3 为行空板联网
因为需要用到物联网,在此之前需要为行空板连接wifi。
将行空板连接在电脑上后,在浏览器输入:10.1.2.3打开行空板的网络设置界面。
在网络设置中,为行空板连接WiFi。
步骤4 物联网设置对应主题
我们还需要用到EASY Iot物联网端,通过浏览器打开:https://iot.dfrobot.com.cn/
为每个传感器的数值,设置对应的主题。
步骤5 行空板向物联网发送数据
在行空板上,通过MQTT订阅刚才设置好的各个主题。注意需要先设置MQTT连接,连接的用户名密码和上图EASY IoT的用户名密码相同。
订阅好各个主题后,在获取到实时数值的同时,将各项数值发送到对应的主题中。并在物联网端验证数据是否已经成功推送。
行空板侧的代码就完成了。
步骤6 手机端编程
手机端需要从物联网侧获取实时信息,同步显示在手机上。这样相隔万里,也可以随时了解教室里的情况了。
通过浏览器打开appinventor的编辑界面:https://app.wxbit.com/
首先设置界面样式,我这里设计的比较简单,一张背景图,外加各参数的显示。
需要加入MQTT组件,并对组件进行设置。用户名密码与easy Iot的一样。
然后点击逻辑设计,在逻辑设计中对手机的效果进行编程。
初始化时,同步实现mqtt客户端的连接,有时候不能一次成功,那么就点击一下连接按钮。
连接成功后订阅我们在物联网上设置的各个主题,当接收到消息时,同步显示到对应的标签中即可。
将apk文件打包后,保存到安卓手机上,安装后运行测试。这是要记得把行空板也运行起来哦。
步骤7 外观优化
将行空板和传感器都安置在激光切割的模拟教室中。
阁楼顶部设计了行空板屏幕大小的缺口,刚好可以把行空板嵌入其中,其他传感器全部用纳米胶贴在屋顶。
步骤8 测试
对作品整体进行测试,并不断调整。
未开灯时的效果:
未开灯的实时数据:(光线亮度很低)
开灯后的教室效果:
开灯后的实时数据:(光线亮度很高)
花生编程2023.08.14
赞赞赞
花生编程2023.08.14
厉害
三春牛-创客2023.08.10
赞赞赞赞赞
三春牛-创客2023.08.10
厉害厉害
hacker_2023.07.18
666
雅立MM2023.07.06
感觉不够严谨 但想法很好
腿毛利小五郎2023.07.01
666