- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个警报系统,我已将其配置为通过以太网向我的手机发送 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/
如何在 PHP 中生成 CRC-8 校验和? 最佳答案 function crcnifull ($dato, $byte) { static $PolyFull=0x8c; for ($i=0
我正在编写代码来使用 32 位无符号整数计算 CRC16。当尝试打印执行 CRC 操作的 XOR 函数的返回值时,它总是打印 0。我尝试了各种调试方法,例如打印语句,但是,我似乎无法弄清楚! 这是我的
ThinkPHP3.2.3验证码显示、刷新、校验 ,具体如下: 显示验证码 首先在Home/Controller下创建一个公共控制器PublicController
我想将自定义验证绑定(bind)到 TimePicker 自定义控件,但下面的代码显示“无法将内容添加到 TimePicker 的对象类型。”。
目录 Spring 校验(validator,JSR-303)实现 什么是JSR-303规范 与Spring MVC结合 实体类添加
导包和配置 导入 JSR 303 的包、hibernate valid 的包 ?
我是一名优秀的程序员,十分优秀!