Menu Close

某随身PM2.5检测仪改造

最近在某“垃圾店”看到了一款未知原因被厂家抛弃的随身PM2.5检测仪,其配套APP已经停服,基本处于不可用的状态。但是其极其低廉的售价并且内置的攀藤PMS7003 PM2.5检测模块正常售价不菲,还是非常值得买回来折腾一下的。

检测仪的初始外观如下图:

整体外观小巧简洁,感觉还是非常美观的,它自身通过蓝牙与手机APP通信,所以只有一个灯环来粗略的显示PM2.5状态,脱离了手机APP后就很难使用了。拆开后可以看到内部的大部分空间被传感器占据,非常紧凑。(图片源自商家)

不过既然要改造,加一个显示屏显然是非常必要的,毕竟总是拿手机查看并不方便,另外加入WiFi功能可以把传感器输出的更多的数据上传至物联网,方便使用其他设备进行查看。因此这里选择了ESP8266来接管这个产品的全部功能并且用一个I2C接口的128*32分辨率OLED显示屏来显示PM1、PM2.5、PM10的数值。

进行改造时,先把主板上的蓝牙单片机取下,之后分析电路功能,在各个电路部分飞线出来,连接到ESP8266模块上(此处用的是ESP07,不带天线的模块,天线也用了原板上的陶瓷天线)。因为ESP8266的IO实在是太少,还用了一片IO扩展芯片才行。

改造完成如下图所示,内部空间被再一次压榨,OLED显示屏轻薄的优势体现,可以插在框架与外壳的缝隙里,就是在外壳挖个窗口出来可费劲了。

最后写上程序,合上外壳,就算做完了。值得一提的是,这个检测仪原本的电路设计非常优秀,不仅用分立元件做了电源路径管理,实现了充电时电源直接从USB取电,还设计了彻底关机的电路,可以在关机后断开电池,内部有两种上电方式,一种是通过按钮,另一种是通过时钟芯片的中断输出打开电源,可以实现定时测量,并且在不测量的时间段停止耗电,节约了电池的使用。

成品如下图所示:

设备可以通过MQTT协议将传感器输出的所有数据上传,并且支持Arduino的OTA远程升级,避免下次升级还要拆机,试了下非常好用。因为内部有时钟,顺便做了个NTP校时。屏幕循环显示PM1.0,PM2.5,PM10数据,为了保护OLED,设计了1分钟息屏的功能。按钮做了多功能,除了开机以外,短按可以唤醒屏幕,切换显示项(手动切换可以显示更多内容,如本机IP),长按2~5秒可以进入WiFi配置程序,长按超过5秒则会关机。顶部的灯环与原来的功能保存一致,当PM2.5浓度<75μg/m3时位绿色,75μg/m3~150μg/m3则为橙色,超过150μg/m3为红色。开机时灯环呈1Hz闪烁表示传感器读数不稳定,30s后切换常亮,息屏后每3s闪烁一次以节约电量。

1 Comment

  1. mike

    本人小白一个,最近迷上了单片机,正巧手上有这个忻风的机器,想着能不能把它接到hass改造一下。可是苦于无从下手,正好看到您这篇救命文,不知能否指点一下。

Comments are closed.