『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 9875|回复: 0

[求助] 关于用tasmota固件的串口通讯数据解析问题

[复制链接]

4

主题

55

帖子

297

积分

中级会员

Rank: 3Rank: 3

积分
297
金钱
242
HASS币
0
发表于 2021-4-6 16:13:21 | 显示全部楼层 |阅读模式
本帖最后由 NGDD 于 2021-4-6 16:35 编辑

    我有一个旧的智能插座,里面是一个ATT7039AU+ZigBee芯片的带计量的插座。原配的是7039自带的51单片机和ZigBee的通讯芯片之间用串口通讯,完全无厂家的任何技术资料可查阅。因原来的APP已经失效,故我用esp8266芯片刷tasmota固件替换了里面的ZigBee芯片,目前通过截获串口通讯已经实现了遥控分合闸功能,就是还没有实现电压电流有功数据的传送功能。目前已知的电压电流有功查询模式就是通过串口通讯用HEX格式发送7E0010810000C900FEFEFEFE68010001006A16D3这一串数据给att7039之后,得到的就是"7E00260103000000FEFEFEFE6801008116D6083100000700000000000000003C21021B000000009016CD"这一串数据。收到的这串数据里面就包含了电压电流有功和电量等数据。请问一下大神,在不知道任何通讯协议的情况下,如何去解析这一串数据里面得到的哪些是电压电流有功这些数据?如何在tasmota固件里面设置解析这些数据?当然,我问的是设置方法,具体肯定还是需要不断的尝试的。只是我现在连设置方法都不知道。希望有人能帮忙说明一下。比如说设置什么是可以截取里面的某个字段作为某个数据,某个数据是校验位不用管之类的。谢谢!

目前已知的是收到多条信息可以对比查看。以下是两条比较典型的信息第一条属于空载状态的信息,第二条属于有负载状态的信息,里面的电量计量都是有不相同的底数的。
{"SSerialReceived":"7E00260103000000FEFEFEFE6801008116D6083100000700000000000000003C21021B000000009016CD"}
{"SSerialReceived":"7E00260103000000FEFEFEFE6801008116D508EE0100540400000000000000D4D5051B00000000ED1613"}
{"SSerialReceived":"7E00260103000000FEFEFEFE6801008116D5083D0200070500000000000000E8D5051B000000000516E3"}
{"SSerialReceived":"7E00260103000000FEFEFEFE6801008116D408EE01003F0400000000000000E8D5051B00000000EB1617"}
{"SSerialReceived":"7E00260103000000FEFEFEFE6801008116D508E30100310400000000000000E8D5051B00000000D31647"}
{"SSerialReceived":"7E00260103000000FEFEFEFE6801008116D108E401002F0400000000000000FCD5051B00000000E21629"}
{"SSerialReceived":"7E00260103000000FEFEFEFE6801008116D008890200980500000000000000FCD5051B00000000F1160B"}
{"SSerialReceived":"7E00260103000000FEFEFEFE6801008116D208E101002D0400000000000000FCD5051B00000000DE1631"}

通过多次获取返回数据对比可以看到前面一段数字是完全相同的,后面的有部分不相同。





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 10:02 , Processed in 0.059942 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表