本帖最后由 flashbj 于 2023-9-11 16:34 编辑
背景介绍:父母家的车库门是用传统遥控器控制的卷帘门,之前有一次家里老人不小心按到了遥控器将车库门开启了,但是家里老人不知道,导致车库门开了一下午,索性没有丢东西。所以我通过frigate的检测算法做了一个当车库内没有人的时候延时三分钟自动关闭车库门,并在此基础上又增加了通过车牌识别自动开启车库门的功能。
在之前的教程中,介绍了如何利用zerotier实现异地组网,将父母家的摄像头接入到我家的HA中:老毕教程之:通过zerotier实现异地组网,并将设备接入HA - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)
原理:利用车库外的摄像头通过frigate的车辆识别进行图片抓拍,并利用本地的车牌识别算法进行图片读取、车牌号码分析,分析结果如果是指定的车牌号码,则调用车库开门按钮,进行开门。
在次感谢@suifeng009大佬分享的车牌识别的算法:本地车牌识别,可以无限次识别了! - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)
一、车牌识别算安装:
我是在PVE中新建了一台centos7的虚拟机,利用docker安装的车牌识别算法。后期还会利用这个虚拟机安装人脸识别算法。注意:用于安装车牌识别算法的虚拟机内存至少保证3G以上,此算法内用使用会比较高。
1、centos7安装docker,这个网上教程比较多,大家可以自动百度,在此就不过多的赘述了。
2、部署车牌识别算法:算法地址open-anpr: 基于深度学习的智能车牌识别,支持14种中文车牌类型。 (gitee.com),centos安装完docker后直接运行以下命令,就可以部署了。
docker run -d --name "open-anpr" -p 56790:8080 divenswu/open-anpr:1.1.0
3、安装完成后,执行docker ps,出现名字为open-anpr容器,并且使用浏览器打开“http://IP:56790/doc.html”可以进入以下界面则说明算法已经安装成功了。
二、添加设备
1、在父母家的车库外和车库内安装摄像头(普通的摄像头即可)并将摄像头接入到我家HA中的frigate,并开启车辆识别和人形识别。
添加摄像头可以参考老毕教程之:通过zerotier实现异地组网,并将设备接入HA - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)
2、在frigate配置文件中添加车辆和人形的检测,如下图:
3、增加车库智能遥控器,我用的是易微联的卷帘门控制器,购买时需要确定一下你的卷帘门是什么频率的遥控器,我家是433的,当然也可以选择其他带射频功能的遥控器,比如博联的RMPRO+。
4、按照说明将你的普通遥控器和智能遥控器进行配码,我在配码的过程中出现了三个按键配完之后只有一个按键能用,联系客服才知道,是传统遥控器的问题,我之前原装遥控器坏了两个,从某多多上买了几个通用的433遥控器。最后拿出了没坏的原装遥控器才配码成功。
5、车库门上加装门磁设备,判断车库门当前状态,装电池的那部分我贴在了墙上,另外部分我换成了磁铁固定在了卷帘门时,因为另一部分带着塑料壳会影响车库门正常使用,换成磁铁也能正常使用。
6、将智能遥控器和门磁通过易微联接入HA,因为这个智能遥控器和门磁是在我父母家,跟我的HA不在同一个网段所以HA中显示设备不可用,进入HA设备管理中的易微联,将门磁和智能遥控器手动启用一下,就可以正常使用了(我是这样操作的)
7、在HA概览中制作卡片,方便使用手机控制车库门开启。
三、Node-red联动
具体流程如下:
需要修改的地方:
1、“摄像头截图并保存”:修改摄像头的RTSP流地址、图片存储路径和图片名称。
2、“读取本地图片OK”:将读取路径修改你的图片存储路径和图片名称
3、“本地车牌识别”:修改你车牌识别算法所在服务器的IP地址。
4、“switch”:就改为你需要开门的车牌号码。
5、“车辆检测”:修改为你车库外摄像头的RTSP流地址
6、“车库有人检测”:修改为你车库内摄像头的RTSP流地址
以上就是我做的通过车牌识别自动开车库门和车库内没人时自动关车库门的联动方案,已经测试了一段时间,因为车库外摄像头的夜视能力差一些,所以晚上的时候会偶尔出现识别不准的情况,可以使用带补光灯的摄像头来解决这个问题。
NR流如下:
车库门控制.zip
(2.94 KB, 下载次数: 55)
再次感谢suifeng009大佬的教程,给我提供了车牌识别的算法,此算法是本地部署的,且没有识别次数限制。
|