树莓派玩一把室内环境监测

2016-01-18 10:07:00 105点赞 440收藏 48评论

最近在研究怎么在树莓派上接入各种传感器,初步完成了气压温湿度还有pm2.5/pm10的检测功能,本来觉得有些配置上写出来可能会比较复杂,但是看到值友casatift几篇原创的受欢迎程度,决定也出来分(pian)享(jin)下(bi)。

首先说明下,基于arduino的方案,从性价比上来说相对树莓派要高很多,毕竟一个树莓派200大洋,一个arduino的板子才1、20来块,如果只是为了监测监测市内的温湿度空气质量啥的,其实还是arduino这种小板子性价比高。那么又想省钱又想省事的话,淘宝还有不少商家拿攀藤g5+单片机搭出来的pm2.5检测的成品,1、200也不贵。我写的这篇东西,更适合已经有了或者将要买树莓派的值友。

树莓派好在做这种小的电子diy时候写代码方便,c、python或者其他的语言,只要linux上有的、有gpio相关的包,都可以用,会什么用什么。而且可以在电视上放放视频、实现简单的nas、http服务器之类的功能。外设也和pc基本兼容。哪天玩腻了还可以干点别的东西。

首先完成体照片镇楼:

树莓派玩一把室内环境监测

采购清单

树莓派2:

树莓派玩一把室内环境监测

200左右,要是图便宜的话,可以收个二手一代树莓派,100多应该能拿下,其他的像橙子派之类的跟风产品,也有gpio口,自称和树莓派兼容,不知道实际如何,价格90多。

GY-68模块

树莓派玩一把室内环境监测

芯片也就是bmp180,监测气温气压。淘宝大概7-13块

SHT20:

树莓派玩一把室内环境监测

监测气温、湿度,25块左右,这个记得买模块sht20只是上面的芯片名称。

攀藤g5:

树莓派玩一把室内环境监测

检测pm2.5/pm10,用的是激光散射的方式,相对比较准确, 110-130左右的样子。


LCD1602模块:


树莓派玩一把室内环境监测


我是跑中关村的中发市场买的,蓝白屏(下面哪种,蓝底白字,上面的是绿底,黑字)带背光3.3v,18块,回来看淘宝才发现便宜点,买时候注意是5v还是3.3v的,我是因为买的扩展板只能插3.3v的。

杂物:

面包板、公对母、公对公杜邦线,加一块10快钱吧,淘宝有卖套装的。如果要装lcd1602,而且不用扩展板,记得再买个10k的电位器。

树莓派玩一把室内环境监测树莓派s.taobao.com

===========================================================

上面是必选物品,下面是可选物品:

GY-30:


树莓派玩一把室内环境监测


测光强的,说实话没多大用,就是为了个好玩,8、9块钱

DVK512扩展板:

树莓派玩一把室内环境监测

买这个是为了接线方便(尤其是lcd1602,3.3V的lcd1602直接插上就可以),i2c总线接口和uart接口也单独引出了,接线方便。另外集成了时钟电路、二极管小灯,usb转串口之类的功能。

性价比一般80块,当时也是头脑一热,自己面包板搭也是可以的,买这个就是图个最后样子好看点,另外就是树莓派1代不推荐,因为2带gpio是40针,一代只有26针,没法直接插上,还得用杜邦线引出。

免驱wifi网卡

一般卖树莓派的店家都有,插上之后配好系统里配好路由就能用,20+。

树莓派2的外壳

树莓派玩一把室内环境监测

15、6块,也是买树莓派时候可以捎上一个。

===============

连线:

首先是传感器部分,因为我选择的传感器就两种接口,i2c和串口的,所以接线比较简单,上图:

树莓派玩一把室内环境监测

然后是LCD1602,这个分两种情况,一个是买了扩展板的,直接把插到对应的插槽里就行,如果没买的话自己搭,参考这个(注意这是5v的图,千万别把3.3v的lcd1602照猫画虎接上去):


树莓派玩一把室内环境监测

