一、基本设置
sudo raspi-config
移动到第五项“Enable Camera”,回车进入,按tab键切换到“Enable”回车确认。回到主菜单,tab键切换到“Finish”回车确认。树莓派会自动重启。
或者执行命令手动关机
sudo shutdown -h now
警告!!!!!!!!!!!!!!!!!!!!!!!!!
绝对不可以带着电源的情况下插入摄像头,如果带电操作,十之八九你的摄像头会GG,博主血泪教训。而且摄像头GG了之后每次调用还是会亮灯,只是你接受不到数据,这个问题我已经Google了很长时间,大家普遍认为应该是被烧坏了= =等到你都安装完毕了,确保连接好各个硬件之后再给电源。(千万记得不要热插拔摄像头)
二、配置七牛云
我们需要新建一个仓库,点开之后自己任意选节点,其实国内的几个节点速度都差不多,完全可以满足需求。
之后我们获取的监控照片就可以来这里查询
三、编译程序
首先,我们写一个.sh脚本
take_photo.shraspistill -o current_photo.jpgpython test.py
然后安装七牛云的python SDK,在命令行内执行
sudo pip install qiniu
在take_photo.sh同目录下我们建立一个test.py
# -*- coding: utf-8 -*-import timefrom qiniu import Auth, put_file, etag, urlsafe_base64_encodeimport qiniu.configimport os#需要填写你的 Access Key 和 Secret Keyaccess_key = '' #这里的密钥填上刚才我让你记住的密钥对secret_key = '' #这里的密钥填上刚才我让你记住的密钥对#构建鉴权对象q = Auth(access_key, secret_key)#要上传的空间bucket_name = 'mypi'#上传到七牛后保存的文件名key = '%s_%s_%s_%s_%s_%s.jpg'%(time.localtime()[0],time.localtime()[1],time.localtime()[2],time.localtime()[3],time.localtime()[4],time.localtime()[5])#生成上传 Token,可以指定过期时间等token = q.upload_token(bucket_name, key, 3600)#要上传文件的本地路径localfile = 'current_photo.jpg'ret, info = put_file(token, key, localfile)filename = 'current_photo.jpg'if os.path.exists(filename): os.remove(filename)
这样一来,我们每次执行take_photo.sh脚本,都可以让树莓派拍一张照片并且发送到七牛云上,我们只需登录就能看到数据
四、定时执行
利用Linux的定时任务crontab管理这个脚本
crontab -e
在末尾追加上
* * * * * /home/pi/take_photo.sh
之后重启cron
sudo service cron restart
qshell使用教程