基于树莓pi的监测系统

pisurvl的Python项目详细描述


基于树莓pi的监测系统。

pisurvl是一种带有运动检测和警报通知的监视解决方案。此存储库包含服务器 解决方案的一部分。它是用python实现的,它使用OpenCV访问覆盆子pi的相机。尽管 该解决方案是在覆盆子pi的基础上实现的,应该适用于任何支持摄像头的系统 通过opencv。

安装

安装opencv

目前,在linux上安装opencv 3并不容易。以下命令安装所有必需的 构建opencv 3的依赖项:

sudo apt install build-essential cmake git pkg-config
sudo apt install libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt install libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt install libatlas-base-dev gfortran liblapacke-dev
sudo apt install python3 python3-dev python3-setuptools
sudo easy_install3 pip

以下命令安装最新版本的numpy。安装可能需要一段时间才能完成。

sudo pip3 install numpy

以下命令下载并编译opencv 3:

mkdir build-opencv &&cd build-opencv
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib && git checkout 3.2.0 &&cd ..
cd opencv && git checkout 3.2.0
mkdir build &&cd build
cmake -D CMAKE_BUILD_TYPE=Release \
  -D CMAKE_INSTALL_PREFIX=/usr/local \
  -D OPENCV_EXTRA_MODULES_PATH=`pwd`/../../opencv_contrib/modules \
  ..
make -j4

然后安装opencv:

sudo make install

安装pisurvl

sudo pip3 install --upgrade pisurvl
git clone https://github.com/betabandido/pisurvl.git
sudo cp pisurvl/init/pisurvl.service /etc/systemd/system
sudo systemctl enable pisurvl.service

配置pisurvl

根据提供的模板创建设置文件:

mkdir -p ~/.pisurvl
cp pisurvl/template-settings.yaml ~/.pisurvl/settings.yaml

填写notifications部分中的字段fromto

使用Google API Manager生成一些客户端凭据并下载client_secrets.json文件。然后移动 pisurvl配置文件夹中的文件:

mv client_secrets.json ~/.pisurvl

执行pisurvl-server以授权pisurvl访问google驱动器。

运行pisurvl

使用systemctl启动服务:

sudo systemctl start pisurvl.service

开发

要将新版本上载到pypi,请执行以下步骤:

  1. 凹凸版本setup.py
  2. 运行python3 setup.py sdist upload

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Android Wifi中筛选相同的SSID?   Java中重写接口中异常处理的泛型   java“无效转义序列(有效的是\b\t\n\f\r\”\“\”\)”语法错误   使用JNDI的java NameReadyBoundException   java如何在这个程序上执行算法   java为什么我的应用程序在调试时崩溃而应用程序停止?   Java:while循环未检测到中断条件,但如果块检测到   java如何快速使用jfreechart创建的折线图   java将输入放入JSTL会话变量,以便稍后在屏幕上显示   java在spring boot中加载外部JAR   java Apache NiFi无法使用ojdbc6连接到Oracle 12c。jar或ojdbc8。罐子   java解释StringToWordVector()Weka的输出   java charAt()找不到符号   使用mpjexpress的java阅读控制台输入