(来自CSDN 链接

系统:

我用的rasbian,怎么刷系统、配网络之类的不说了,可以参考这个教程:链接

说几个注意的地方:

1、要启用i2c接口

登陆后运行raspi-config

Advanced Options->I2c->YES

树莓派玩一把室内环境监测

之后重启

2、安装i2c-tools

apt-get install i2c-tools

安装好后运行i2cdetect -y 1(树莓派1应该是改成0)

应该有类似下面的内容出现,其中的23、40、77是应该出现的,没有的话说明接线图左边的一溜有没接对的,其中23是GY-30, 40是sht20,77是GY-68:

树莓派玩一把室内环境监测

3、配置串口,以方便读取攀藤g5的数据

因为树莓派就一个串口,默认貌似开了内核串口输出,这样就没法用来读攀藤g5的数据了,所以需要关闭。

修改/boot/cmdline.txt里面的内容为:

dwc_otg.lpm_enable=0 rpitestmode=1 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

保存,重启。

完成后输入命令cat /dev/ttyAMA0 -b -v

之后应该看到有几行乱码出现:

树莓派玩一把室内环境监测

这样就说明pm2.5的传感器也连接好了,现在就可以上代码了,我把我python写的脚本开源出来,方便大家(里面有些程序配置的说明,参考就可以)

脚本链接

因为要长期运行需要装个supervisor 达到自动启动脚本守护的功能:

apt-get install supervisor安装

之后在/etc/supervisor/conf.d/里新建个配置文件,内容如下

[program:yeelink_poster.py]
command=python /自己的脚本路径/yeelink_poster.py
autorstart=true
directory=/自己的脚本路径/
autorestart=true
startsecs=10
startretries=36
redirect_stderr=true
stdout_logfile=/自己的脚本路径/log.txt
stderr_logfile=/自己的脚本路径/err.txt

之后自己在这个页面上注册个账号,然后添加设备传感器,之后把设备id、传感器id、api_key都填入python代码里就行

至此大功告成。

然后其实做之前也是不大了解这些东西的,但是实际做起来发现,只要把线连好了,网上大把的开源代码可供参考,我的代码里几个读取传感器数据的代码都是参照别人开源的改来的。现在互联网发达,自己diy些东西方便太多了。

如果有条件,后续用wifi插座或者用继电器模块diy一下,就可以相对智能的控制家里的加湿器、还有一些低端没有传感器的净化器(譬如ffu)。

附上一些参考资料:

参考1

参考2

参考3

参考4

展开 收起

贝锐向日葵 控控 A2

贝锐向日葵 控控 A2

768元起

AMD 锐龙5 8600G/8700G主机Ai加速桌面游戏设计渲染DIY组装机

AMD 锐龙5 8600G/8700G主机Ai加速桌面游戏设计渲染DIY组装机

2884元起

IPASON 攀升 DIY台式机(i5-12400F、16GB、512GB、6750GRE 12G)

IPASON 攀升 DIY台式机(i5-12400F、16GB、512GB、6750GRE 12G)

3699元起

BenQ 明基 ScreenBar Halo LED屏幕挂灯 碳咖色

BenQ 明基 ScreenBar Halo LED屏幕挂灯 碳咖色

1079元起

ERGOTRON 爱格升 20点开始:ERGOTRON 爱格升 NX显示器支架

ERGOTRON 爱格升 20点开始:ERGOTRON 爱格升 NX显示器支架

799元起

Incase City BackPack 13.3英寸双肩电脑包 mini标准款 蓝色

Incase City BackPack 13.3英寸双肩电脑包 mini标准款 蓝色

338元起

GIGABYTE 技嘉 其他电脑配件 优惠商品

GIGABYTE 技嘉 其他电脑配件 优惠商品

12799元起

INCASEARC高端电脑背包 苹果华为联想笔记本双肩包通勤包差旅包 16英寸黑色-INCO100683-BLK

INCASEARC高端电脑背包 苹果华为联想笔记本双肩包通勤包差旅包 16英寸黑色-INCO100683-BLK

1175元起

INCASE商务公文包手提电脑包苹果16英寸MacBook笔记本M2便携单肩斜挎包 【黑色16英寸】-CL55458

INCASE商务公文包手提电脑包苹果16英寸MacBook笔记本M2便携单肩斜挎包 【黑色16英寸】-CL55458

398元起

MIJIA 米家 米家精修螺丝刀套装 24枚升级款

MIJIA 米家 米家精修螺丝刀套装 24枚升级款

99元起

NORTH BAYOU NB显示器支架臂 电脑支架 显示器底座屏幕支架桌面悬臂显示器支架17-32英寸

NORTH BAYOU NB显示器支架臂 电脑支架 显示器底座屏幕支架桌面悬臂显示器支架17-32英寸

96元起

Nintendo 任天堂 amiibo系列 国行 游戏周边配件

Nintendo 任天堂 amiibo系列 国行 游戏周边配件

53.1元起

MIJIA 米家 1S IOT版 智能屏幕挂灯 黑色

MIJIA 米家 1S IOT版 智能屏幕挂灯 黑色

220元起

IPASON 攀升 DIY台式电脑(i7-14700KF、RTX4060、16GB D5、512GB)

IPASON 攀升 DIY台式电脑(i7-14700KF、RTX4060、16GB D5、512GB)

6699元起

赫曼米勒 HERMAN MILLER)CBS Flo显示器支架 电脑支架 笔记本支架 升降支架臂 显示器底座增高架 黑色

