『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 24292|回复: 35

USB摄像头接入hass用做家庭监控摄像头

[复制链接]

74

主题

1942

帖子

7885

积分

元老级技术达人

积分
7885
金钱
5893
HASS币
430

活跃会员教程狂人

发表于 2018-3-13 11:53:38 | 显示全部楼层 |阅读模式
本帖最后由 咸味土豆 于 2018-3-30 08:57 编辑

        前段时间折腾USB摄像头,参考坛友的帖子基本就能接入使用了,只是有些参数没有搞明白,最近好好看了看帖子,解决了一些以前没搞明白的地方,发出来记录一下,给和我一样的小白做个参考,大神们请无视。
一、我的环境
      运行环境:树莓派3,Debian9+Docker+hassio。
      摄像头硬件:USB免驱摄像头,手头有一个罗技的C270,还有一个是前段时间坛子里大神们推荐的ps3的摄像头(25块钱包邮,640*480,60fps,还带阵列麦克风),这俩在树莓派(linux)下都是免驱的。
二、参考教程
      1、坛友发的:小白第一帖~USB摄像头通过MJPEG_streamer接入hass,图像识别
      2、L大发的:【玩转docker】【usb摄像头接入ha】【mjpg_streamer】【mjpg组件】
      3、csdn的多个帖子:     【手把手教你树莓派3 (六)】使用 motion 和 mjpg 做视频监控器
                                            mjpg-streamer学习笔记3----主进程   等等
三、经验补充
      1、安装编译软件
      参考上面的链接一,原教程很详细了,请看坛友原帖,安装依赖、下载源文件进行编译;原帖第3步中,如果下载后,解压的时候如果提示找不到源文件,可以自己下载后放在自己记得住的路径下,手动cd到该目录进行第4步操作,编译会花较长的时间,慢慢等就好了,具体请看原贴,附件我会提供编译好的文件,一样的环境的可以尝试。
      2、复制文件:
      原贴中的第5步,把编译好的文件拷贝复制到树莓派对应的目录中,注意权限,完成后应该是这个样子的(winSCP查看):
2.png

3.png

4.png
      3、开启mjpg-streamer
      开启之前,先查看一下自己的USB摄像头是否被识别:
lsusb

      输入后显示:
pi@raspberrypi:~ $ lsusb
Bus 001 Device 005: ID 1415:2000 Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc.Sony Playstation Eye
Bus 001 Device 025: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

       其中第一个是ps3摄像头,第二个是罗技C270,都能识别。
       查看摄像头的位置:
ls /dev/vid*

输入后显示:
pi@raspberrypi:~ $ ls /dev/vid*
/dev/video0  /dev/video1

      输入命令开启mjpg_streamer、查看效果:
      打开/dev/video1位置的摄像头,输入命令:
sudo /usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so -y -d /dev/video1 -r 320x240 -f 15" -o "/usr/local/lib/output_http.so -p 8090 -w /usr/local/www" &

      打开/dev/video0位置的摄像头,输入命令:
sudo /usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so -y -d /dev/video0 -r 320x240 -f 15" -o "/usr/local/lib/output_http.so -p 8080 -w /usr/local/www" &

      输入命令之后,有时候会开启失败,我的办法就是先输入lsusb命令查看设备,确认设备能识别出来之后再试,基本能成功。
      开启成功:
5.png
      开启失败:
6.png
      在浏览器输入你的树莓派地址加上对应端口,就能在Web页面查看图像了:
http://1x.xx.xx.xx:8080


7.png

      相关参数:
      路径相关的需要和前面的文件位置对应一致;
      -i为输入参数设置,其中:-d为输入节点,-r为分辨率,-f为帧率;
      -o为输出参数设置,其中:-p为端口设置,-c为用户名和密码(比如:-o "/usr/local/lib/output_http.so -p 8090 -w /usr/share/mjpeg-streamer/www/ -c admin:admin");
      最早参照坛友的帖子接入的时候发现在退出ssh客户端或者ctrl+c之后,mjpg_streamer进程就会跟着结束了,(网上专业的解释和解决方法的帖子很多,我一个linux门外汉就不解释了),其实很简单,在启动命令后面加上符号“&”即可。
      本来想参考别的帖子写个自启动的脚本的,不会也不想搞了,现在已经能满足我的要求了,想用的时候就手动开启,不想看了就结束进程。
      结束命令:
sudo killall -TERM mjpg_streamer

四、接入HA
      1、配置camera
