35元 大华门禁智能化改造方案 -- 打通小爱HomeKIT
上一期 https://www.hozoy.cn/2025/06/30/%E5%A4%A7%E5%8D%8E%E9%97%A8%E7%A6%81%E7%9A%84%E5%88%9D%E6%AD%A5%E6%8E%A2%E7%B4%A2/ 初步介绍了一下门禁的背景,这一篇文章就是介绍低成本的部署方案。
准备工作
自备
一台电脑、室内有可以上网冲浪的wifi
路由器
这里选的路由方案为闲鱼30元就可以买到的京东云无线宝一代路由器
为什么选这款路由器?因为用的k2p神机同款的一代神U联发科MT7621,有512M大内存,并且当初作为PCDN初创者,一代京东云无线宝最小有32G的emmc的储存空间,并且支持插入U盘,同时无线性能也不差,有着非常大的可玩性,难能可贵的是可以免拆机刷固件,并且由于运营商PCDN打击愈发严厉,闲鱼大批量矿主和个人用户抛售,这款路由器二手市场价格已经从几年前最高处300元回落到30元包邮的时代。即使不作为本次智能化改造方案的路由器,而当做日常使用的路由器也是性价比很高的存在。
注意一定要选没有拆emmc的,至于是32G、64G、128G版本都无所谓,因为都够用了。
RJ45转接器
挑图里的价格最便宜的买,我这里买的1.76元
超细网线2根
我这里买的0.5m的线,因为我的室内机下方正好有一个桌面有插座可以放路由器,这样就可以不用很长的线了。请根据自己屋里室内机摆放位置以及路由器将要安放的位置按需购买适合的长度的网线。长度至少要是室内机与插座的距离。
type-c/usb to rj45转换器(可选)
如果你是mac或者电脑没有网线口,则需要买一个转换器。
路由器刷机
可以直接参考这篇文章进行刷机:https://zhuanlan.zhihu.com/p/1919495194740519082
为了防止原文失效,我这边将原帖贴在下面,相关刷机固件可以直接下载这个链接:
https://oss-hk.hozoy.cn/vto-flask/JDC-1.zip
刷入SSH固件
先登录京东云后台查看一下ROM版本号:JDCOS4.0.0.r6636 如果低于这个版本,升级一下。
已经是4.0版本开始下面操作,
路由器断电,使用顶针按住reset按键,给路由器通电(注意通电时reset要保持一直按下),等待10秒左右再松开reset,用网线连接电脑和路由器LAN口。(注意Windows10部分版本子网掩码输入24)
电脑设置静态IP:192.168.68.xx 和子网掩码255.255.255.0,其他不需要设置,点击确定。
使用浏览器输入192.168.68.1进入官方uboot页面。
选择JDC4.0.0.r6636_开启SSH固件.bin
文件,然后上传
开始更新系统,路由器红灯闪烁,大概三分钟左右升级完成。注意此时千万不能断电,断电就成砖了。
浏览器在192.168.68.1页面刷新一下,选择不插网线,选择DHCP上网,重新设置一下路由器后台密码(SSH密码也是这个),WiFi名称等,初始化路由器。
SSH连接路由器,刷入breed不死
路由器重启完成后,使用ssh软件连接:192.168.68.1 用户名:root 密码:你的管理密码
如果是Windows电脑,Win + R 键呼出运行,输入cmd回车。
如果是Mac,则进入终端。
然后输入ssh root@192.168.68.1
,回车
如果连接出现:Unable to negotiate with 192.168.68.1 port 22: no matching host key type found. Their offer: ssh-rsa
,则使用ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa root@192.168.68.1
连接,
如果出现Are you sure you want to continue connecting (yes/no/[fingerprint])?
输入yes
然后输入密码再回车。注意,输入密码时不会显示字符。
breed文件在根目录下,输入cd /
进入根目录,然后输入ls
查看一下文件,有一个名称为breed-mt7621-jd-cloud-1.bin
的文件
写入breed命令:
1 | mtd write /breed-mt7621-jd-cloud-1.bin Bootloader |
复制上面命令,回车,正常无报错代表写入成功。
进入breed刷入padavan固件
直接捅路由器菊花5秒左右(无需断电),然后出现红绿蓝灯轮流闪烁,最后蓝灯常量代表进入breed,使用网线连接电脑和路由器,电脑设置静态IP:192.168.1.11 子网掩码:255.255.255.0 ,网关和DNS:192.168.1.1,保存。
然后浏览器进入http://192.168.1.1
先进行备份
然后在固件更新中,勾选固件,选择padavan目录中,JDC-1_3.4.3.9-099.trx
上传JDC-1_3.4.3.9-099.trx固件,点击更新,等待路由器重启,然后电脑设置成自动获取IP地址(DHCP)。
padavan固件后台地址:192.168.123.1 默认账号和密码:admin
就能入系统后台,可以看到可用内容397MB非常大,可玩性比128MB内存的设备高很多,至此刷机完成。
联网
我们这里选择WIFI中继模式,在无线5GHz中,选择无线桥接,无线AP工作模式和无线AP-Client角色配置按图中设置,无线信道先不选,选中自动搜寻,点击上级SSID右边的天线按钮,然后下面选择要连接的WIFI,下面密钥就是WIFI的密码,然后点击应用本页面设置。
然后检查现在电脑是否可以正常上网,如果不能上网,则需要看一下WIFI配置是否有问题
开启SSH
在高级设置-服务,将启用SSH服务改为是,将允许远程端口转发 (GatewayPorts)改为是,然后保存
格式化eMMC
京东云一代内置的eMMC默认可能使用100%,我们需要挂载EXT4为磁盘使用,
先在网页后台手动卸载分区,点击“移除”,并确定。
分区卸载完后,登录SSH
1 | ssh admin@192.168.123.1 |
密码是admin
然后执行格式化整个分区命令:
1 | mkfs.ext4 /dev/mmcblk0 |
格式化整个分区需要一点时间,耐心等2分钟。
先创建一个挂载点,例如:
1 | mkdir -p /mnt/mmc |
然后挂载它:
1 | mount /dev/mmcblk0 /mnt/mmc |
最后可以验证是否挂载成功:
1 | df -h | grep mmc |
挂载成功!
然后来到网页后台查看内置磁盘情况,可用容量112GB
到此,emmc可以正常使用,请重启路由器(可以等修改完密码后一起重启),让路由器emmc自动挂载到相应位置。
修改密码
由于我们的路由器后面要接入内网,所以安全性是至关重要的,在路由器选择高级设置-系统管理
设置新密码,然后保存即可
关闭防火墙
为了在原有路由器设备可以直接访问到京东云路由器,我们需要关闭防火墙。
路由器配置页面 高级设置-防火墙,关闭防火墙功能。
重启
进行以上操作后,
然后点击右上角重启按钮进行重启。
重启后无法联网
重启后有一定概率连不上网,这个时候再重启一遍一般就可以正常了。
程序部署
重启后进入SSH,输入以下命令安装程序:
1 | sh -c "$(curl -kfsSL https://oss-hk.hozoy.cn/vto-flask/install_padavan.sh)" |
然后脚本会自动拉取所需要的程序以及环境,并自动安装。
如果脚本出现问题,等待脚本完成后,可以尝试访问脚本输出的地址,例如我的是
1 | [INFO] 应用路由器内访问地址: http://192.168.123.1:8998 |
(请先记住WAN口IP地址)
出现以上页面则是安装成功。如果打不开则可能是依赖等安装失败,请重新执行脚本进行安装。
为了防止弱口令导致信息外泄,在安装成功后,需要自行设置管理员用户名、密码信息。
设置路由器启动后自动启动
在路由器管理页面,进入高级设置 - 自定义设置,选择脚本,点击 在防火墙规则启动后执行:
在logger -t "【防火墙规则】" "脚本完成"
下输入
1 | vto start |
(如果无法输入,请确保电脑是通过网线连接路由器或者通过WIFI直连路由器)
然后保存即可。
使用
5G + 2.4G WIFI
这里我们配置京东云的 2.4G 和 5G 的WIFI。
点击路由器的 高级设置 - 2.4GHz页面,修改默认的SSID,密码。然后保存。
5G的配置过程也大同小异,注意为了安全一定要修改默认密码。
LAN配置
打开 高级设置 - 内部网络(LAN)页面,
先关闭DHCP:在DHCP服务器中,关闭 “启用 DHCP 服务器”开关。然后保存。
然后打开内网设置:
IP地址:1-4区可以设置172.16.210.x - 172.16.249.x之间的ip,注意x只能为1-255之间,例如如果是1区1幢可以是172.16.211.189, 4区4幢可以是172.16.244.56,尽可能随机防止ip冲突。
设置子网掩码为:255.255.0.0
然后保存。
然后电脑就可以和路由器断开网线连接了,然后电脑连接室内原有的WIFI,输入上面让记录的WAN口IP地址,看看可不可以直接访问到路由器后台。
然后打开WAN口IP地址:8998,查看VTO管理页面是否可以正常打开,如果可以正常打开,即可进入下一步配置。
网络接入
将买到的2根超细网线插入路由器的2个LAN口。
将墙上的室内机左右手向上将室内机抬起来,即可看到面板背后插的网线。
将网线与RJ45转接器相连,然后RJ45转接器另一端与一根超细网线相连。
另一根超细网线接入室内机。然后将RJ45转接器塞入墙内,超细网线留在下方,将室内机重新挂在墙上。
将路由器接入电源。
打开VTO管理页面
打开WAN口IP地址:8998
设备添加
使用创建的账号密码登录设备后,要先对设备进行配置,点击设备管理。
如果你是1-4区的住户,可以下载以下的配置文件:
https://oss-hk.hozoy.cn/vto-flask/preset_devices.json
然后点击右上角“批量导入”,然后选择下载的preset_devices.json
文件,即可导入设备。
当然如果是其他区域的用户,可以自行手动添加自己区域的设备信息。
可见设备添加
我们开始设置可见设备,可见设备是指可以在首页可以看到的设备,以及后续小爱同学、HomeKit所可以管理的设备。
点击“设备管理”
可以通过筛选条件筛选自己所需要的设备,然后勾选,最后右上角保存即可。
设备管理
打开可见设备列表,可以看到所添加的可见设备,并且左侧有当前设备的预览画面。
点击视频查看当前设备所处位置(受限于路由器性能,视频分辨率设置的较低,但是也还能用)
然后点击设备右侧的修改按钮,修改设备名称,这个名称就是小爱音箱/HomeKit的唤醒设备名。
配置巴法云
大善人巴法云为DIY爱好者开放了IoT设备管理的能力,并提供设备接入小爱同学/小度音响控制的能力。我们这里直接使用巴法云实现接入音箱语音控制能力。
注册账号,并登录。
打开控制台:https://cloud.bemfa.com/tcp/devicemqtt.html
绑定微信,并复制私钥
回到系统管理页面,点击“系统设置”,
在页面下方选择“添加密钥”
然后可以定义一个名称,然后输入刚才复制的私钥,然后添加。
当然你也可以添加多个巴法云私钥,按照个人需求添加即可。
然后可以打开MQTT按钮,然后保存设置。
然后打开:https://cloud.bemfa.com/tcp/devicemqtt.html
查看是否已经有添加的设备
如图所示如果有可见设备,并且都处于在线状态,巴法云即配置完成。
接入小爱音箱
手机打开“米家”APP,打开“我的”,选择“添加其他设备”
点击添加,搜索“巴法”,然后点击,输入巴法云账号密码进行绑定,然后同步设备。
如果出现了刚才添加的设备,则同步成功。此时可以通过此小米账号绑定的小爱音箱进行语音操控。
如果想要在米家中有按钮可以直接操控,需要在米家首页点击右上角“➕”号,选择手动控制。
输入名称
然后选择小爱音箱,选择自定义指令。
然后设置自定义指令为“打开XXX”,然后选择静默执行。点击确定。
在米家首页就会有相应的场景了。点击即可执行开门操作。
米家的手动控制场景还可以放置到桌面小卡片上,这样操控就更为方便了。
巴法云APP & 小程序
大善人巴法云也有一套APP和小程序,登录后也可以直接操控设备。
苹果家庭HomeKIT接入
如果有接入HomeKit的需求的话,在管理后台点击HomeKit菜单栏。
先不要开启HomeKit,需要先在下方添加设备,可添加范围为可见设备列表。
添加完并设置完名称后。我们就可以在上方随机生成配对码 然后开启HomeKit保存,此时会有配对二维码产生。
此时iOS设备需要连接屋内主路由(就是京东云无线桥接的那个WIFI),
在iOS的家庭APP,点击添加配件,然后扫描二维码。
然后就可以成功添加门禁设备。
现在有个问题:iOS添加桥接器后,桥接器再新增设备时,新设备不会自动显示在“家庭”APP中,需要删除桥接器重新添加才可以。
注意:苹果HomeKit在局域网内可以正常使用,如果需要外出时使用,需要室内使用苹果的网关,例如Apple TV或者HomePod,具体请查询苹果官网:https://support.apple.com/zh-cn/102557
内网穿透
以上的巴法云、小爱音箱、HomeKit都没办法实现视频查看,如果我们需要视频查看,则需要打开网页进行查看,并且在外网无法访问。这里我们做内网穿透来实现可以在外出时访问系统后台。
打开路由器管理后台,点击拓展功能 - 内网穿透
选择花生壳内网版。
然后启动按钮打开,然后保存。
此时会自动安装花生壳相关程序。请等待1 -2分钟,在右上角Log也可以看到安装进程。
安装完之后会有一个SN码,复制一下,点击打开管理页面,进入花生壳官网,如果没有账号的话注册一个账号。
然后进行登录,登录后进入设备列表:https://console.hsk.oray.com/zh/device
点击添加设备,然后输入SN码。
然后点击内网穿透,添加映射:https://console.hsk.oray.com/zh/forward/modify?activeTab=tcp
选择常规应用,映射协议选择TCP,内网端口设置为8998
然后点击确认。
添加完后,大概过几分钟,就复制列表页外网地址(带随机的端口号)到浏览器。查看是否可以访问到管理后台。如果可以访问到,即证明内网穿透成功。
可以将此地址添加到手机桌面快捷方式,可以快捷打开查看操控。
后续
目前还有一个痛点未解决:门禁机呼叫室内机,室内机自动开门并挂断电话,后续研究一下对应的方案并新增到系统中。届时可以通过vto update命令直接一键更新。
本项目已开源,欢迎Star:https://github.com/Zrincet/vto-flask
后续会开发 Android 和 iOS 客户端,可以更方便的操作管理设备。