惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
A
About on SuperTechFans
MongoDB | Blog
MongoDB | Blog
Y
Y Combinator Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Security Latest
Security Latest
Project Zero
Project Zero
A
Arctic Wolf
L
LINUX DO - 热门话题
Microsoft Azure Blog
Microsoft Azure Blog
P
Palo Alto Networks Blog
Know Your Adversary
Know Your Adversary
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Cloudbric
Cloudbric
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
T
Threatpost
T
The Exploit Database - CXSecurity.com
T
Tailwind CSS Blog
PCI Perspectives
PCI Perspectives
WordPress大学
WordPress大学
T
Tor Project blog
阮一峰的网络日志
阮一峰的网络日志
The Hacker News
The Hacker News
V
Visual Studio Blog
M
MIT News - Artificial intelligence
月光博客
月光博客
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Simon Willison's Weblog
Simon Willison's Weblog
Attack and Defense Labs
Attack and Defense Labs
The Register - Security
The Register - Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
S
Security Affairs
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
Spread Privacy
Spread Privacy
AI
AI
S
Schneier on Security
L
LangChain Blog
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - 叶小钗
量子位
H
Heimdal Security Blog
J
Java Code Geeks

Kenvix's Blog

实现带有Nvidia GPU+Rootless Podman+Docker+Systemd+自动驱动注入支持的systemd nspawn容器 | Kenvix's Blog 手动保留常用端口,解决 Windows 端口被 Hyper-V / WinNAT 占用的问题 免Telent/TTL屏蔽运营商新版光猫的远控、TR069和RMS,获取动态随机超级管理员密码并固化权限 | Kenvix's Blog 利用Windows卷影副本(Volume Shadow)找回被覆盖和删除的数据 | Kenvix's Blog 在Windows下实现WireGuard动态DNS解析(DDNS)的正确方法:避免无意义的开销 | Kenvix's Blog OpenWRT/DNSMasq 配置DHCP静态路由主动推送 实现流量直达和旁路由流量零代价分载 | Kenvix's Blog 解决 Windows 打开视频/图片文件夹很慢的问题 | Kenvix's Blog AltA2DP - 向支持Sony LDAC协议的耳机提供Windows下蓝牙LDAC音频编码器支持 | Kenvix's Blog (2024更新)修复黑群晖 DSM7.0 + Btrfs 存储空间/磁盘损毁/堪用 的问题 校园网白嫖思路分享:局域网中转-不花钱、不认证、高速上网 | Kenvix's Blog 在 Windows 上配置网卡多个 VLAN、多个虚拟网卡、实现单线多拨网速叠加(无需驱动支持) | Kenvix's Blog 解决视频彩铃、语音通话自动转视频通话导致打电话自动挂断的问题 | Kenvix's Blog 超低成本廉价考研教程:如何用小于¥500甚至¥300的开销考个研 | Kenvix's Blog 在 Ubuntu 21.10 上启用蓝牙 LDAC/AAC/AptX 高质量音频编码支持 在 VMware Workstation 桥接模式的网卡上让虚拟机使用 VLAN 的正确方法 在 Windows 上设置 NAT 或网络共享的正确方法——避免Wi-Fi热点无法使用 自编译 红米 AC2100 OpenWRT R21.7.26 Linux 内核结构和子系统简介 | Kenvix's Blog Java 快速读取文本 (算法竞赛适用) | Kenvix's Blog 利用 ThreadLocal + Lambda,实现有状态变量的单例模式 | Kenvix's Blog 状态压缩的动态规划问题:骨牌完全覆盖棋盘问题 | Kenvix's Blog 我的 Windows 10 2004 新增 Bug 解决办法记录 解决 Android Studio 及 IDEA 中 Gradle 错误信息乱码的问题 Kotlin 的那些骚操作 | Kenvix's Blog 在普通的 Gradle Java/Kotlin 项目中使用 BuildConfig 修复国行 MIUI 打开 Google Play 始终提示 DF-DFERH-01 的问题 解决 VSCode 持续调用 WMIC 导致一个 CPU 核心完全被占满的问题 扔鸡蛋问题 | Kenvix's Blog 计算机幻觉从入门到入土 | Kenvix's Blog Java 注解预处理 Annotation Processing & 代码生成 Ubuntu 上通过以太网分享网络连接(NAT) | Kenvix's Blog Windows 选择指定的网卡来开承载网络型热点 | Kenvix's Blog 修复升级 Windows10 版本后所有内置应用闪退+第三方应用参数错误的问题 | Kenvix's Blog 配置用于 Gradle6.x + MySQL 8 的 jOOQ 3.14 代码自动生成 (已更新) 修复 Windows 环境下的程序访问 WSL 中的 MySQL 提示 Access Denied 的问题 修复 WSL 下 PHP+FastCGI 卡死的问题 使用任意磁盘或路径保存 Windows 文件历史记录 | Kenvix's Blog [1.12.2+Mod] MoeCraft :: 自由开放的科技向公益 Mod 服务器 Kenvix's Blog 禁用使用Intel核显的Windows笔记本自动调节亮度功能 | Kenvix's Blog 真正实现Minecraft高级登录(外置登录)的几种方案 | Kenvix's Blog 谈谈神舟的两艘贼船,Z7M-KP7S1 / Z7M-KP7SC USBCopyer: 插上U盘自动按需复制文件 | Kenvix's Blog USBCopyer 回调功能详细说明 | Kenvix's Blog C# 实现自定义"应用程序设置"的配置文件(user.config)存储路径 | Kenvix's Blog Win10 资源管理器为所有格式激活“编辑”按钮并修改文本文件“编辑”按钮的编辑器 | Kenvix's Blog 留言板 | Kenvix's Blog 又一次 Hello world | Kenvix's Blog Java 学习笔记 (仍在更新) | Kenvix's Blog 在Win10 Pro下挂载NFS(网络文件系统) | Kenvix's Blog Nginx 反向代理 Aria2 JSONRPC | Kenvix's Blog (Android6.0~9.0) 清除锁屏密码 | Kenvix's Blog WordPress 更换站点地址后批量修改文章/评论中的旧地址 | Kenvix's Blog 修复一加3/3T因固件过老导致刷入ROM时提示错误7的问题 | Kenvix's Blog 修复Android DM-Verity 警告 | Kenvix's Blog 贴吧云签到 资源索引(下载|文档|插件) | Kenvix's Blog 继续监控!使用树莓派+Motion实现实时视频监控并通过浏览器查看 | Kenvix's Blog 自动获取Pixiv每日排行榜第一张图片(600x600 | 可用于博客背景图) | Kenvix's Blog 好压 V2.7 Beta1 绿色版——功能强大,良心的压缩软件 | Kenvix's Blog 任意语言实现读取压缩包注释 | Kenvix's Blog 自己实现QQ群自定义分享(管理员开启了群交易?) | Kenvix's Blog MoeCDN - 加速Gravatar/GoogleAPIs等无法在国内访问的资源 | Kenvix's Blog [Minecraft] WebLogin-连接到你的服务器来检查玩家是否可以登录 | Kenvix's Blog Android卡刷包提示This package is for device: ... this device is ...的解决方案 Kenvix's Blog 给EMLOG评论框加上复选框[√]防止垃圾评论 | Kenvix's Blog 欢迎使用emlog | Kenvix's Blog
使用树莓派实现定时拍照监控并发送邮件到邮箱 | Kenvix's Blog
2016-04-23 · via Kenvix's Blog

