随笔分类 -  IoT

摘要:本文代码有些许问题,处理方案见:解决 spring-integration-mqtt 频繁报 Lost connection 错误 一、添加配置 spring: mqtt: client: username: 用户名 password: 密码 serverURIs: tcp://ip:port # 阅读全文
posted @ 2019-12-03 17:13 VictorBu 阅读(7508) 评论(0) 推荐(0) 编辑
摘要:| 类型 | 长度(位) | 取值范围 | 描述 | | | | | | | BOOL | 1 | 0/1 | 布尔型 | | BYTE | 8 | 0x00~0xFF | 十六进制数 | | WORD | 16 | 0~65535 | 无符号整数 | | DWORD | 32 | 0~429496 阅读全文
posted @ 2019-04-26 15:28 VictorBu 阅读(2249) 评论(0) 推荐(0) 编辑
摘要:算法 1. CRC16 校验寄存器赋值为 0xFFFF; 2. 取被校验串的第一个字节赋值给临时寄存器; 3. 临时寄存器与 CRC16 校验寄存器的 高位 字节进行“异或”运算,赋值给 CRC16 校验寄存器; 4. 取 CRC16 校验寄存器最后一位赋值给检测寄存器; 5. 把 CRC16 校验 阅读全文
posted @ 2019-02-17 22:55 VictorBu 阅读(1529) 评论(0) 推荐(0) 编辑
摘要:算法 1.预置一个值为 0xFFFF 的 16 位寄存器,此寄存器为 CRC 寄存器。 2.把第 1 个 8 位二进制数据(即通信消息帧的第 1 个字节)与 16 位的 CRC 寄存器相异或,异或的结果仍存放在该 CRC 寄存器中。 3.把 CRC 寄存器的内容右移一位,用 0 填补最高位,并检测移 阅读全文
posted @ 2019-02-17 22:34 VictorBu 阅读(1448) 评论(0) 推荐(0) 编辑
摘要:本文已收录至: "开源 DotNetty 实现的 Modbus TCP/IP 协议" Client (文中代码仅添加了 0x03 的方法) 在 Client 中封装了 Modbus 请求方法,对同一个功能同时有同步方法(ReadHoldingRegistersAsync)和异步方法(ReadHold 阅读全文
posted @ 2019-02-14 14:53 VictorBu 阅读(4192) 评论(0) 推荐(2) 编辑
摘要:本文已收录至: "开源 DotNetty 实现的 Modbus TCP/IP 协议" DotNetty 作为一个半成品,我们不需要关注细节的实现,只需要关注自己的业务即可,所以最主要的就是处理 Codecs 和 Handler。 所有的 Codecs 和 Handler 均直接或间接继承自 Chan 阅读全文
posted @ 2019-02-14 08:36 VictorBu 阅读(2569) 评论(0) 推荐(0) 编辑
摘要:本文已收录至: "开源 DotNetty 实现的 Modbus TCP/IP 协议" ModbusFunction 类图如下: 如前文所述,所有请求/相应的 PDU 均继承自 ModbusFunction,其子类传入对应的 Function Code 并实现三个方法: 1. CalculateLen 阅读全文
posted @ 2019-02-13 16:00 VictorBu 阅读(2310) 评论(1) 推荐(2) 编辑
摘要:本文已收录至: "开源 DotNetty 实现的 Modbus TCP/IP 协议" Modbus TCP/IP 报文 + 报文最大长度为 260 byte (ADU = 7 byte MBAP Header + 253 byte PDU) + Length = Unit Identifier 长度 阅读全文
posted @ 2019-02-13 15:06 VictorBu 阅读(4025) 评论(0) 推荐(1) 编辑
摘要:本项目的目的是为了学习 DotNetty 与 Modbus 协议,参考 "modjn" 实现功能 + 0x01: Read Coils (读取线圈/离散量输出状态) + 0x02: Read Discrete Inputs (读取离散量输入值) + 0x03: Read Holding Regist 阅读全文
posted @ 2019-01-31 16:39 VictorBu 阅读(5590) 评论(3) 推荐(5) 编辑