古老壁挂炉接入米家App



北方自采暖家庭,用的还是最早开发商装的菲斯曼的壁挂燃气炉。2014年重装修时,没有下定决心更换壁挂炉,只是换了一个曼瑞德(manred)的无线温控器。

温控器 – 控制端
温控器 – 接收器

古老的温控器问题很多,例如屏幕显示效果差,老电阻屏的点击操作实在不灵,距离过远无法无线控制(南卧室北阳台),更可怕的是编程的规则掉电就没了。所以这个温控器最后沦为了无线开关,放在客厅,起床睡觉的时候自己点一下。

温控器 – 接收器 – 市电供电

壁挂炉的温控逻辑很简单,只需要把两根控制线短接,壁挂炉就开始进行加热。

无线温控器的原理也很简单,室内的温控端基于温度规则发送控制信号,室外的接收器执行通断。所以,一个能接入米家的继电器就能将这款老旧壁挂炉接入小米的智能家居生态里。搜了下淘宝,这么简单的模块(USB供电,接入米家),能找到最便宜的49,我准备下单的时候还得等13天才发货。放弃,从头整理需求。

  • 温度控制:小米有温湿度计,可以贴在各屋墙上;
  • 网络接入:小米的蓝牙网关插座可以接入家庭Wi-Fi,也可以用米家 App 控制交流电和 USB 供电的开关;
  • 加热控制:一个简单的继电器,用通断电的方式,直接控制温控器控制线的短接状态。
  • 智能规则:米家 App
小米蓝牙插座网关 及 改造的接线方案(实线部分)

目标明确后,淘宝上了买了个5.2元人民币的 microUSB 供电的继电器,翻出了家里多余的一个带 USB 的小米蓝牙网关,一根USB线。

microUSB 供电的继电器,有延时模块

其实买错了,带了延迟功能,不重要,短接一下就好,否则要不按下按钮隔一会儿自动断开。

短接效果示意图

接线的时候,接 COM 和 NO 端。

接线效果

这样一来,只要 USB 通电,继电器就工作,COM 和 NO 就接通了。如果想要默认接通,通电关闭,换用 COM + NC 的接线方式就行了。

接下来是米家的规则。App的智能 tab,创建规则。

米家 App 界面

温控器开启的规则

温控器关闭的规则



古老壁挂炉接入米家App by @sskaje: https://sskaje.me/2020/11/gas-boiler-mi-home/

TL-R470GP-AC v4.0 开启SSH



不用折腾,真的不用折腾。上截图

端口隐藏了,我不确定 TP-Link 官方是否介意这个,所以只是给了个图上来。

我是把 1.1 的固件(1.1.0 Build 200831 Rel.44384n)翻了个遍,之前看到了改备份/配置文件的,再加上自己“经验”的开盒插 TTL,都没必要,固件里直接给了个功能。

系统工具 -》 诊断工具 -》 故障诊断 -》 开启诊断模式。

重启,找到合适的端口,不是 22,能看固件就看固件吧,代码里写死了。

用户名 root ,密码参考下边的代码,来自 /etc/init.d/dropbear 的最前边几行

macAddr 是设备标签上写的 MAC 地址,全大写,没有横线或者冒号。

对于 MAC 地址是 112233445566 的设备,root 密码就是 eb341820cd3a3485 。

给个链接 https://rst.im/hash/112233445566,参考 md5(half) 这行

另外,一些其他信息。

Telnet,telnet是开不了的,因为固件的 /etc/passwd 里放了一个默认密码,而 telnet 的启动脚本检测了,只有各种都是空的情况才能自动开启 telnet。假设条件成立,telnet 的密码也是空,参考 /etc/init.d/telnet 的 start()

串口,依旧没搞定。

opkg,自带配置无效,有空再去看哪个源可以用。

wireguard,等 opkg 搞了再看



You are not authorised to read all content in this post. Please login…

TL-R470GP-AC v4.0 开启SSH by @sskaje: https://sskaje.me/2020/10/tl-r470gp-ac-v4-0-ssh/

TL-R470GP-AC v4.0 主板图



之前看到某论坛的历史记录,TL-R470GP-AC v1.0 跟当时的 gamer 上有人发的 MR100GP-AC 板子看上去一模一样,不愧是一家。

为了研究 TL-R470GP-AC 装 WireGuard,花260又买了一个新的,拆机。

然而,试了 J1 和 J4 的各种组合,都看不到串口数据。



TL-R470GP-AC v4.0 主板图 by @sskaje: https://sskaje.me/2020/10/tl-r470gp-ac-v4-0-%e4%b8%bb%e6%9d%bf%e5%9b%be/

TL-R470GP-AC 解密备份文件



TL-R470GP-AC 是 TP-Link 的一款基础的路由+PoE交换+AC的3合一设备。图省事和便宜给老家换了这套方案,配上3个 ax 的AP。但是这款设备没有看到第三方固件。

想研究开启SSH,所以先从改配置文件入手,但是配置文件是加密的,于是第一步回到定位加密算法或者直接解密/加密配置文件。所有试验均在ubuntu 18.04 下完成。

1 官网下载固件,binwalk -e 看固件,研究web 的 cgi 程序,可以定位到配置文件解密程序的可执行文件

2 file 看一下程序,mipsel

3 ubuntu 下安装qemu

4 准备执行环境,在 squash-root 里执行

5 复制备份文件文件到 squash-root 里,执行解密命令

目前还没看到怎么开 SSH,能搞定的话,再去搞定 wireguard 就完美了。至于加密,有现成的工具可用。

接下来分析配置文件吧,全靠猜。

先看看tar包的内容



You are not authorised to read all content in this post. Please login…

TL-R470GP-AC 解密备份文件 by @sskaje: https://sskaje.me/2020/09/tl-r470gp-ac-backup-file-decrypt/

做了个DNS查询工具 & Switch 下载加速



之前为了自己方便,造了个 dig web interface 的轮子,查询 DNS 记录。

这次简单粗暴地做了个工具,找了个预生成的 dns 服务器 IP 列表,把要查询的域名记录循环扔给各个服务器去查,拿到的最终 A 记录去重做列表,网页测速度。地址在:https://ip.rst.im/dns/

然后,可能是有效的 Switch 会用到的服务器列表:

atum.hac.lp1.d4c.nintendo.net

dragons.hac.lp1.dragons.nintendo.net

bugyo.hac.lp1.eshop.nintendo.net

aqua.hac.lp1.d4c.nintendo.net

storage.lp1.scsi.srv.nintendo.net

receive-lp1.dg.srv.nintendo.net

bcat-topics-lp1.cdn.nintendo.net

其中,*.cdn.nintendo.net 和 *.d4c.nintendo.net 目测都是在 akamai 的cdn 上,理论上拿路由器把这些域名都扔给香港的服务器去解析就会好很多。



做了个DNS查询工具 & Switch 下载加速 by @sskaje: https://sskaje.me/2020/08/dns-query-tool-switch-download-accelerating/