用开源硬件 DIY气体检测仪系列教程 1 -颗粒物
标签: DIY气体检测仪
20181016 更新:
我们现在把这些开源设备做成了即插即用即联网的“产品”了,如果你对他们感兴趣,可以移步
TAOBAO | weidian 感谢大家对开源项目的支持
同时,我们所有的开源项目资料都汇集到 https://www.kancloud.cn/lewei50/ourair/472273
包括一个完全开源的气体检测万用版项目 YNM3000-2,欢迎爱自己动手的同学们积极参与。
前言
关注空气质量好多年了,也写了不少关于DIY检测仪的教程。但是由于一直跳不出专业的圈子,写的东西也都是针对一个具体的应用,硬件一会儿用arduino 一会儿用nodemcu一会儿又openwrt换来换去的,所以估计看到教程能跟着做下来的非专业选手可能也不会太多。今年跟几个小伙伴们聊天突然产生了一个灵感,打算把DIY检测仪这个事情做成一个开源的项目,用一套标准硬件,一个统一的固件,去支持不同的传感模块。固件开源到github,让圈子内的人可以帮忙一起升级固件,让圈子外的人可以通过step by step 的教程也跟着一起玩。
如果你是圈内专业人士,你可以去github上面看源码,如果可以帮忙提交新的传感器支持就更好了。
githu地址:https://github.com/lewei50/NodeMCU-AirMonitor
如果你是非专业选手,看下面内容就好了。
重点:这个开源项目跟以往DIY教程最大的区别就是会采用一套硬件,一个固件去支持不同的气体传感器单元。到时候理想状态就是想测试啥指标,只要是项目固件支持的传感器,直接买回来插上就能用了。
本文主要内容与适合人群
主要内容
用网上买的四个东西,DIY一个简单的颗粒物检测仪,如下图。

本文适合人群
所有对气体检测感兴趣的人(不限专业)
主要工作
本文主要工作包括以下几部分
-
准备硬件
准备1个nodemcu 集成IIC OLED的开发板(后面每次教程都会用到)
准备1个PM5003 传感器 (本教程用到,后面教程会用其他的传感器模块)
准备杜邦线若干(后面每次教程都会用到)
准备一个把pm5003 接到nodemcu 的转接板(本教程用到,后面教程会用其他的传感器模块) -
刷软件
属于必备技能,看后面相关章节介绍,后面所有的教程都用得着。 -
连线
属于必备技能,看后面相关章节介绍,,后面所有的教程都用得着。 -
配置上网(非必需的)
下面我们来依次介绍一下。
工作1:准备硬件
硬件分为两类,一类是基础硬件,也就是每个教程都要用到的。主要包括主控单元,显示单元,网络单元。
一类是传感器硬件,主要包括颗粒物传感器,甲醛传感器,二氧化碳传感器等等,不同的教程里会出现不同的传感器单元。
其实我们要做的事情很简单,就是把固件刷入基础硬件(刷软件),然后把基础硬件和传感器硬件连到一起(连线)。
本教程用到的硬件全家图,总共4样东西:

基础硬件
基础硬件是贯穿整个项目的,每个教程都会用到。
经过反复考虑,我们决定采用nodemcu (on 8266) 当作这个开源项目硬件的主控单元和网络单元。IIC OLED 作为显示单元。很幸运,有人把 nodemcu 和 OLED集成到一起了,如下图。

推荐地址:NODEMCU+IICOLED集成开发板 注意一定注明要焊接好插针的。
传感器硬件
传感器硬件是每个教程都会变化的,这篇教程主要是教你怎么测试颗粒物的,所以我们选择攀藤PM5003 作为传感器硬件。

推荐TB 地址:PM5003 G5
辅助硬件
为了把基础硬件可以连到传感器硬件上面,还需要一些基础硬件,这些硬件也基本上是所有教程都会用到的。比如:
双母头杜邦线:

推荐TB 地址:属于标准件,不推荐
1.27插头(PM5003的插头)到2.54插头的转接板:

目前有多钟PM5003转接板可供选择,这里用的是乐联网的转接板。如果动手能力强,自己飞线也是可以的。
推荐TB 地址:G5转接板
工作2:刷软件
这是一个必备技能,后面所有教程都用得到,一次掌握,终身受益的那种。
本文参考@WEI 同学发表在SMZDM的内容来说明一下怎么给nodemcu 刷软件。
下载github上面最新的项目 4M bin文件:BIN

