树莓派 + PiCamera 打造局域网实时监控 – Version 1

最近在家带娃,发现娃睡觉不踏实,经常睡着会哭醒,如果这个时候娃身边没人,就会哭的很厉害,所以就要时不时进去看看娃,不是很方便,因此需要一个能够随时监控娃睡眠情况的摄像头,刚好手上有树莓派和摄像头模块,可以拿来实现一个可以在手机端查看的监控。这是监控的第一版实现,使用了 motion,第二版实现已经完成,参见 树莓派 + PiCamera 打造局域网实时监控 – Version 2

需求:


1.随插随用,因为只在娃睡觉时使用,平时不睡觉就关掉,省电,用的时候必须通电就能用,考虑到媳妇儿是非专业人士,易用性应该是第一位
2.局域网内使用,安全,并且不费流量
3.能够通过手机查看监控画面
4.要求有一定实时性,延迟太高会耽误照顾娃

需要的东西:


1.树莓派 1 2 3 代随意,推荐 3 代,并安装了 Raspbian

2.树莓派摄像头模块 PiCamera

3.移动电源,方便给树莓派供电

4.可以浏览网页的手机

5.无线网卡(仅 1 代需要,3 代已集成 wifi 芯片)

配置:


1.配置摄像头模块
a. 正确连接摄像头模块,插口靠近 HDMI 接口

b. 在树莓派上选择 Preference -> Raspberry Pi Configuration

c. 把 Camera 设置为 Enabled

d. 重启树莓派

2.安装 motion,motion 是一个开源的高度可定制化的监控程序,支持多种视频监控设备,如 V4l2 网络摄像头,视频采集卡,树莓派摄像头模块等,可以捕捉视频和图片,并通过 ffmpeg 把视频处理成流并推送到网页,这样就可以通过访问特定网址查看监控啦。
a. SSH 进 树莓派,并执行如下命令,关于如何 SSH,请参考 Adafruit的树莓派教程第六课:使用SSH

sudo apt-get update
sudo apt-get install motion

b. 需要把 树莓派摄像头模块 映射为一个 v4l2 设备

sudo nano /etc/modules

输入如下内容

bcm2835-v4l2

保存退出,这样树莓派摄像头模块在每次启动时自动注册为一个 v412 设备,方便 motion 调用

c. 配置 motion 为开机自启动服务

sudo nano /etc/default/motion

找到 start_motion_daemon 并设置为 yes

start_motion_daemon=yes

按 ctrl+x 保存退出
d. 允许非本机访问

sudo nano /etc/motion/motion.conf

更改 webcontrol_localhost 为 off

webcontrol_localhost off

e.更改端口号

webcontrol_port 8888

f.按 ctrl+x 保存退出,重启树莓派

这样树莓派重启后就会自动捕捉摄像头画面并推送至网页端啦

测试


用手机浏览器打开如下地址即可看到效果

http://树莓派IP地址:8888

如:

http://192.168.1.100:8888

小建议


1.把树莓派的 ip 在路由器里配置成静态 ip,方便长期使用
2.用 safari 打开监控地址,然后点击 分享 – 添加到主屏幕,这样就能在手机主屏幕快速访问监控网页啦

遇到的问题


  1. 由于我用的是树莓派 1 代,画面大概会有5秒延迟,但是已经够用啦,手上还有一个树莓派3代,不知道会不会快一些
  2. 娃睡觉的时候是在黑暗环境下,树莓派摄像头的感光效果太差,黑黢黢看不清,需要一个红外夜视摄像头
  3. 无法捕获声音

博主开通了微信公众号,欢迎关注啦

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.