雾霾来袭,青萍太贵?那就DIY一个ALL IN ONE的空气站吧(保姆级教程)
其实早在两年前,就写过一篇智能家居空气站节点DIY的原创:
当时是给家里每个房间都做了一个,用来控制家里的空净,新风以及空调温度自动化运行,至今除了2台机子的PMS5003颗粒物传感器大限到了换新之外(激光颗粒物传感器的工作寿命差不多也就是2年左右),其他时候都非常省心的自己在工作,当时背面还设计了一个按钮,可以将显示界面在时间(温湿度)、PM2.5、PM10、CO2直接切换:
一、所需硬件
不过前段时间看到有人用单色OLED屏幕DIY了WIFI家庭气象站来获取天气预报信息。发现其实相对于显示什么室内PM2.5,CO2啥的,显示户外天气似乎更加实用些,毕竟室内空气调节已经全部自动化了,就算看到有超标的,你能做的系统都已经帮你做了,知道的意义也就不大了。所以就想着说能不能改进下,把显示内容重新整合下,将原先主要显示室内环境信息的全部改成户外的,这样对出门穿衣啥的都有帮助。目前我的界面如下图:
当然,这个界面完全可以根据自己需要来调整显示信息和大小。
为了节约,所以原先能用的元器件也都用上,不要再去买新的啥,这次我们用到的元器件见下图:
可以看到非常简单,一个攀藤的PMS5003T颗粒物(温湿度)传感器(80元),一个炜盛MH-Z19B二氧化碳传感器(95元),一块UsartGPU26B串口显示屏(55+10元运费),以及核心的MCU——Wemos D1 MINI(10元),还有杜邦线若干。总共花费在250元左右。而市售带二氧化碳传感器的成品大约在600以上。可以说自己DIY还是有经济优势的。
二、程序设定
其实如果不需要天气预报和户外实时温湿度的话,只要D1 MINI刷入ESPEASY固件就能实现,但是如果需要抓取户外环境信息的话,就需要有地方跑一个PYTHON脚本和MQTT了,不过想来玩智能家居的玩家,谁没有几个设备有PYTHON环境和MQTT BROKER。我这里需要显示的是户外实时温度/体感温度。天气图标,还有今明的天气预报,以及室外污染物状况。这里我室外天气状况用的是和风天气的API,大家可以自己申请免费版使用,不过因为和风天气的天气代码非常多,有61个,其中还分白天夜间,不过串口屏的容量有限,所以我就精选了18个,无非就是晴天多云,阴天下雨,下雪雾霾:
这些图片素材和脚本都会打包提供下载,所以这里就粗略讲下。写屏幕需要USB-TTL转换器,相信大家愿意跟着我做的都会有。
然后运行写屏程序里的gpumaker.exe
执行自动连接,程序会自动扫描端口和连接屏幕,如果工程文件打开失败,请手动打开GPU400X240_8M.gpu的工程文件,然后选择连接里的数据上传,记得勾选强制覆盖,开始同步。
等待同步完成就好了,当然,如果你自己要对界面修改的话,请自己研究使用手册,这儿不做展开,这里只做纯傻瓜的教程。而天气信息,和风当前气象和预报是两个接口,所以要分开来获取:
这一段使用的是当前天气接口,获取的是实时温度,实时体感温度,实时湿度,以及天气代码,因为天气代码做了精简,所以我把类似代码都归类了,说实话我不会python,所以只能抄抄弄弄,能跑就好,相信一定有更简便的办法。
这一段是今天的天气预报和明天的天气预报获取。而最后还有环境信息的获取,我这边抓的是区环保局的数据,对大家可能没有任何意义。仅供参考:
我们一共获取的值如下:tempfl=实时体感温度;real=实时温度;hum=实时湿度;code=实时天气状态;high=今日最高气温;low=今日最低气温;fcode=今日天气状态;tcode=明日天气;thigh=明天最高气温;tlow=明天最低气温;PM25=实时PM2.5浓度;PM10=实时PM10浓度;aqi=空气污染指数,O3=实时臭氧浓度,primary=主要污染物。当然,实际环保局还会公布SO2,CO,NO的浓度,但是我这基本不需要,所以我就没抓。并且因为抓到的数值要传给ESPEASY,所以所有字段都只能是数字,不然ESPEASY没法处理。大家只需要把文件下载(文末)了,然后把其中的key,城市,mqtt服务器地址,用户名,密码都改成自己的,然后在服务器上设定每5分钟甚至10分钟执行一次就好。接着是ESPEASY部分,这里我也将ESPEASY的固件重新编译了。也在文件包里有,当然,你如果需要额外插件,请自行编译:
而使用我编译好的就直接运行FlashESP8266.exe程序,选择端口和固件,直接刷就成。刷完了之后通过手机搜索无线网络,找到espeasy的热点,登进去,密码是configesp。然后选择自己的无线网络,等待连接,连接完成后使用电脑打开espeasy的页面,全部照以下设置和添加(这里只介绍无脑级别的,进阶使用请大家自行研究):
首先是Controllers的设定,这里只要添加一个Home assitant MQTT的控制器,填上服务器地址,端口,用户名密码就成。然后是Devices的设定(请按图片填,一点都不要改,等跑起来了自己研究了再去修改),第一个是PMS5003T的设定:
MH-Z19的设定:
四个MQTT IMPORT的设定,这里面的topic要和py文件里面的相对应:
然后整个device的界面是这样的:
接着我们去tools-advanced里面进行设置:
这部分设置好了的话,就可以写Rules了,这部分我也写好了,在文件夹里有,大家看下里面的一些注释,直接复制黏贴就好:
文件里面是mqtt发给domoticz,大家可以根据自己的需要将topic和payload修改后发送给其他诸如HA,IOBROKER或nodered做自动化。
三、接线部分
其实接线非常简单,因为在上一章节中我们已经把引脚啥的都设定好了,所以下面的接线就要按照上一步的设置来了:
其中注意的是,+5V和GND不要接错,其他的错了都不会有大问题,大家接之前还是请参照各自传感器屏幕的文档。PMS5003T我这用到了PIN1,2,3,5。其中3是set位,因为前文也说过,激光传感器的寿命也就2年,但实际上我并不需要那么实时的数据,晚1分钟开净化器和早一分钟开净化器其实没区别。所以我将Pin3与GPIO0(D3)相连,并且设定了rules,每关闭60秒,打开10秒进行检测,在值低于35的时候,每120秒检测10秒。线接好后就可以上电测试了:
如果没有问题的话,1分钟之内,室内温湿度,PM2.5以及二氧化碳浓度能正常显示,剩下的因为设定了5分钟或10分钟更新一次,所以要等会才有。当然你要是不介意这样一堆零件放家里的话,那就结束了,如果你想做个外壳的话,那就请看下去。
四、外壳打印
说实话,玩智能家居,特别是开源智能家居,有一个绕不过去的坑就是DIY设备,设备可以是开关,可以是传感器,也可以是其他,而DIY设备其实最大的难点并不是接线或是程序而是外壳。例如我在之前写海尔空调众测的时候就因为外面买的空调漏电保护器质量不够好,所以自己改用电工漏电保护器,并且加上了功率模块,打印了个外壳安墙上:
还有各式各样的传感器:
目前我自己手上有四台3D打印机,办公室用的是闪铸FINDER和一台自己装的BLV:
家里还有一台最老的anycubic Kossel PLUS和闪铸的冒险家3:
其中Kossel PLUS的主板坏了,换成了duet主板,不过回抽有点小问题,所以目前大件用BLV,小件基本都是冒险家3在打印。其实在选择3D打印机时,大家都有个误区,就是觉得3D打印机的构建尺寸越大越好,当然,在最早的时候我也是这么认为的,但是在用了3年打印机之后,我发现其实小尺寸的机器在打印精度上更有优势,除非是打印大件,不然我一般都会选择FINDER或是冒险家3来打印。其实和我平时有聊的人应该会清楚,一般咨询我买打印机入门,我都会推荐闪铸的FINDER,主要是因为操作简单,打印精度高,14cmX14cmX14cm的尺寸打印配件外壳,或者娃的小玩具啥的都够用。当然,闪铸的机器相对闲鱼或是淘宝上一大堆DIY的机器会贵一些,但是相信我,那些机器买来不是给你用的,而是会让你变成一个精通3D打印机组装和维修的技术工。当然,FINDER虽然挺好用,但是限于价格和结构,其有两个非常大的不足,一是没有热床,二是全开放。如果细说的话,其实这两个问题就是一个问题,就是不能打印ABS,而我在一些时候需要打印一些耐热的结构件,PLA的热变形温度太低,或是强度不够,满足不了我的需要,所以冒险家3也是因为这个去购入的。
使用之后发现,这台机器真的是太好用了,就和其他的喷墨打印机一样简单,开箱就可以直接使用,完全不需要装配调平。首先是它除了带有WIFI外,还带有网线接口,可以更稳定的连接网络:
当然,联网除了可以通过局域网上传文件,控制打印机外,冒险家3还能接入闪铸云,POLAR云等3D打印云平台,实现真正的远程操作,例如有时候送娃上学路上跟娃聊天,娃说想要我帮忙打印个猫咪玩具啥的,我就可以到办公室,在thingiverse上找个模型,上传到闪铸云:
然后直接切片打印:
因为打印机直接在家打,我不用等,所以这里就直接选了最高精度,然后接娃回家后就能收获一只小猫:
果然是非常小……,而最高精度层高为0.08mm,打印出来的东西几乎是看不到层纹的:
并且因为冒险家3自带摄像头,所以在办公室打印的时候,还能远程对打印进度进行监控:
当然,除了自己上传模型外,平台还有一些模型可以直接使用,当然,丰富度上肯定是不如thingiverse。
除了可以上班摸鱼远程打印外,这台机器最主要的还是打印维护方便,像是传统的3D打印机,更换喷头需要热拧,也就是你需要把喷头加热到160℃进行装卸(玩3d打印的谁还没被喷头烫伤过),不然打印时就会漏料,或是堵头。为了预防漏料,现在我们装喷头还会绕生料带,因为拆装太费劲,所以我通常一次就装个5-6套备着,有问题了就直接喷头,喉管,加热块,散热管一整套一换:
而闪铸冒险家的喷头做成了一体化快装设计:
可以非常方便的进行更换:
同样的,耗材的安装也非常简单,只需要将耗材装在料架上,然后显示屏上点击进丝,机器就全部自动完成,包括换丝也是:
如果接触过3D打印的话,其实都知道,要想打印成功,最主要的是平台的调平和首层的打印,而闪铸冒险家3也特有免调平平台设计:
平台也使用了快装设计,抽取安装非常的简便。
底部的金属平台是弹性设计,保证可拆卸平台的平整度,并且带热床,可以加热到100℃,配合封闭箱体,保温又静音,无论是冬夏季都可以做到稳定打印:
当然,快装记忆材料平台板带来的另一好处就是模型拆起来方便,完全不需要铲刀,美工刀,泡水:
可以说闪铸冒险家3完全是一台为家庭设计的3D打印机,其使用的便捷程度我觉得8岁左右的小朋友都能上手。
下面还是来说说这个空气站的外壳制作吧,首先当然是建模,当然,我已经给大家建好了,文件包里有SKP和STL两个文件,如果要修改请使用SU修改SKP文件,如果直接打印可以使用STL文件,STL建议水平收缩0.1mm。
因为之前一直致力于无螺丝装配,导致各种问题,所以这次选择了easy模式,直接拿m3螺丝螺帽来组合面板和框体。m3螺丝我用的是40mm长的,导出STL后就可以扔进闪铸的切片软件FlashPrint进行切片了:
因为有些悬空,所以别忘了加支撑,加完支撑之后就能打印了:
我这里选择的是0.12层高的高精度,闪铸相对于那些使用Cura等开源软件进行切片的打印机来说,最大的好处就是傻瓜,几乎不需要自己去设定任何参数,选择默认值就能打印。当然,除了PLA外,ABS是一定能打的:
切片完之后就能发送给打印机了:
在打印的同时,我们可以通过闪铸的云平台进行远程监控,不只是PC,就连手机都可以:
然后睡一觉,就打印好了,不得不说这平台拆模型就是快:
这次打印用的是木质PLA,层间粘度稍差,不过打印效果还是不错的,0.12的层高,也几乎没有层纹:
然后把之前接好线的MCU 传感器,屏幕一股脑塞进去,就大功告成了:
当然,一样做了,不可能只做一个,顺带就把家里的都升级了:
至于空气站与智能家居如何联动,自动开关新风空净,还请关注本专栏。
本文所用到的所有文件下载链接:https://pan.baidu.com/s/1EpAByN4n2fVlDezrXpVdkQ
提取码:36hc

