【NanoPi2试用体验】nanopi远程监控

2024-05-24 05:32

本文主要是介绍【NanoPi2试用体验】nanopi远程监控,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

看了其他试用者的试用帖,想把微信和监控结合起来,然而连个公网ip也木有,微信那些也不太会,所以参考了下人家树莓派的怎么做的,于是就有了 Nanopi2和Yeelink 的远程监控。

在线看效果如下:http://www.yeelink.net/devices/344726

截图:
 
在上一篇帖的基础上,我们只需做如下步骤即可:
  1. 注册,登录Yeelink, 在用户中心增加一个设备, 再为之增加一个图像传感器.
复制代码


 

  1. sudo apt-get install curl
复制代码

  1. vim yeelink.sh
复制代码
输入以下内容:
  1. sudo fswebcam -d /dev/video9 -r 1024x720 --bottom-banner --title "Nanopi2@ Yeelink" --no-timestamp /home/fa/yeelink.jpg
复制代码
ApiKey还有地址都可以在Yeelink上找到。

为脚本增加执行权限:
  1. chmod +x yeelink.sh
复制代码


至此,一个基本雏形就有了,现在加上上一帖的识别,进行一个人脸识别判断即可。

下面给出代码:

  1. import os
  2. from PIL import Image, ImageDraw
  3. import cv
  4. import shutil

  5. def detect_object(image):
  6.     grayscale = cv.CreateImage((image.width, image.height), 8, 1)
  7.     cv.CvtColor(image, grayscale, cv.CV_BGR2GRAY)

  8.     cascade = cv.Load("/usr/share/opencv/haarcascades/haarcascade_frontalface_alt_tree.xml")
  9.     rect = cv.HaarDetectObjects(grayscale, cascade, cv.CreateMemStorage(), 1.1, 2,
  10.         cv.CV_HAAR_DO_CANNY_PRUNING, (20,20))

  11.     result = []
  12.     for r in rect:
  13.         result.append((r[0][0], r[0][1], r[0][0]+r[0][2], r[0][1]+r[0][3]))

  14.     return result

  15. def process(infile):
  16.     image = cv.LoadImage(infile);
  17.     if image:
  18.         faces = detect_object(image)

  19.     im = Image.open(infile)
  20.     path = os.path.abspath(infile)
  21.     save_path = os.path.splitext(path)[0]+"_face"
  22.     if os.path.isdir(save_path):
  23.         shutil.rmtree(save_path)
  24.     try:
  25.         os.mkdir(save_path)
  26.     except:
  27.         pass
  28.     if faces:
  29.         draw = ImageDraw.Draw(im)
  30.         count = 0
  31.         for f in faces:
  32.             count += 1
  33.             draw.rectangle(f, outline=(255, 0, 0))
  34.             a = im.crop(f)
  35.             file_name = os.path.join(save_path,str(count)+".jpg")
  36.      #       print file_name
  37.             a.save(file_name)

  38.         drow_save_path = os.path.join(save_path,"out.jpg")
  39.         im.save(drow_save_path, "JPEG", quality=80)
  40.     else:
  41.         print "Error: cannot detect faces on %s" % infile

  42. if __name__ == "__main__":
  43.    process("yeelink.jpg")
复制代码


  1. #!/bin/sh

  2. sudo fswebcam -d /dev/video9  /home/fa/yeelink.jpg --bottom-banner --title "nanopi2@wenjie" --no-timestamp -r 1280x720

  3. python identify_face.py

  4. if [ -f "/home/fa/yeelink_face/out.jpg" ];then
  5. curl --request POST --data-binary @"/home/fa/yeelink_face/out.jpg" --header "U-ApiKey:818c7d66df46c26d610e6a4a37ebda12" http://api.yeelink.net/v1.0/device/344726/sensor/383332/photos
  6. fi
复制代码

这篇关于【NanoPi2试用体验】nanopi远程监控的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/997511

相关文章

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

使用zabbix进行监控网络设备流量

《使用zabbix进行监控网络设备流量》这篇文章主要为大家详细介绍了如何使用zabbix进行监控网络设备流量,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装zabbix配置ENSP环境配置zabbix实行监控交换机测试一台liunx服务器,这里使用的为Ubuntu22.04(

什么是 Linux Mint? 适合初学者体验的桌面操作系统

《什么是LinuxMint?适合初学者体验的桌面操作系统》今天带你全面了解LinuxMint,包括它的历史、功能、版本以及独特亮点,话不多说,马上开始吧... linux Mint 是一款基于 Ubuntu 和 Debian 的知名发行版,它的用户体验非常友好,深受广大 Linux 爱好者和日常用户的青睐,

Xshell远程连接失败以及解决方案

《Xshell远程连接失败以及解决方案》本文介绍了在Windows11家庭版和CentOS系统中解决Xshell无法连接远程服务器问题的步骤,在Windows11家庭版中,需要通过设置添加SSH功能并... 目录一.问题描述二.原因分析及解决办法2.1添加ssh功能2.2 在Windows中开启ssh服务2

springboot健康检查监控全过程

《springboot健康检查监控全过程》文章介绍了SpringBoot如何使用Actuator和Micrometer进行健康检查和监控,通过配置和自定义健康指示器,开发者可以实时监控应用组件的状态,... 目录1. 引言重要性2. 配置Spring Boot ActuatorSpring Boot Act

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也