从本文开始,将逐步实现一个小型的家庭监控系统,可以实现实时视频监控和历史监控调取的功能。

主要硬件组件包括树莓派、camera、android前端设备。

实现思路为,树莓派上电,即开启视频录制功能,每3min存储一次视频文件到本地。树莓派一端提供历史视频文件和实时视频流的推送。移动端通过网络接口请求历史文件或实时视频流面。具体的实现分四篇文章进行介绍,分别是:硬件准备及picamera使用

树莓派定时转存文件功能及HTTP服务器准备

树莓派nginx部署及rtmp服务器搭建

Android移动端视频获取及播放

本篇主要介绍树莓派摄像头硬件环境搭建和使用picamera进行视频抓取。

本次采用的硬件是树莓派3+官方摄像头模块。

环境搭建

1、将摄像头模块通过CSI接口连接到树莓派

164847137_1_20190630072907660

官方建议插拔摄像头时,要保证板子处于掉电状态。否则会损坏摄像头。

连接后上电树莓派,使能摄像头。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均给出了相应的接口和实例,而且操作并不复杂。文档非常清晰,这里就不废话了。

以上对开发环境进行了准备。下一篇将开始实现视频录制功能以及本地网络服务器。

家用监控系统需要服务器吗,家庭监控系统实现(一)相关推荐

  1. 一般服务器监控什么项目,服务器中需要监控的项目

    服务器中需要监控的项目 内容精选 换一换 对于非企业管理服务模板创建的资源,如果需要使用企业管理服务的功能,如应用监控.备份恢复,可通过纳管功能实现. 用户成功安装Agent插件后,推荐您采用&quo ...

  2. 服务器远程重新做系统吗,服务器远程做系统安装系统

    服务器远程做系统安装系统 内容精选 换一换 本节操作以Windows Server 2012操作系统的弹性云服务器为例介绍实现多用户登录的操作步骤.Windows server2012服务器默认能够支 ...

  3. erp系统的服务器如何配置,erp系统云服务器怎么配置

    erp系统云服务器怎么配置 内容精选 换一换 弹性云服务器(Elastic Cloud Server)是一种可随时自动获取.计算能力可弹性伸缩的云服务器,可帮助您打造可靠.安全.灵活.高效的应用环境, ...

  4. 医院系统时间同步服务器,医院对同步时钟系统的需求

    原标题:医院对同步时钟系统的需求 讯鹏医院时钟系统供应商在医院智能化楼宇工程时钟系统建设中,本着"国际领先.国内一流"的投标目标,使医院智能化楼宇工程对时钟系统完全符合相关国家及行 ...

  5. 燃气scada系统重启服务器,国内燃气SCADA系统发展现状及其意义

    原标题:国内燃气SCADA系统发展现状及其意义 随着西气东输一线.二线以及其他国家级天然气输配管网的建设,国内各主要燃气企业如北京.天津.上海.重庆.武汉.徐州.绍兴等城市都在有计划地推进或完成了燃气 ...

  6. 地铁fas系统需要服务器吗,地铁FAS系统简介及操作

    <地铁FAS系统简介及操作>由会员分享,可在线阅读,更多相关<地铁FAS系统简介及操作(13页珍藏版)>请在人人文库网上搜索. 1.地铁FAS系统简介,刘,1.定义 2.设备介 ...

  7. 云服务器cvm系统,云服务器 cvm 自带系统

    云服务器 cvm 自带系统 内容精选 换一换 如果Linux操作系统云服务器未安装密码重置插件,可以参见本节内容重新设置密码.本节操作重置的是root用户的密码,您可以重置完root密码后登录云服务器 ...

  8. 华为服务器双系统教程,服务器上安装双系统

    服务器上安装双系统 内容精选 换一换 Atlas 800 训练服务器(型号 9000)安装上架.服务器基础参数配置.安装操作系统等操作请参见<Atlas 800 训练服务器 用户指南 (型号90 ...

  9. win10的系统mysql服务器地址,win10的系统mysql服务器地址

    win10的系统mysql服务器地址 内容精选 换一换 PHPWind(简称:PW)是一个基于PHP和MySQL的开源社区程序,是国内较受欢迎的论坛之一.轻架构,高效易开发,使用户可快速搭建并轻松管理 ...

最新文章

  1. VC:CString用法整理(转载)
  2. ubuntu dpkg initramfs-tools错误的解决方法
  3. HDU1045 Fire Net 递归回溯
  4. springboot(2.2.4)的默认日志框架logback换成log4j2
  5. python博弈论代码_使用 40 多行的 Python 代码实现一个简单的演化过程
  6. java inputreader_Java之InputStreamReader类的实现
  7. python怎么改变字体大小_Python-docx 整体修改或者部分修改文字的大小和字体类型...
  8. 常用的C#正则表达式!
  9. Oracle Text简介
  10. 大量的数据做字符串匹配_【重学数据结构与算法(JS)】字符串匹配算法(三)——BM算法...
  11. [Swift]LeetCode480. 滑动窗口中位数 | Sliding Window Median
  12. percona mysql 同步_Percona MySQL5.6 半同步复制
  13. web前端开发技术现状与发展_2020年,Web前端开发有哪些发展趋势?
  14. Elasticsearch 2.3.x 拼音分词 analysis-lc-pinyin
  15. Locality Sensitive Hashing(LSH)之随机投影法
  16. 汽车诊断协议,(K线/CAN总线、kwp2000、ISO14230、ISO1575...)转载
  17. 浅析h3c交换机端口模式access,trunk与hybrid之联系与区别
  18. 通过Daffodil for VS使VS2010的IDE可以用VC6 VC7.1 VC9等编译器进行项目编译
  19. 生物信息学概论_英国爱丁堡大学生物相关硕士- 系统与合成生物学理学硕士详解+案例分享...
  20. 每月缴的个税,你知道怎么算的吗?

热门文章

  1. java面试题2019最新
  2. 关于树叶的活动设计_大班社会教案《有趣的叶子》
  3. 数码管显示驱动方法(74HC138译码器的使用)
  4. 「跑象科技」获得天使+融资,打造新一代实时数据基础平台
  5. 郭天祥的10天学会51单片机_第十三节
  6. java 解析器_高性能Java解析器实现过程详解
  7. 福利:阿里云免费试用劵
  8. 概括TTL、RS32、RS485特点及区别
  9. kubectl logs 常用命令
  10. 思科下一代模拟器EVE-NG安装