树莓派3-家庭监控软件Zoneminder安装
概要
ZoneMinder是一套基于Linux操作系统的摄像机的视像数据监控的应用软件。应用范围广泛,包括商业或家居防盗等。ZoneMinder支持单一或多台视像镜头应用,包括摄取、分析、记录、和监视来源,要使ZoneMinder正常运行起来必须首先配置好Linux下的PHP,MySQL环境,而且还有在系统上至少有一个摄像头能稳定工作,接下来就可以通过ZM的web介面监控重要场所了。
功能列表
- 运行在任何Linux发行版本上
- 支持视频, USB和网络摄像头
- 支持平移/倾斜/缩放摄像机,可扩展性,以增加新的控制协议
- 内置的标准工具, C++,perl和PHP语言
- 利用高性能的MySQL数据库。
- 高性能独立的视频采集和分析的后台程序允许高失败冗余。
- 可以定义多个区域(感兴趣区)每台相机。每个都可以有不同的敏感或完全被忽视。
- 大量的配置选项允许在任何硬件上最大性能化。
- 友好的用户界面允许完全控制系统或相机以及生活事件的实时视图和事件回放。
- 支持MPEG格式的直播视频,多部分的jpeg及剧照格式。
- 支持MPEG格式的事件回放,多部分的jpeg ,静态格式和详细的统计。
- 用户定义的过滤器允许选择任意数量的事件按任何顺序相结合的特点。
- 通过电子邮件或短信事件通知,包括通过过滤的附加静止图像或视频的具体事件。
- 为了归档和保证数据安全自动上传匹配事件到外部FTP存储。
- 包括双向X.10(家庭自动化协议)集成允许X.10信号来控制当视频捕获和运动检测触发X.10设备
- 高度分区的设计允许其他硬件接口协议可以轻松的加上支持报警面板等
- 多用户和用户访问权限级别多语言支持包括完全控制脚本支持让大多数的任务自动化或添加到其他应用领域
- 支持由第三方应用程序或设备的外部触发。
- xhtml手机/蜂窝电话访问允许访问的各种常见功能
- iphone界面可用
准备
- 官网,http://zoneminder.readthedocs.io/en/latest/installationguide/debian.html#easy-way-debian-jessie
- Zoneminder中文文档,http://blog.csdn.net/ilearncpp/article/details/51659438
- 代码,https://github.com/ZoneMinder/ZoneMinder
安装步骤
添加安装源
sudo nano /etc/apt/sources.list
#Backports repository,在底部增加这行
sudo deb http://httpredir.debian.org/debian jessie-backports main contrib non-free
- 安装Zoneminder
sudo apt-get update
sudo apt-get install zoneminder
注意:添加新源运行apt-get update可能会出现类似错误
W: GPG error: http://httpredir.debian.org jessie-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
解决:执行如下命令添加KEY(来自PUBKEY 后面的IDS)之后,再运行apt-get update
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 8B48AD6246925553
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 7638D0442B90D010
参考:http://jingyan.baidu.com/article/2d5afd69ec4cce85a2e28ef9.html
- 阅读说明
sudo gunzip /usr/share/doc/zoneminder/README.Debian.gz
sudo cat /usr/share/doc/zoneminder/README.Debian
- 配置数据库
#导入数据库表
sudo cat /usr/share/zoneminder/db/zm_create.sql | sudo mysql --defaults-file=/etc/mysql/debian.cnf
#建立用户zmuser,设置密码zmpass,可更换为自己的
sudo echo 'grant lock tables,alter,create,select,insert,update,delete,index on zm.* to 'zmuser'@localhost identified by "zmpass";' | sudo mysql --defaults-file=/etc/mysql/debian.cnf mysql
- 配置zm.conf权限
sudo chgrp -c www-data /etc/zm/zm.conf
- zoneminder加入服务
sudo systemctl enable zoneminder.service
- 配置Apache, 建立/zm虚拟目录。
sudo a2enconf zoneminder (失效的话手工建立链接)
sudo a2enmod cgi
sudo a2enmod rewrite
注意:sudo a2enconf zoneminder出现
pi@raspberrypi:/etc/zm $ a2enconf zoneminder
ERROR: Conf zoneminder does not exist!
解决:
sudo ln -s /etc/zm/apache.conf /etc/apache2/sites-enabled/zoneminder.conf
sudo ln -s /etc/zm/apache.conf /etc/apache2/conf-enabled/zoneminder.conf
- 配置PHP时区
sudo nano /etc/php5/apache2/php.ini
找到如下行,去掉date.timezone前的; 设置为上海时区Asia/Shanghai
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
- 启动Zondminder,要先重启Apache
sudo systemctl reload apache2 或 sudo service apache2 restart
sudo systemctl start zoneminder 或 sudo service zoneminder start
检查是否可用
通过浏览器打开 http://hostname_or_ip/zm,即可可能到控制界面
通过浏览器打开,http://hostname_or_ip/zm/api/host/getVersion.json,可看到
{
"version": "1.29.0",
"apiversion": "1.29.0.1"
}
注意: 1.26.5版本,如果发现不能点击增加Add new monitor, 可能是JS设置不对
解决:编辑/etc/zm/apache.conf文件,定义javascript
Alias /zm /usr/share/zoneminder
Alias /javascript /usr/share/javascript (增加)
<Directory /usr/share/zoneminder>
php_flag register_globals off
Options Indexes FollowSymLinks
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>
</Directory>
之后重启Apache
sudo systemctl reload apache2
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号