gpt4 book ai didi

checksum - 我如何计算这个校验和?

转载 作者:行者123 更新时间:2023-12-05 05:28:36 28 4
gpt4 key购买 nike

我有一个警报系统,我已将其配置为通过以太网向我的手机发送 SMS 消息。

这是我收到的一些短信:

5522 18 1137 00 003 1C76
5522 18 3137 00 003 3278
5522 18 1130 00 002 E36E
5522 18 1401 00 001 ED6E
5522 18 1302 00 003 ED70
5522 18 1302 00 004 EE71
5522 18 1302 00 009 F376
5522 18 3147 00 009 417F
5522 18 1137 00 004 1D77
5522 18 3137 00 009 3379
5522 18 1602 00 000 0870

前4个字节是帐号,接下来的2个总是18,接下来的4个是事件代码,2个组字节和3个区号。最后有 4 个字节,我怀疑这是某种校验和。

这是某种 Ademco 联系 ID 格式。但是,我不认识校验和。它不是时间戳,因为最后一条消息 (0870) 会定期发送并且始终相同。

当通过 DTMF 发送时,0 的值应该为 10,但我不知道 SMS 是否属于这种情况。很可能不会。

最佳答案

Ademco Contact ID 中的校验和公式使用以下公式计算:

S= 十六进制校验和,是一位数。

(所有消息数字的总和 + S)MOD 15 = 0

如果值等于 10,则校验和位为 0。官方联系 ID 规范在这里:http://li0r.files.wordpress.com/2012/07/sia-dc-05-1999-09_contact_id.pdf

因此,以 5522 18 1602 00 000 0870 为例:

LET C = checksum

5+5+2+2+1+8+1+6+2=32

(32+S) modulo 15 is congruent to 0

然后我们需要 15 的最接近倍数,高于 32,即 45。

45-32=13

让我们测试一下。

45 modulo 15 is congruent to 0

但是这是正确的,因为 Contact ID 是 16 位数字,而您有 19 位,我怀疑您的面板使用的是 Contact ID 的不同专有实现。如果您发布它来自的面板的品牌/型号,我也许可以进一步解释。

我希望这能回答您的问题!

-亚历克斯

P.S.:要计算模数,请在 Google 中使用百分号P.P.S: 描述Contact ID的文档其实是:DC-05-1999.09 你引用的文档其实是计算机接口(interface)通信协议(protocol)规范。

关于checksum - 我如何计算这个校验和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9646382/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com