前言
最近,我的客户从网上购买了一台Airmx的加湿器,在我们的努力下,终于把这个设备成功接入到node-red平台,然后顺利的实现和homekit进行对接。
原理
首先要知道这个这个设备使用的是什么协议。然后通过抓包获取相应的数据信息。
我们破解的这个设备使用的是MQTT协议,所以应该这个设备与远程服务器的MQTT 代理,进行连接,然后手机app推送消息,设备订阅消息,这样就实现了控制。
接入第三方控制平台技术原理
模拟设备,跟设备的云服务器 MQTT Broker 进行连接
实现步骤
- 利用wireshark抓包获取ip信息,协议内容等,如下图
通过下图可以发现,此设备的使用的是什么协议(MQTT),云服务器的IP地址(140.143.130.176)
image.png - 模拟设备实现接入到远程MQTT服务器
首先要抓设备的配网流程,目前设备都是通过加密连接的,所以要抓获设备登入远程服务器的用户名和密码。如下图1所示,在初次连接的时候,设备会跟云发送一个连接命令,点击此命令,获取相应的明文信息(账户和密码)如图2。如果看不到的话,那么就可以放弃了
图1.png
图2.png -
使用node-red的mqtt 节点,跟远程云服务器进行建立连接
image.png
image.png
image.png
image.png
部署以后,然后如果显示连接,那么就可以发送信息进行控制了。
image.png
-
获取控制协议
首先用手机app发送控制命令,然后抓包工具抓取相应命令。
image.png
控制协议 -
模拟手机APP,发送对应控制指令
-
总结
hh,通过一系列骚操作,成功将加湿器添加到第三方平台进行控制。
毕竟我和客户熬夜肝出来的,都有点小兴奋。
把不可能变成可能
网友评论