首先确保手上有下列东西:

1.树莓派(以下简称RPI)一个

2.一个USB免驱摄像头,支持YUY2或者JPEG均可(JPEG最佳)。RPICamera没试过

3.一个支持SMTP的邮箱

博主的配置:RPI3b 一个废弃的YUY2摄像头 QQ邮箱

那么,开工吧!


1.打开终端,切换成root,若无法切换,请先为root设置密码(passwd root)


2.插上摄像头,然后输入以下命令检查是否识别了摄像头   
```ls /dev/video*

如果不是提示没有文件,那么就表示我们的摄像头已经被识别了,接下来就可以安装拍摄软件了:

3.安装fswebcam
apt install fswebcam

4.试着抓拍一张图片
fswebcam --no-banner -r 320x240 test.jpg

效果如下:

[这里是一张截图,然而博主在将博客从WP人工迁移到Hexo时找不到了]

比起在Windows上的效果来说,成色略有问题,不过还算可以忍受

测试完成!摄像头可用!重点来了!

monitor.sh 基础代码说明

count=0
while [[ true ]];do
    #拍照;分辨率640x480;向照片底部写入日期;文件名为时间;保存到monitor文件夹
    fswebcam -d /dev/video0 -r 640x480 --bottom-banner --title "`date '+%Y-%m-%d %H:%M:%S'`" --no-timestamp ./monitor/`date '+%H-%M-%S'`.jpg
    #拍照间隔5min
    sleep 5m
    #计数器+1
    let count++
    #拍摄满20张照片 发送邮件
    if [ $count -gt 20 ];then
        #联系PHP发送邮件,如果你想自己写发邮件的代码,请删除这部分内容
        echo "Send Mail... Calling PHP"
        #这个PHP脚本还会自动清空monitor文件夹
        php monitor.php
        #发完了 清零计数器
        let count=0
    fi
done

在相同目录创建文件夹monitor
mkdir monitor

基础代码到此结束,如果你不想自己写发邮件的代码,那么请继续看;想自己写就可以不看了。

1.确保已装好PHP(要求5.4+)

之所以用PHP发送邮件,是因为LZ在写云签到的时候写过一个很强大的PHP SMTP类,可以很方便地发送带附件的邮件

如果装了php但终端输入php提示找不到文件,你还需要为php设置一个软链接

#/usr/local/php 为你的php安装目录,按需修改
ln -s /usr/local/php/bin/php /usr/bin/php

2.保存上述代码为 monitor.sh

3.修改monitor.sh,见上面的基础代码说明

4.新建monitor.php,代码和说明:

<?php
require 'class.smtp.php';
define('DIR', dirname(__FILE__) . '/monitor/'); //照片储存路径

if(file_exists(DIR)) {
    $f   = scandir(DIR);
    $att = [];
    foreach($f as $x) {
        if($x != '..' && $x != '.') {
            $att[$x] = file_get_contents(DIR . $x); //添加附件内容
            unlink(DIR . $x); //删除照片
        }
    }
    echo sendmail(
        'fuck@example.com', //接收者邮箱
        'Kenvix Monitor - '. date('Y-m-d H:m:s'), //邮件标题
        implode('<br/>', $f), //邮件内容
        $att);
} else {
    mkdir(DIR,0777);
}

/**
 * 快捷发送一封邮件
 * @param string $to 收件人
 * @param string $sub 邮件主题
 * @param string $msg 邮件内容(HTML)
 * @param array $att 附件,每个键为文件名称,值为附件内容(可以为二进制文件),例如array('a.txt' => 'abcd' , 'b.png' => file_get_contents('x.png'))
 * @return bool 成功:true 失败:错误消息
 */
function sendmail($to, $sub = '无主题', $msg = '无内容', $att = array()) {
    $From = 'kenvix@qq.com'; //发件人邮箱
    $Host = 'smtp.qq.com'; //SMTP主机
    $Port = 25; //SMTP端口
    $SMTPAuth = true; //SMTP 需要身份验证
    $Username = 'kenvix@qq.com'; //SMTP用户名
    $Password = 'password'; //SMTP密码
    $Nickname = 'Kenvix'; //发件人名字
    $SSL = false;
    $mail = new SMTP($Host , $Port , $SMTPAuth , $Username , $Password , $SSL);
    $mail->att = $att;
    if($mail->send($to , $From , $sub , $msg, $Nickname)) {
        return true;
    } else {
        return $mail->log;
    }
}

5.给权限:

chmod -R 777 monitor
chmod 777 monitor.sh
chmod 777 monitor.php
chmod 777 class.smtp.php

6.好,开始使用吧!

*建议将监控脚本(monitor.sh)设置为开机启动项并扔到后台运行

*发送邮件代码来自贴吧云签到