下载一下刷机工具:
http://pan.baidu.com/s/1qX7EFxi
然后通用USB线接上电脑,这个时候会让你安装驱动,一般会自动安装驱动,如果没有自动安装,请用驱动精灵等工具进行安装。
打开刷机工具,圈处根据自己情况选择,方框处是必须一样。
第一个圈,浏览到刚才下载的bin文件。
第二个圈,根据刚才安装好了的驱动,找自己的COM口几。

刷bin文件:
上述配置完成,按住NODEMCU板上的’FLASH’钮不放,点软件上的’START‘,再按一下 ’RST’,.当软件上显示

这个过程大约要5分钟,有进度条显示。

下载完成后,会这样显示:

固件下载完成后,重启nodemcu,屏幕上会显示:

工作3: 接线
这也是一个必备技能,后面所有教程都用得到,一次掌握,终身受益的那种。
接线是对于圈外人比较麻烦的一个事情,很多人只能完全按照教程来接线,出现一点区别就不知道怎么整了。
其实接线很简单,就是给设备(电路板)提供合理工作电源(220v,12v,5V),然后把通信接口接对就可以了。针对这个教程,其实就是nodemcu+OLED的板子通过USB获取电源,然后把5V电源分给颗粒物传感器PM5003,把nodmcu 的通信管脚TX和PM5003的RX 接到一起。
接线方式:
Nodemcu 5V --转接板 5V
NodeMcu GND – 转接板 GND
NodeMcu SET – 转接板 D4 (启动和停止pms5003)
NodeMcu RX –转接板 TX
通过转接板,会让接线更简单。具体过程如下,Nodemcu连接G5(5003):先把转接板和G5连到一起。

然后用杜邦线链接Nodemcu和转接板,注意下面两张图红框位置


所有硬件连接完以后的效果如图:

上电后,液晶屏上会立即出现本地读数:

理论上通过前面的工作,你已经可以在OLED上面看到颗粒物的数值了,但是如果你希望可以通过微信联网看到数据的变化,可以看下面一节的内容。
工作4:让数据上网
其实做这个教程的另外一个初衷就是希望更多的人可以把传感器数据+大概位置公布出来,大家一起来玩颗粒物地图 颗粒物地图。
分为两个步骤: 在乐为物联注册一个可以看数据的账号,让设备连上路由器可以上网
注册乐为物联账号
1 在电脑上注册一个乐联的ID。 链接

2 登录后新建一个设备:点击“我的物联”->“我的设备”->“添加新设备”,填入标识,选择模板,选择是否公开数据,如下图填写好相关内容后点击“保存”。
注意:一定要选择正确的模板,这次选择的是:“温湿度+激光颗粒物devicebit”;标识你要记住:比如此次用的是“01”,下面会用到,就是后面网络配置中的GATEWAY。
起一个自己喜欢的名称,选择公开(这样大家可以在网上看到你的数据),然后保存就行了。

在地图上点击你所在的城市,(这样大家可以在地图上看到你的数据)

3 再到“我的账户”->“设置个人信息”里面找到一个USERKEY,后面配置WIFI会用到。

配置设备通过路由器上网
4 接下来配置联网,要先按住nodemcu上的flash键3秒以上,当OLED屏幕上出现:

就可以开始配置联网了。
打开你的手机,找到WIFI并联接:
WIFI的SSID是ESP8266_XXXXX。
WIFI的密码是:12345678
填入你能上网的SSID和正确密码。
在浏览器输入地址:
192.168.4.1
图中的gateway就是上面添加设备时的标识“01”,填入你的USERSKY.

保存后,如果正确,这个ESP8266_XXXXX的SSID会自动消失。当不能联网的时候,他会出现。也就是说,你如果想换一个WIFI联接,那就关掉他正联接的WIFI就能重新配置了。
重新来到乐联网页,过几分钟,你就可以看到更新的数据了:

如果用手机登录用户中心并在“我的设备中”,点击“查看门户”

就可以看到下面的界面了:


nodemcu之颗粒物地图
如果你公开了数据,设置了位置,那么请访问:
http://ug25.lewei50.com/st/index/9

就可以在地图上看到你的设备了:

下一个教程预告
其实通过这个教程的内容,如果你已经学会了怎么刷程序,怎么连线的话,后面的教程对你来说基本上就没有任何难度了。
下一个教程会增加对甲醛,温湿度数据的支持。敬请期待。
更多内容欢迎关注乐为物联WX公众号

网友评论