camera:
  - platform: mjpeg
    mjpeg_url: [url=http://10.16.100.110:8080/?action=stream]http://10.16.100.110:8080/?action=stream[/url]
#    still_image_url: http://IP/image.jpg
    name: usb_camera01

  - platform: mjpeg
    mjpeg_url: [url=http://10.16.100.110:8090/?action=stream]http://10.16.100.110:8090/?action=stream[/url]
#    still_image_url: http://IP/image.jpg
    name: usb_camera02

      2、效果展示:
8.png

五、资源占用
      未开启摄像头:
1.png
      开启摄像头:
00.png

数据仅供参考。
当然,HA里会有一堆报错信息,我已经麻木了,HA不报错太不正常了,好在不影响使用。

over!


附上我的附件:
output_http.rar (15.17 KB, 下载次数: 24) input_uvc.rar (17.79 KB, 下载次数: 25) mjpg_streamer.rar (7.52 KB, 下载次数: 26) www.rar (110 KB, 下载次数: 31)











评分

参与人数 1金钱 +20 收起 理由
+ 20 谢谢分享!

查看全部评分

所有过往,皆为序章。
回复

使用道具 举报

123

主题

4626

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16009
金钱
11298
HASS币
45
发表于 2018-3-13 13:14:12 | 显示全部楼层
楼主这么辛苦,不设置个回复可见,都没人回帖,真让人心寒!
回复

使用道具 举报

74

主题

1942

帖子

7885

积分

元老级技术达人

积分
7885
金钱
5893
HASS币
430

活跃会员教程狂人

 楼主| 发表于 2018-3-13 13:20:55 | 显示全部楼层
Jones 发表于 2018-3-13 13:14
楼主这么辛苦,不设置个回复可见,都没人回帖,真让人心寒!

很基础的东西,还是算了,再说这个需求不大,你可以考虑挪到智能硬件讨论区,我发错地方了。
所有过往,皆为序章。
回复

使用道具 举报

34

主题

335

帖子

1844

积分

金牌会员

Rank: 6Rank: 6

积分
1844
金钱
1509
HASS币
0
发表于 2018-3-13 21:32:32 来自手机 | 显示全部楼层
感谢分享
回复

使用道具 举报

0

主题

316

帖子

1732

积分

金牌会员

Rank: 6Rank: 6

积分
1732
金钱
1416
HASS币
0
发表于 2018-3-13 22:19:20 | 显示全部楼层
不知道我电脑棒是不是设置分辨率高了不能长期稳定使用,出去了几天回来usb摄像头就罢工了重启电脑棒就好了
回复

使用道具 举报

74

主题

1942

帖子

7885

积分

元老级技术达人

积分
7885
金钱
5893
HASS币
430

活跃会员教程狂人

 楼主| 发表于 2018-3-14 22:31:15 | 显示全部楼层
qq200800704 发表于 2018-3-13 22:19
不知道我电脑棒是不是设置分辨率高了不能长期稳定使用,出去了几天回来usb摄像头就罢工了重启电脑棒就好了 ...

我现在设置的是640*480分辨率(2路同时运行,CPU65以上,温度65左右),不过我总在折腾,重启次数多,感觉这个运行倒是还算稳定,要是树莓派坏了我也换个棒子。
所有过往,皆为序章。
回复

使用道具 举报

4

主题

136

帖子

703

积分

高级会员

Rank: 4

积分
703
金钱
567
HASS币
0
发表于 2018-3-18 20:33:01 | 显示全部楼层
求助呀,我的摄像头开启成功了,可那个web页都不开,hass里也无图像.....
回复

使用道具 举报

4

主题

136

帖子

703

积分

高级会员

Rank: 4

积分
703
金钱
567
HASS币
0
发表于 2018-3-18 22:37:50 | 显示全部楼层
lhpsq 发表于 2018-3-18 20:33
求助呀,我的摄像头开启成功了,可那个web页都不开,hass里也无图像.....

找到原因了,原来是8080被占用了
回复

使用道具 举报

74

主题

1942

帖子

7885

积分

元老级技术达人

积分
7885
金钱
5893
HASS币
430

活跃会员教程狂人

 楼主| 发表于 2018-3-19 08:36:45 | 显示全部楼层
lhpsq 发表于 2018-3-18 22:37
找到原因了,原来是8080被占用了

找到原因就好,成功了么。那些都能自定义的。
所有过往,皆为序章。
回复

使用道具 举报

4

主题

136

帖子

703

积分

高级会员

Rank: 4

积分
703
金钱
567
HASS币
0
发表于 2018-3-19 14:22:15 | 显示全部楼层
咸味土豆 发表于 2018-3-19 08:36
找到原因就好,成功了么。那些都能自定义的。

成功了,现在在研究自启动
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-20 15:23 , Processed in 0.061854 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表