博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【物联网实训项目】------(二)家庭智慧安防系统之定时监控
阅读量:1887 次
发布时间:2019-04-26

本文共 2022 字,大约阅读时间需要 6 分钟。

1.开启摄像头的配置

a.首先使用 ls指令来查看是否加载到了对应的video device设备

注意,这里我用的是SecureCRT软件远程连接的树莓派,当然也可以直接在树莓派上操作,如果使用SecureCRT软件远程连接树莓派的话,要注意windows的ip地址跟树莓派的ip地址在一个局域网内,这里我用的是我手机热点。然后在SecureCRT输入树莓派的IP地址以及用户名pi和密码raspberry.

b.添加驱动程序文件

sudo vim /etc/modules

输入上述命令,在这个文件的最后一行输入

bcm2835-v4l2

 

c.修改Raspberry的启动配置使能项

sudo raspi-config

输入上述命令会自动打开下面界面,选择红色Enable Camera所指向的那一行,选择进入,然后使其enable,然后finish,之后选择重启即可。

d.重启之后,来看看/dev设备下是否存在摄像头设备

ls -al /dev/ | grep video

输入上述命令,发现了下图红色箭头所指向的video0的设备,即完成操作。

2.测试摄像头的使用情况

raspistill -o image.jpg

通过上述命令会打开摄像头会在屏幕开启摄像头的画面

然后ls显示一下,会发现存在的照片,摄像头测试成功。

3.云服务器的申请

这里我准备将我的照片上传至云服务器上 ,所以我需要申请一个云服务器,在这里我采用的是七牛云服务器。

首先打开七牛云的官网,点击产品,选择对象存储,立即使用,申请个人账号。

注册账号

注册完成后,还是选择对象存储,进入下方页面,选择新建存储空间,然后填写存储空间的名称,然后立即创建。这里如果你没有实名认证的话,是无法创建成功的,按照提示实名认证之后即可创建成功。

 

至此,七牛云服务器创建成功。

 

4.树莓派实时采集照片传至云服务

a.首先写一个.sh脚本,用来执行所有的命令。

vi take_photo.sh

在文件中输入下面的内容

raspistill -o current_photo.jpgpython test.py

 

b.按照七牛python SDK,执行下面命令

sudo pip install qiniu

c.在.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 = ' '#这里填写你在七牛云创建的空间存储名称#上传到七牛后保存的文件名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)

注意:在文中替换秘钥对以及你申请的上传空间存储名称

d.执行脚本文件,如果没有报错信息,上传成功

sudo bash take_photo.sh

e.来到七牛云对象存储空间这里,可以看到刚刚上传成功的图片

至此,我们每次执行take_photo.sh脚本,都可以让树莓派拍一张图片发送到七牛云上,如果需要自动上传的话,我们可以利用Linux的定时任务crontab来管理这个脚本。

执行下面的命令

crontab -e

在文件的末尾追加下面的内容

1

* * * * * /home/pi/take_photo.sh

然后ctrl+X,按Y保存退出

之后重启cron这个服务

sudo service cron restart

至此,家庭安防的定时监控就完成了,它会每分钟拍下照片并且发送到我们的七牛云上。

 

 

 

 

 

 

 

 

你可能感兴趣的文章
Android Studio代码迁移问题小汇总
查看>>
weightSum与layout_weight属性使用
查看>>
NDK项目构建错误 ABIs [mips64, x86_64, arm64-v8a] are not available for platform and will be excluded from
查看>>
Android CheckBox自定义图片文字居中
查看>>
UI界面编程思考
查看>>
SQLite Room问题汇总
查看>>
linux下多路由器本地配置
查看>>
解决“Connection to https://dl-ssl.google.com refused”问题
查看>>
eclipse4.2版本下面安装ADT,安装已经完成了,但没有ADT的那个图标显示
查看>>
svn快速教程
查看>>
xset使用详解
查看>>
浅议Unix的defunct进程(“僵尸”进程)
查看>>
Visual Assist X的安装路径问题
查看>>
终端异常退出后,后台进程不关闭的解决办法
查看>>
Linux系统忘记root密码
查看>>
Linuxshell脚本在windows下编辑后执行出错
查看>>
硬链接不能跨分区的错误
查看>>
关于窗口Qt线程停止的问题
查看>>
centos NTP服务器配置总结
查看>>
QT 容器类之关联存储容器
查看>>