宫保鸡丁盖浇饭
校验提示文案
水水88
校验提示文案
土豆新风首席瞎哔哔
支持作者开发仅co2+温湿度的WIFI新风联动方案,不要颗粒物模块屏幕电池。仅通过APP查看数据。
每个卧室放一个,越小越好,越没有存在感越好。
在我理解,环境类智能家居的发展方向,应更少的占用精力和关注,应该是逐渐舍弃屏幕的。“不用管,不用想,这是他的工作,他会干好的”
校验提示文案
怒羅江門
校验提示文案
飞扬的雪
校验提示文案
奔IV程序猿
校验提示文案
fantasykx
校验提示文案
东海小鱼仙
校验提示文案
blindlight
校验提示文案
绚香Ayaka
校验提示文案
yangXX
校验提示文案
阿龙Fix
校验提示文案
四季兄
校验提示文案
技术宅毕教授
校验提示文案
时间雨12138
校验提示文案
DJ201204052848
校验提示文案
cqwsntjz
校验提示文案
soul0700
校验提示文案
真真梦
校验提示文案
铭记1106
校验提示文案
shawn_zhou
校验提示文案
阿点瞎捣鼓
校验提示文案
阿龙Fix
校验提示文案
值友1642836902
校验提示文案
值友8192460576
校验提示文案
东海小鱼仙
校验提示文案
tkslch
校验提示文案
鱼跃彼岸天
校验提示文案
越来越冷的笑话
校验提示文案
T肥猫T
校验提示文案
zjwufan
校验提示文案
小熊戴耳机
校验提示文案
DJ201204052848
校验提示文案
fantasykx
校验提示文案
撸瑟
校验提示文案
yangXX
校验提示文案
土豆新风首席瞎哔哔
支持作者开发仅co2+温湿度的WIFI新风联动方案,不要颗粒物模块屏幕电池。仅通过APP查看数据。
每个卧室放一个,越小越好,越没有存在感越好。
在我理解,环境类智能家居的发展方向,应更少的占用精力和关注,应该是逐渐舍弃屏幕的。“不用管,不用想,这是他的工作,他会干好的”
校验提示文案
值友7284983597
校验提示文案
coolomg
校验提示文案
时间雨12138
校验提示文案