用树莓派监控家里的PM2.5+二氧化碳CO2+甲醛HCHO

1.硬件准备

1.1树莓派主机和配件

主机

SD卡8G

HDMI线用于连接显示器

USB鼠标键盘

1.2传感器

 

2.软件准备

2.1树莓派系统安装

最新系统地址:https://downloads.raspberrypi.org/raspbian_latest

  • 推荐使用NOOBS安装系统(有recovery模式) 本文章撰写时的最新镜像
  • SD卡格式化软件SDFormatterV4 
  • 镜像安装软件Win32DiskImager  将镜像写入SD卡,插入树莓派,通电启动,10s后进入系统。树莓派支持HDMI输出到显示器。

连接WIFI。

树莓派的root账户ssh登录设置:

首先,用pi用户登录(默认密码是raspberry)后,执行sudo passwd root命令,修改root密码;

然后,编辑/etc/ssh/sshd_config文件,找到PermitRootLogin一行;

如果之前执行过“sudo passwd –unlock root”的话,这里可能会显示“without-passwd”什么的,把这行修改为“PermitRootLogin yes”,保存退出然后重启系统,root账号应该可以直接登录了。

修改/boot/cmdline.txt

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 
rootfstype=ext4 elevator=deadline fsck.repair=yes 
rootwait quiet splash plymouth.ignore-serial-consoles

(注意: /dev/mmcblk0p2可能是变动:使用NOOBS安装系统会变成/dev/mmcblk0p7,请查看/dev/目录下mmcblk0p开头的文件)

更新阿里云的镜像源

修改/etc/apt/sources.list (jessie是系统的版本号,自行对应)

deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib 
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib

执行更新命令

sudo apt-get update
sudo apt-get upgrade

修正时区

sudo dpkg-reconfigure tzdata

2.2传感器调试

安装WiringPi2和依赖插件python-aqi

sudo apt-get install python-dev python-pip
sudo pip install wiringpi2
sudo pip install python-aqi

检验安装成功(输出2即为成功)

sudo python
import wiringpi
wiringpi.piBoardRev()

 

3.数据准备

3.1数据监控

安装supervisor

sudo apt-get install supervisor

安装apache mysql php

sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install php5 php5-mysql

3.2数据上传云端

p.s.

9 遇到unable to determine hardware version. i see hardware bcm2835的解决方法,来自https://github.com/WiringPi/WiringPi-Python/issues/47
9.1手动编译wiringPi

$ git clone https://github.com/WiringPi/WiringPi-Python.git
$ cd WiringPi-Python
$ rm -rf WiringPi
$ git clone https://github.com/WiringPi/WiringPi.git

9.2编辑WiringPi-Python/setup.py
将第7行换成第8、9行
将第14行换成第15行

--- setup.py.orig	2017-03-28 19:53:55.210068570 +0900
+++ setup.py	2017-03-28 19:53:58.190070005 +0900
@@ -12,12 +12,13 @@
 _wiringpi = Extension(
     '_wiringpi',
     include_dirs=['WiringPi/wiringPi','WiringPi/devLib'],
-    sources=sources
+    sources=sources,
+    extra_link_args=['-lcrypt', '-lrt']
 )
 
 setup(
     name = 'wiringpi',
-    version = '2.32.1',
+    version = '2.44',
     author = "Philip Howard",
     author_email = "phil@gadgetoid.com",
     url = 'https://github.com/WiringPi/WiringPi-Python/',

9.3继续执行$ cd WiringPi

$ sudo ./build
$ cd ..
$ swig2.0 -python wiringpi.i
$ sudo python setup.py install

发表评论