赫曼米勒 HERMAN MILLER)CBS Flo显示器支架 电脑支架 笔记本支架 升降支架臂 显示器底座增高架 黑色

2670元起

AMD 台式电脑主机(R5-5600G、8GB、250GB SSD)配置1

AMD 台式电脑主机(R5-5600G、8GB、250GB SSD)配置1

1329元起

文中相关商品

48评论

  • 精彩
  • 最新
  • 树莓派比arduino麻烦多了

    校验提示文案

    提交
    那得说哪块麻烦了,树莓派好在已经本身就是功能比较完整的“小电脑”,很多现成的服务器数据库之类的玩意可以随便用,也能用python,写代码上比arduino方便太多。单位了弄个检测的东西,那是有点小题大做。

    校验提示文案

    提交
    收起所有回复
  • 带的动?我就问问

    校验提示文案

    提交
    能啊,这有什么带不动的。

    校验提示文案

    提交
    我挂了4000多个种子 真的带的动吗

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 这个不用校准测量数据吗?

    校验提示文案

    提交
    现在就知道怎么把传感器连上,怎么校准就不知道了。温湿度我拿家里的那种普通的温湿度计对比了下,差不多,太精确也没多大用。pm2.5那个就有点诡异了,和气象台、美国大使馆报的差的有点远。

    校验提示文案

    提交
    收起所有回复
  • 单独运行PMS5003.py ,数值是正常的。但是运行yeelink_poster.py ,数值就几乎不变了。明明开了空气净化器,PM2.5应该下降了,但是却不变。再运行PMS5003.py,发现数值早就下降了。

    校验提示文案

    提交
    好像是yeelink_poster.py 调用 PMS5003.py 时候有问题,如果把两个py合起来,写在一起,就不会有问题。但是这样主程序就很臃肿,所有传感器的代码都写在主程序里面了。。

    校验提示文案

    提交
    pms5003那个确实有点问题,听你说才想出来解决思路,主要是那个传感器好像读数据之后必须把串口关上,否则数据几乎就不大更新。我后来改了下代码,把串口的初始化放到getdata方法里,读完之后在强制close一下就解决了。

    校验提示文案

    提交
    收起所有回复
  • 楼主你好,请问你的G5是怎么和树莓派的串口连起来的?直接用线连么?求指导 [小眼睛]

    校验提示文案

    提交
    我也想问这个。今天刚刚拿到G5,不知道怎么连接树莓派。 [晕死]

    校验提示文案

    提交
    卖的地方一般都有g5的数据线 买一根,然后按照我的图连线

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • Yeelink 挂了 现在楼主用什么物联网平台

    校验提示文案

    提交

    校验提示文案

    提交
    收起所有回复
  • 不明觉厉+1

    校验提示文案

    提交
  • 不觉明历。手残党表示非常膜拜

    校验提示文案

    提交
  • 高端大气上档次

    校验提示文案

    提交
  • 诚邀请大神来 ICKEY 工程社区,这里的树莓派保证原装而且还有很多工程师的心得可以分享

    校验提示文案

    提交
  • 大妈突然被工科宅攻陷的感觉

    校验提示文案

    提交
  • 树莓派确实好玩 [期待] 手头上还有3个

    校验提示文案

    提交
  • 非常好!准备照葫芦画瓢了

    校验提示文案

    提交
  • 看不懂啊看不懂

    校验提示文案

    提交
  • 怎么用树莓做一个PT下载机这个我比较关心

    校验提示文案

    提交
    挂个usb硬盘,装个pt软件就行了…

    校验提示文案

    提交
    这个比较简单,不用动电路,搜索一下有教程的

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 大妈档次越来越高了

    校验提示文案

    提交
  • 想学学arduini如何入门呢

    校验提示文案

    提交
  • 真是想什么来什么,明年装修就想搞个这东西

    校验提示文案

    提交
  • 要玩还是玩stm32吧 实践性更强 还便宜。

    校验提示文案

    提交
  • 本来吃饭的时候点开张大妈想打发下时间的,没想到张大妈这么极客,还让不让人休息了?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章

[已注销]

Ta还没有介绍自己

作者其他文章
最新文章 热门文章
440
扫一下,分享更方便,购买更轻松