1、 智能家电控制器通信协议 拟订日期 2010-12-10 撰写:黄家权 版本 V1.0 基本通信设置 RS232异步串行通讯: 8数据位, 1停止位,无校验位,波特率: 19200bps,全双工。 帧格式 帧头标志域 (4Byte) 帧数据长度域 (1Bytes) 帧数据域 (XBytes) 校验域 (1Byte) 一、数据传输格式定义 各域之含义: 帧标志域 固定的 4字节数据 ,: 0X5A 0X53 0X50 0X54 (ZSPT) 此帧是为了在连续的数据流中能准确检测出每帧的数据 为了防止在帧标志域后面 的数据中出现上面的 4 字节数据本来还需要做进一步的处理 , 在这里为了开发的简单
2、省略了 帧数据长度域 由帧数据域开始,至校验(包含校验字节)的字节数 帧数据域 包含各种操作命令与相关参数 校验域 由帧长度开始,至帧数据域最后一个字节结束,每个字节相加取低 8位 ,相加的结果求反 ,并且加 1 发送顺序:由左至右,帧头标志域、帧数据长度域、帧数据域,最后是校验域。 命令例中,红色为操作命令,主机为电脑,从机为单片机 约定: 1每次主机向从机发送命令, 从机必须 在 500ms内 答复。 若从机接收 到命令 后校验失败 则忽略此命令, 不 答复。主机在 500ms 内没有接收到从机答复 或者 接收到的回复 校验失败 则再次发送命令,最大尝试次数为 10,否则主机报错。 2 每
3、次从机向主机发送请求,主机必须在 500ms内答复。若主机接收到请求后校验失败则忽略此请求,不答复。从机在 500ms 内没有接收到主机答复或者接收到的回复校验失败则再次发送请求,最大尝试次数为 10,否则从机报警。 3 异常通知 格式: 0X5A 0X53 0X50 0X54 0x03 0xff ERR LRC 二 、 帧数据域 2.1主机通知从机复位并初始化,从机开始工作 主 机发送: 0X5A 0X53 0X50 0X54 0x02 0x01 0xfd 从机接收到此命令,复位并重新初始化设备,初始化完成后, 如果硬件设备正常从机 回复 : 0X5A 0X53 0X50 0X54 0x03
4、 0x01 0x00, 0xfc 如果硬件设备异常从机 回复 : 0X5A 0X53 0X50 0X54 0x03 0xff ERR LRC 非 0的数字 ERR表示错误代码 【 详见 附录一 错误代码 】 2.2查询设备总数 主机发送 0X5A 0X53 0X50 0X54 0x02 0x02 0xfc 从机接收到此 命令,开始向主机发送其已知 (成功检测到) 的设备 总数 从机 回复 已知设备总数量 0X5A 0X53 0X50 0X54 0x03 0x02 TEN LRC TEN代表设备数量,最大设备数 255个 2.3要求发送设备列表 主机 发送 0X5A 0X53 0X50 0X54
5、 0x03 0x03 SN LRC要求发 送 设备 列表 表中 序号为 SN号的设备信息 , SN代表设备 表中的 序号,由 01开始,最大为 TEN, 设备 列 表由从机初始化后创建并维护 ) 从机 回复 0X5A 0X53 0X50 0X54 0x06 0x03 SN IDH IDL ST LRC SN设 备序号 (由 01开始 ), IDH IDL 设备 ID( 两 字节) , ST 状态字,【状态字详见 附录三 设备状态字 】) 【设备 ID编号规则详见 附录二 设备 ID】 2.4 设置设备状态 主机发送 0X5A 0X53 0X50 0X54 0x05 0x04 IDH IDL S
6、T LRC IDH IDL 设备 ID ST 设备状态 【详见 附录三 设备状态字 】 成功设置,从机回复原命令 0X5A 0X53 0X50 0X54 0x05 0x04 IDH IDL ST LRC 否则,从机通知异常 2.5 查询设备状 态 主机发送 0X5A 0X53 0X50 0X54 0x04 0x05 IDH IDL LRC IDH IDL 设备 ID 从机回复 0X5A 0X53 0X50 0X54 0x05 0x05 IDH IDL ST LRC 附录一 错误代码 ERR 错误代码 含义 详解 处理 0x01 拒绝访问 系统忙碌, 禁止初始化或重启。例如当某些设备正在运行时无
7、法中断,否则容易损坏该设备。 主机重发命令,最大重试次数 10 次。否则报错“系统忙碌, 请 稍后再试。” 0x02 初始化失败 出现硬件错误,系统无法完成初始化工作 主机报警,关闭所有控制功能 0x03 系统无法写入指定的设备 指定的设备拒绝 改变状态 。 主机重发命令,最大重试次数 10 次。否则报错“指定的设备忙碌,请稍后再试。” 0x04 系统无法读取指定的设备 指定的设备状态无法确定。 主机重发命令,最大重试次数 10 次。否则报错“指定的设备运转中,请稍后再试。” 0x05 系统找不到指定的设备 指定的设备不存在或已切断电源 主机报错“指定的设备不存在或已切断电源,请检查。” 附录
8、二 设备 ID IDH 类别识别编码( 8bits) 8 7 6 5 4 3 2 1 电气特性 电器种类 电气特性: 编码 名称 说明 000 瞬间开关系列 仅可控制电源开关两种状态,且开关动作瞬时完成 。例如荧光灯具。 001 延时开关系列 仅可控制电源开关两种状态,且开关动作需延时完成 。例如电动投影幕。 010 瞬间开关且具 连续 多种状态 具连续多种状态可控,且开关动作瞬时完成。例如可调亮度灯具。 011 延时开关且具 连续 多种状态 具连续多种状态可控,且开关动作需延时完成。例如电动窗帘。 110 瞬间开关且具不连续多种状态 具不连续多种状态可控,且开关动作瞬时完成。 例如监控摄像头。 111 延时开关且具不连续多种状态 具不连续多种状态可控,且开关动作需延时完成。 电器种类: 编码 名称 说明 00000 智能插座 00001 灯 00002 窗帘 00003 多媒体 00004 厨房用具 00005 安全监控 IDL设备序号( 8bits) 最多 256个设备。 附录三 设备状态字 ST 8 7 6 5 4 3 2 1 开关 状态描述编码 开关: 0:关闭(待机) 1:开启 状态描述编码: 针对具有连续状态的,状态描述编码为从 0x000x7f 共 128级连续线性可调状态。 针对具有不连续状态的,根据其功能不同,为 128个不同的命令。