家用监控系统需要服务器吗,家庭监控系统实现(一)
从本文开始,将逐步实现一个小型的家庭监控系统,可以实现实时视频监控和历史监控调取的功能。
主要硬件组件包括树莓派、camera、android前端设备。
实现思路为,树莓派上电,即开启视频录制功能,每3min存储一次视频文件到本地。树莓派一端提供历史视频文件和实时视频流的推送。移动端通过网络接口请求历史文件或实时视频流面。具体的实现分四篇文章进行介绍,分别是:硬件准备及picamera使用
树莓派定时转存文件功能及HTTP服务器准备
树莓派nginx部署及rtmp服务器搭建
Android移动端视频获取及播放
本篇主要介绍树莓派摄像头硬件环境搭建和使用picamera进行视频抓取。
本次采用的硬件是树莓派3+官方摄像头模块。
环境搭建
1、将摄像头模块通过CSI接口连接到树莓派
官方建议插拔摄像头时,要保证板子处于掉电状态。否则会损坏摄像头。
连接后上电树莓派,使能摄像头。sudo raspi-config --> Interfacing Options --> Camera --> Enable
然后输入
raspistill -o image.jpg
如果能够显示图片,表示摄像头可以正常使用。
2、安装picamera
如果你用的是树莓派 Raspbian系统,很可能已经安装过驱动。进入python工作环境,导入picamera,如果没有提示错误,表示picamera已经安装好了。pdx@ubuntu:~$ python
Python 2.7.12 (default, Nov 20 2017, 18:23:56)
[GCC 5.4.0 20160609] on linux2
Type 'help', 'copyright', 'credits' or 'license' for more information.
>>> import picamera
否则需要手动安装
$ sudo apt-get update
$ sudo apt-get install python-picamera python3-picamera
初识picamera
picamera的操作其实很简单,先贴一个官方的例子,实现将图片抓取到文件from time import sleep
from picamera import PiCamera
camera = PiCamera()
camera.resolution = (1024, 768)
camera.start_preview()
# Camera warm-up time
sleep(2)
camera.capture('foo.jpg')
然后是一个抓取视频到文件的例子
import picamera
camera = picamera.PiCamera()
camera.resolution = (640, 480)
camera.start_recording('my_video.h264')
camera.wait_recording(60)
camera.stop_recording()
可以看到短短几行代码就实现了想要的功能。如果是单纯的视频和图片抓取的话,只用PiCamera这个类就足够了。而事实上,常用的也就五个类:PiCamera:最常用的类,提供了基础的获取图片和视频流的方法,构造的同时初始化摄像头。
PiVideoFrameType:定义了一些表示帧格式的常量
PiVideoFrame:储存了视频帧中的相关数据。建议通过属性名称来访问其中的数据。
PiResolution:存储分辨率
PiFramerateRange:存储帧率的上下限
其中后三个继承自namedtuple,所以建议直接用属性名称访问数据,而不用下标操作。
可以说针对每一种常用操作,picamera均给出了相应的接口和实例,而且操作并不复杂。文档非常清晰,这里就不废话了。
以上对开发环境进行了准备。下一篇将开始实现视频录制功能以及本地网络服务器。
家用监控系统需要服务器吗,家庭监控系统实现(一)相关推荐
- 一般服务器监控什么项目,服务器中需要监控的项目
服务器中需要监控的项目 内容精选 换一换 对于非企业管理服务模板创建的资源,如果需要使用企业管理服务的功能,如应用监控.备份恢复,可通过纳管功能实现. 用户成功安装Agent插件后,推荐您采用&quo ...
- 服务器远程重新做系统吗,服务器远程做系统安装系统
服务器远程做系统安装系统 内容精选 换一换 本节操作以Windows Server 2012操作系统的弹性云服务器为例介绍实现多用户登录的操作步骤.Windows server2012服务器默认能够支 ...
- erp系统的服务器如何配置,erp系统云服务器怎么配置
erp系统云服务器怎么配置 内容精选 换一换 弹性云服务器(Elastic Cloud Server)是一种可随时自动获取.计算能力可弹性伸缩的云服务器,可帮助您打造可靠.安全.灵活.高效的应用环境, ...
- 医院系统时间同步服务器,医院对同步时钟系统的需求
原标题:医院对同步时钟系统的需求 讯鹏医院时钟系统供应商在医院智能化楼宇工程时钟系统建设中,本着"国际领先.国内一流"的投标目标,使医院智能化楼宇工程对时钟系统完全符合相关国家及行 ...
- 燃气scada系统重启服务器,国内燃气SCADA系统发展现状及其意义
原标题:国内燃气SCADA系统发展现状及其意义 随着西气东输一线.二线以及其他国家级天然气输配管网的建设,国内各主要燃气企业如北京.天津.上海.重庆.武汉.徐州.绍兴等城市都在有计划地推进或完成了燃气 ...
- 地铁fas系统需要服务器吗,地铁FAS系统简介及操作
<地铁FAS系统简介及操作>由会员分享,可在线阅读,更多相关<地铁FAS系统简介及操作(13页珍藏版)>请在人人文库网上搜索. 1.地铁FAS系统简介,刘,1.定义 2.设备介 ...
- 云服务器cvm系统,云服务器 cvm 自带系统
云服务器 cvm 自带系统 内容精选 换一换 如果Linux操作系统云服务器未安装密码重置插件,可以参见本节内容重新设置密码.本节操作重置的是root用户的密码,您可以重置完root密码后登录云服务器 ...
- 华为服务器双系统教程,服务器上安装双系统
服务器上安装双系统 内容精选 换一换 Atlas 800 训练服务器(型号 9000)安装上架.服务器基础参数配置.安装操作系统等操作请参见<Atlas 800 训练服务器 用户指南 (型号90 ...
- win10的系统mysql服务器地址,win10的系统mysql服务器地址
win10的系统mysql服务器地址 内容精选 换一换 PHPWind(简称:PW)是一个基于PHP和MySQL的开源社区程序,是国内较受欢迎的论坛之一.轻架构,高效易开发,使用户可快速搭建并轻松管理 ...
最新文章
- VC:CString用法整理(转载)
- ubuntu dpkg initramfs-tools错误的解决方法
- HDU1045 Fire Net 递归回溯
- springboot(2.2.4)的默认日志框架logback换成log4j2
- python博弈论代码_使用 40 多行的 Python 代码实现一个简单的演化过程
- java inputreader_Java之InputStreamReader类的实现
- python怎么改变字体大小_Python-docx 整体修改或者部分修改文字的大小和字体类型...
- 常用的C#正则表达式!
- Oracle Text简介
- 大量的数据做字符串匹配_【重学数据结构与算法(JS)】字符串匹配算法(三)——BM算法...
- [Swift]LeetCode480. 滑动窗口中位数 | Sliding Window Median
- percona mysql 同步_Percona MySQL5.6 半同步复制
- web前端开发技术现状与发展_2020年,Web前端开发有哪些发展趋势?
- Elasticsearch 2.3.x 拼音分词 analysis-lc-pinyin
- Locality Sensitive Hashing(LSH)之随机投影法
- 汽车诊断协议,(K线/CAN总线、kwp2000、ISO14230、ISO1575...)转载
- 浅析h3c交换机端口模式access,trunk与hybrid之联系与区别
- 通过Daffodil for VS使VS2010的IDE可以用VC6 VC7.1 VC9等编译器进行项目编译
- 生物信息学概论_英国爱丁堡大学生物相关硕士- 系统与合成生物学理学硕士详解+案例分享...
- 每月缴的个税,你知道怎么算的吗?