35 元 大华门禁智能化改造方案 -- 打通小爱 HomeKIT
准备工作
自备
一台电脑、室内有可以上网冲浪的 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 命令:
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
ssh admin@192.168.123.1
密码是 admin
然后执行格式化整个分区命令:
mkfs.ext4 /dev/mmcblk0

格式化整个分区需要一点时间,耐心等 2 分钟。
先创建一个挂载点,例如:
mkdir -p /mnt/mmc
然后挂载它:
mount /dev/mmcblk0 /mnt/mmc
最后可以验证是否挂载成功:
df -h | grep mmc

挂载成功!

然后来到网页后台查看内置磁盘情况,可用容量 112GB
到此,emmc 可以正常使用,请重启路由器(可以等修改完密码后一起重启),让路由器 emmc 自动挂载到相应位置。
修改密码
由于我们的路由器后面要接入内网,所以安全性是至关重要的,在路由器选择高级设置 - 系统管理
设置新密码,然后保存即可
关闭防火墙
为了在原有路由器设备可以直接访问到京东云路由器,我们需要关闭防火墙。
路由器配置页面 高级设置 - 防火墙,关闭防火墙功能。

重启
进行以上操作后,
然后点击右上角重启按钮进行重启。
重启后无法联网
重启后有一定概率连不上网,这个时候再重启一遍一般就可以正常了。
程序部署
重启后进入 SSH,输入以下命令安装程序:
sh -c "$(curl -kfsSL https://oss-hk.hozoy.cn/vto-flask/install_padavan.sh)"
然后脚本会自动拉取所需要的程序以及环境,并自动安装。

如果脚本出现问题,等待脚本完成后,可以尝试访问脚本输出的地址,例如我的是
[INFO] 应用路由器内访问地址: http://192.168.123.1:8998
[INFO] WAN口IP地址(需要防火墙关闭): http://192.168.31.171:8998
(请先记住 WAN 口 IP 地址)

出现以上页面则是安装成功。如果打不开则可能是依赖等安装失败,请重新执行脚本进行安装。
为了防止弱口令导致信息外泄,在安装成功后,需要自行设置管理员用户名、密码信息。
设置路由器启动后自动启动
在路由器管理页面,进入高级设置 - 自定义设置,选择脚本,点击 在防火墙规则启动后执行:
在 logger -t "【防火墙规则】" "脚本完成" 下输入
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
设备添加
使用创建的账号密码登录设备后,要先对设备进行配置,点击设备管理。

可以自行手动添加自己区域的设备信息。
可见设备添加
我们开始设置可见设备,可见设备是指可以在首页可以看到的设备,以及后续小爱同学、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 客户端,可以更方便的操作管理设备。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

值友2062942527
校验提示文案
值友2062942527
校验提示文案
值友7574288297
校验提示文案
值友7574288297
校验提示文案
值友2062942527
校验提示文案
值友2062942527
校验提示文案