点击对讲机屏幕智能家居灯光模块,对应灯打开或关闭。
笔者发现房屋自带的楼宇对讲机里有智能家居模块,想要将这块屏幕接入使用它控制灯光设备。
使用该设备的屏幕操作控制灯光,后面再控制空调,灯光,场景。
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 06ae d0 08 82 01 00 00 09ae d0 08 82 01 00 01 0aae d0 08 82 01 00 02 0bae d0 08 82 01 00 03 0cae d0 08 82 01 00 04 0dae d0 08 82 01 00 05 0eae d0 08 82 01 00 06 0fae d0 08 82 01 00 07 10ae d0 08 83 01 00 00 0aae d0 08 83 01 00 01 0b
点亮第2盏灯时RX:ae d0 06 81 01 06ae d0 08 82 01 00 00 09ae d0 08 82 01 00 01 0aae d0 08 82 01 00 02 0bae d0 08 82 01 00 03 0cae d0 08 82 01 00 04 0dae d0 08 82 01 00 05 0eae d0 08 82 01 00 06 0fae d0 09 02 01 00 01 01 8cae d0 08 82 01 00 07 10ae d0 08 83 01 00 00 0aae d0 08 83 01 00 01 0b测试其它项。
猜测灯状态改变包数据结构:【帧头】【帧长度包括长度】【功能码】【地址码】【状态码】【可能是什么内容校验码】 AE D0 09 02 01 00 01 01 8C
状态码:00为关灯,01为开灯。(串口是开始位和结束位,实际应该是D0开头,AE结束?不过不影响翻译控制了。笔者的关于串口的知识都是来自搜索引擎)
配置透传MQTT,路由485: 在HA中查看MQTT:
经过上面的分析,可以设置为开头D0,结尾AE,组成帧,这样每一帧就会是一条MQTT消息。以便直接提取控制指令。
在HA中查看MQTT就会是多条消息:
在HA自动化里配置MQTT的PAYLOAD触发,对应灯的开关。
在多点控制时,没找到怎么去更新控制屏幕灯状态的发包,这样屏幕上显示的灯的状态可能和实际灯的状态不一致。推测什么都不做发的功能码8201是查询灯状态的包,但是搞不出来有效的回应包。或者这个玩意儿,就是这样子的,先天只能单点控制。
硬件厂家 产品狄X 楼宇对讲机AB-280M-S6001HF 串口服务器淘宝 杜绑线淘宝 面包板淘宝 RJ45网线淘宝 12V电源,3.3V\5V供电模块(焊接出12V)
软件TCP&UDP测试工具(HF),IOTsevice(HF),Home assistant,MQTT。
数字对讲系统AB-6C-902的S4款免提可视室内分机 - 拆机乐园 - 技术知识分享平台https://www.mydigit.cn/thread-113719-1-1.htmlwww.mydigit.cn
ModBus RTU、ModBus ASCII、ModBus TCP,它们有什么区别?https://baijiahao.baidu.com/s?id=1754082726738612098&wfr=spider&for=pcbaijiahao.baidu.com
Automation based on MQTT topic [Solved] - Configuration - Home Assistant Communityhttps://community.home-assistant.io/t/automation-based-on-mqtt-topic-solved/278674community.home-assistant.io
RS-485总线实现智能家居网络系统--葫芦电子社区https://huluic.cn/article/g1e6b7b9f3h808396.htmlhuluic.cn
HF的接线用右https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E7%BD%91%E7%BA%BF%E6%8E%A5%E6%B3%95&hs=0&pn=1&spn=0&di=7264239678495129601&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&ie=utf-8&oe=utf-8&cl=2&lm=-1&cs=2058755765%2C2392769711&os=390488556%2C1218698607&simid=4227153925%2C631611550&adpicid=0&lpn=0&ln=30&fr=ala&fm=&sme=&cg=&bdtype=0&oriquery=%E7%BD%91%E7%BA%BF%E6%8E%A5%E6%B3%95&objurl=https%3A%2F%2Fimg.mp.itc.cn%2Fupload%2F20161108%2F53774df3062b4a779946da2a04cbd60c_th.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3F4p_z%26e3Bf5i7_z%26e3Bv54AzdH3Fda8m88abAzdH3Fg90dmd9da0_z%26e3Bfip4s&gsm=&islist=&querylist=&dyTabStr=MCwzLDIsMSw0LDYsNSw3LDgsOQ%3D%3Dimage.baidu.com
https://wenku.baidu.com/view/8974d421996648d7c1c708a1284ac850ad0204b8?aggId=8974d421996648d7c1c708a1284ac850ad0204b8&fr=catalogMain_wenku.baidu.com
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法