当前位置: 首页 > Web前端 > JavaScript

珍爱生命,远离毒气,用智慧开窗,你值得拥有!

时间:2023-03-27 18:18:57 JavaScript

前言周末无聊,准备搭建一个家庭安防应用。我已经搭建了一个自动开窗器和甲醛检测设备。今天,我要创建一个结合煤气和开窗的场景应用,甲醛中毒,煤气中毒等日常生活中经常会遇到的案例,我也是一个珍惜生命的人(为大家免费翻译:我怕死),所以我打算自己做一个在家里用。毕竟是自己做的,丰衣足食(~ ̄▽ ̄)~。设备说明这次用到的设备是之前介绍过的两款设备:智能开窗和甲醛检测设备1.**[智能开窗](https://blog.csdn.net/lixiaoc...)**2.甲醛检测仪应用说明以上是智能开窗应用的界面,很漂亮对不对!!!你要给我扣666波吗!可以看到在上面的应用中有一个添加设备的按钮。点击按钮添加燃气设备和开窗设备。应用程序的大体逻辑是手动滑动窗口来打开和关闭窗口。同时,如果燃气超过危险值,车窗也会自动打开。目前只增加了甲醛检测设备,后期升级版本可能会增加更多的气体检测设备,到时候给大家展示一下最终成品。代码分析整个应用项目前端使用的Vue框架,后端使用的javascript,主要依赖Edgeros上的JSRE运行时;是时候给大家科普一下了,我就不多说了,贴吧!!!┗(▔,▔)┛devManager.generateController(devid).then((controller)=>{consttype=getDeviceType(dev);if(type&&type!=='window'){//gasclearInterval(times[devid]);times[devid]=undefined;times[devid]=setInterval(()=>{devManager.sendDeviceInfo(devid,{method:'get',obj:[type]}).catch(()=>{console.error(`无法获取${type}实时值。`);});},3000);}controller.on('message',({data})=>{//打开窗口设备需要记录当前位置if(type==='window'){socketIO.emit('message',{devid,data:data.window_percent})gas_window_scene.devs=gas_window_scene.devs.map((item)=>{如果(item.devid===devid){return{...item,settings:{window_percent:data['window_percent']}}}returnitem})updateSceneDB();}else{socketIO.emit('message',{devid,data:data[type]});//gasif(GAS_DEFAULT_ALARM_VALUES[type]{constd=devManager.devMap.get(item.devid);如果(d&&getDeviceType(d)==='window'){returntrue}返回假});if(window_dev){devManager.sendDeviceInfo(window_dev.devid,{method:'set',window:'right'}).catch(()=>{console.error(`无法打开窗口值.`);});}}}});解决(控制器);}).catch(()=>{reject(`nopermission.`);emitError(`Applicationmissingcontrol${dev.alias}Permissions!`)})上述后端代码主要使用了封装好的设备管理模块device模块对终端设备进行管理,当甲醛气体检测值超过危险值时,自动发送开窗指令,从而达到去除毒气的效果,我这边设置了甲醛风险取值为0.02,方便平时测试,最终效果还是不错的。前端代码就不贴了,都是基本操作,主要是怕瞎了大佬们的眼睛。场景演示1.手动滑动控制窗户2.甲醛超标开窗emmm...纠结了半天,决定告诉大家一个重磅消息!这里环境空气好到测不出甲醛!不好意思,让大家失望了,hhh(* ̄︶ ̄)总结了这么多场景,感觉今天的应用场景在生活中还是比较有用的,以后会把应用和设备做的更完善,打算安装一个设置在我自己的家里。需要经常为房屋通风或使用天然气的退伍军人可以建造自己的房屋。目前只支持甲醛检测设备,后期会增加气体检测和气象检测。最后送给大家一句话,珍爱生命,远离毒气,智慧开窗,你值得拥有!!!差点忘了加项目地址,今天放在最后,测试项目地址,伸手就可以了,不客气,各位大大!(如果你不喜欢我很抱歉!)