HomeAssistant接入开源Zoneminder监控系统教

2022-11-24  本文已影响0人  Jesse4023
先来个预览图

系统信息:
Ubuntu18.04

安装Docker

centOS参考之前的帖子:查看
Ubuntu:

sudo systemctl stop docker

sudo apt-get purge docker-ce 或 sudo apt-get remove docker docker-ce docker-io 

sudo apt update

sudo apt upgrade

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

apt-cache madison docker-ce

sudo apt install docker-ce

systemctl start docker

sudo systemctl start docker

sudo systemctl enable docker

sudo docker info

Docker安装HomeAssistant

docker search home-assistant

docker pull homeassistant/home-assistant

docker run -d --name="hass" -v /home/jesse/haconfig:/config -p 8123:8123 homeassistant/home-assistant

docker ps

安装Zoneminder(Ubuntu)
这个不太清楚,安装时候坑挺多的,英文文档也不太看得懂,解释也比较少,
跟随这位前辈的帖子可以安装成功:查看
原文复制的,以防被删... ...

# [Ubuntu 18.04 安装Zoneminder记录](https://www.cnblogs.com/boneking/p/15793005.html)

最近闲的,想装个监控服务器玩,查了下应该就Zoneminder应该还不错,记录如下:

找到官网,https://zmrepo.zoneminder.com/,看了半天,先装个公钥吧

wget -O - https://zmrepo.zoneminder.com/debian/archive-keyring.gpg | sudo apt-key add -

然后转到页面说明的Ubuntu安装说明,https://zoneminder.readthedocs.io/en/latest/installationguide/ubuntu.html

接下来执行下列命令开始安装

sudo apt-get install tasksel
sudo tasksel install lamp-server

方便起见切换下root用户

sudo -i

加PPA源

add-apt-repository ppa:iconnor/zoneminder-1.36

更新更新(我只update了)

apt-get update
apt-get upgrade
apt-get dist-upgrade

配置MySql,系统里应该装了mysql,没装装一个,注意版本,我的版本是MySQL 5.7 +  Zoneminder 1.36

执行

rm /etc/mysql/my.cnf  (this removes the current symbolic link)
cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf

编辑my.cnf

vim /etc/mysql/my.cnf

找到[mysqld]区块,追加以下内容

sql_mode = NO_ENGINE_SUBSTITUTION

保存重启

systemctl restart mysql

接下来安装

apt-get install zoneminder

 配置数据库,初始化。

mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
mysql -uroot -p -e "grant lock tables,alter,drop,select,insert,update,delete,create,index,alter routine,create routine, trigger,execute,references on zm.* to 'zmuser'@localhost identified by 'zmpass';"

这块导入可能会报一些SQL错误,主要是新增表失败,表已经存在之类的,

解决方法是在SQL报错的地方加上了删除表的命令,大概zm_create.sql的1089行左右
DROP TABLE IF EXISTS Sessions;
CREATE TABLE Sessions (...
DROP TABLE IF EXISTS Snapshots;
CREATE TABLE Snapshots (...
DROP TABLE IF EXISTS Snapshot_Events;
CREATE TABLE Snapshot_Events (...
再执行应该差不多的位置还会报错,无法删除Snapshots表,因为外键关联。所以加上下列命令,强行删除就好了,

SET FOREIGN_KEY_CHECKS = 0;

我最后的解决方法,手动删除了上述三张表,再执行zm_create.sql,无错成功。

设置权限

chmod 740 /etc/zm/zm.conf
chown root:www-data /etc/zm/zm.conf
chown -R www-data:www-data /usr/share/zoneminder/

增加用户

adduser www-data video 
usermod -a -G video www-data

配置Apache
a2enmod cgi
a2enmod rewrite
a2enconf zoneminder

a2enmod expires
a2enmod headers

设置ZoneMinder自启动&启动

systemctl enable zoneminder
systemctl start zoneminder
systemctl reload apache2

最后,访问!

http://ip/zm/

接下来就是配置Zoneminder

注意这些地方:::





添加设备



配置HomeAssistant
ha可以直接添加rtsp流,但是据说有点卡顿,ha支持直接添加zoneminder组件(看③)

①、直接添加onvif设备



②、添加rtsp流的设备
configuration.yaml文件:

camera:
  - platform: ffmpeg
    name: camera001
    input: rtsp://admin:12345@192.168.2.234:554/Streaming/Channels/1

③、直接添加zoneminder

zoneminder:
  - host: 192.168.2.217
    username: jesse
    password: 123123
camera:
  - platform: zoneminder

注意yaml语法规则,节点不能有重复

好了 大功告成

上一篇 下一篇

猜你喜欢

热点阅读