智东西(公众号:zhidxcom)
文|赵今

今天臭猫给大家推荐一篇朋友的文章,前一段时间北京的雾霾非常严重,臭猫在全球酷玩精选上推荐了两个关于空气净化防霾的产品。但是臭猫的好基友赵今不服气,他认为自己DIY的能发微博、能检测空气质量的空气检测装置更好,所以特地写了一篇文章来臭显摆一下。下面,我们来欣赏一下这篇文章,看看赵今同学是怎么制作的空气监测站。


好吧, 标题那么长,不过没关系,写这篇文章的目的就是回忆一下往事顺便挑起一下大家DIY的欲望。树莓派在七月份的时候因为某些原因已经卖掉。

市面上的空气检测设备千千万,但大都功能单一,没什么能挑起人购买欲望的东东。

以前我们在新闻上看到过某个大学生做了个能自动发微博的饮水机,这几天帝都的雾霾又那么严重,那么我们是不是能做一个自动发微博的东东,每天早上起来的时候可以@我们的微博账号,告诉我们最近周围环境的空气质量呢?答案是可以的,用开源硬件树莓派和某宝上面搞的一个20多块钱的树莓派。

那个树莓派我之前就买了,大概200多块钱吧,买来以后我原本是拿来绑上我的域名收邮件的,毕竟查阅邮件的速度比较快。而后四月份的时候看到某宝上有那些很便宜的空气质量检测模块卖,,号称能检测到1nm~2.5nm的粒子,还有种更贵一些的可以检测到0.8nm的粒子,不过不要在意,做着好玩,发出来数据合适别被请喝茶就行了。而且看下面的评价还不错,就买了个回家。然后,在一个风和日丽的下午,我就开始动手了。

首先,是硬件部分,这里需要的是一大堆杜邦线和一大堆麻花线(够长,便宜,好用),然后我们首先用热熔胶把这PM2.5检测模块固定到一个能接触到清新空气的地方,当然,周围不能有人工风源什么的,因为这个模块本身就是靠下面那个发热电阻发热把空气升起来然后那边的光敏组件计粒子数的组件会根据粒子的多少给出数据。所以自然不能用人工的风源来干扰了。所以这里我选择安装到窗户上,那里属于整个屋子里比较合适的地方了。为了方便我操作,所以在粘上去之前我先把线给焊上了,省的到时候再趴在那里焊怪麻烦的。
1_meitu_1

2_meitu_2

OK,焊完这里你是不是认为该直接连接到树莓派了呢,理论上是可以的,但是我为了不占着处理器资源一直在那里查收东西所以我这里加了一块小板子,上面的单片机是国产的STC15,便宜,而且各方面性价比什么的都不错,所以我就直接抓过来焊了个板子用了。

3_meitu_3_meitu_5

我们最主要是拿这个单片机作为一个缓存,作用就是在树莓派想要读数据的时候随时读得到数据,减轻树莓派的压力。模块与单片机的是直接对上IO口就行,而单片机与树莓派的连接则用串口就合适了。这里我不涉及太多程序方面的内容,大家如果有需要可以来这里看看我的拙作。https://gitcafe.com/glzjin/air-c51原理上的话最主要是采集两个IO口低电平的时间,得出百分数,然后就可以换算粒子的多少了。

那么接下来我们就要把单片机连接到树莓派,上网可以搜索到树莓派的接口图,这里我就不多说了,就是记得刷好系统就OK,这里我一直用的都是Raspibian,在官方下载的镜像很方便,甚至没接显示屏都可以直接用网络操作不用配置。

连接完了之后就把树莓派接上网线,让它和笔记本处于同一个网络,然后用SSH连上树莓派,连上以后我们先要用apt-get wiringpi把这个库搞下来,然后我们直接新建一个C文件,引入那个库,然后参考他的例子把读取数据做好,然后就是推到微博,这里我们进腾讯微博的开发者网站看看,去申请一个app,然后把api格式看好,回来去网上找一段能构造POST请求的C代码粘上改好就好了,主要是把内容什么的要写好就行了。

之后就在系统中编辑cron,设定好频率,那时候我是设定一个小时一条。linux的定时功能很强大大家可以按自己需要来设定。

效果如下图:

untitled

我家位于漓江上游,所以空气还是不错的呢。

嗯,感谢大家看到这里,谢谢大家能看完这种流水账。

总结一下优缺点吧:

优点:

1、锻炼动手能力,有成就感

2、可以发微博,后期可以定制些东西什么的

缺点:

1、成本有些高,树莓派单纯做采集器有些浪费

2、准确度上可能有些欠缺