首页
社区
课程
招聘
[原创]逆向狄X楼宇对讲机的485控制协议
发表于: 2024-1-11 13:20 12319

[原创]逆向狄X楼宇对讲机的485控制协议

2024-1-11 13:20
12319

点击对讲机屏幕智能家居灯光模块,对应灯打开或关闭。

笔者发现房屋自带的楼宇对讲机里有智能家居模块,想要将这块屏幕接入使用它控制灯光设备。

使用该设备的屏幕操作控制灯光,后面再控制空调,灯光,场景。

1、 厂商官网产品资料,发现楼宇对讲机,网络结构,设备网络接入的是楼宇间网络,楼下的对讲机。设备还有一个485接口,用于扩展智能家居控制。

智能家居通过485扩展

楼宇对讲接口图

2、 关键点485接入智能家居控制,什么是485?厂商有没有协议文档公开?查看厂商设备485怎么接入,设备价格?

485是有线接入的智能控制方案,百度是总线,主/从设备模式。厂家的相关的模块也叫做有线智能网关,笔者的灯全是wifi的,也没有智能开关,这有线的485怎么接入控制WIFI设备?搞不了?

逻辑上485有线也是要传控制指令,设备收到指令后执行,执行动作。所以去抓下屏幕操作时对应485上的控制数据,然后转译成wi-fi灯的控制指令应该可以。

1、 分析485控制指令。
2、 485控制指令转译成控制wi-fi灯的控制指令(485传MQTT,HA用MQTT自动化)。

笔者开始是想自己写代码ESP32读485数据,因为是想要接入home assistant系统来控制,home assistant后面简称HA。ESP32可以走ESPHOME,集成到HA。
后面发现HF家的485透传模块,(提供透传到MQTT),还可以分包,这东西就是串口的wireshark,花了43块买了一个(关键模块特别小,6厘米长,笔者可以直接塞到对讲机后面的86底盒里)。

测试了几种串口配置,发现配置如下,数据能成为有效控制指令。

协议似乎不是标准modbus,所以还是得分析,直接数据透传。

在屏幕上点击智能家居灯光控制。发现485上有数据,使用产品配套的TCP&UDP测试工具查看如下(已配置TCP sever路由485):

在屏幕上点亮第2盏灯,观察数据,对数据进行分组排列(因为串口有开始位和结束位)
什么都不点时RX:
ae d0 06 81 01 06
ae d0 08 82 01 00 00 09
ae d0 08 82 01 00 01 0a
ae d0 08 82 01 00 02 0b
ae d0 08 82 01 00 03 0c
ae d0 08 82 01 00 04 0d
ae d0 08 82 01 00 05 0e
ae d0 08 82 01 00 06 0f
ae d0 08 82 01 00 07 10
ae d0 08 83 01 00 00 0a
ae d0 08 83 01 00 01 0b

点亮第2盏灯时RX:
ae d0 06 81 01 06
ae d0 08 82 01 00 00 09
ae d0 08 82 01 00 01 0a
ae d0 08 82 01 00 02 0b
ae d0 08 82 01 00 03 0c
ae d0 08 82 01 00 04 0d
ae d0 08 82 01 00 05 0e
ae d0 08 82 01 00 06 0f
ae d0 09 02 01 00 01 01 8c
ae d0 08 82 01 00 07 10
ae d0 08 83 01 00 00 0a
ae d0 08 83 01 00 01 0b
测试其它项。

猜测灯状态改变包数据结构:
【帧头】【帧长度包括长度】【功能码】【地址码】【状态码】【可能是什么内容校验码】
AE D0 09 02 01 00 01 01 8C


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 4
支持
分享
最新回复 (4)
雪    币: 1037
活跃值: (1780)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错
2024-1-11 14:53
0
雪    币: 3607
活跃值: (4719)
能力值: ( LV13,RANK:437 )
在线值:
发帖
回帖
粉丝
3
2024-1-12 13:18
0
雪    币: 1187
活跃值: (4277)
能力值: ( LV5,RANK:69 )
在线值:
发帖
回帖
粉丝
4
666
2024-1-13 07:47
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
tql
2024-1-14 23:06
0
游客
登录 | 注册 方可回帖
返回
//