python-用树莓派做个监控摄像头

硬件需要:树莓派摄像头(我的是500W像素的那种),人体红外热释电模块,LED(可选) 需要:python,RPi.GPIO库 安装方式:

1
2
3
4
sudo apt-get install python-dev
sudo apt-get install python-pip
sudo pip install rpi.gpio

[caption id="attachment_386" align="alignnone" width="546"][](/images/gpio3.jpg) gpio3[/caption]

安装好之后就可以用python来使用GPIO了. 根据这个图,我们知道P0和P1分别是11和12.

我们就可以写出程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11,GPIO.OUT)
GPIO.setup(12,GPIO.IN)
GPIO.output(11,GPIO.LOW)

while True:
if(GPIO.input(12)):
GPIO.output(11,GPIO.HIGH)
time.sleep(0.1)
GPIO.output(11,GPIO.LOW)
os.system('/root/Desktop/yeelink.sh')
time.sleep(12)
else:
GPIO.output(11,GPIO.LOW)
time.sleep(0.1)


Python中的11实际上就是树莓派的P0口,我们在P0口接了一个LED灯. 12就是P1口,我们在P1接了一个人体红外热释电模块.

其中的yeelink.sh是利用yeelink提供的云服务,具体内容如下:

1
2
3
raspistill -t 500 -o "/root/Desktop/a.jpg" -w 640 -h 480
curl --request POST --data-binary @"/root/Desktop/a.jpg" --header "U-ApiKey:yourkey" --url http://api.yeelink.net/yoururl

其中的yourkey和yoururl需要申请得到,raspistill是树莓派拍照的命令,这里我们考虑到图像大小,将尺寸定在640x480.

摄像头大概是这样接的:

下图是拍到的样张。