基于微网协议的微网构建法的制作方法

文档序号:11961826阅读:来源:国知局

技术特征:

1.基于微网协议的微网构建法,其特征在于,该方法包括以下步骤:

(1)建设通讯协议:组网协议以工业标准Modbus-RTU为蓝本,包含目标地址、源地址、指令类型、标识位、序列号、数据长度、数据体、校验、生存周期等部分组成;

(2)实现通讯协议:以广播网为基础,协议指令格式设定在32字节或64字节以内;

(3)通讯方式设定:通过外网连接实现网关与云端服务器之间的通讯网络;

(4)系统指令设定:包括组网、心跳、时间同步以及内存操作。

2.根据权利要求1所述的基于微网协议的微网构建法,其特征在于,所述步骤(1)还包括以下步骤:

(1-1)网关:每个网关负责管理一个广播子网,为每一个组网节点分配子网地址,在无线通信中 ,一般不同子网采用不同无线通道 ,避免子网冲突影响通信效率,网关工作在组网模式时 ,监听组网通道内自由节点的入网申请消息,授权自由节点加入网关所在子网,并统一分配节点地址和随机密钥,网关工作在工作模式时 ,与所有节点的通讯均使用专有密钥加密;

(1-2)节点:设定具有收发数据包的功能的普通网络节点,刚出厂未加入任何子网的节点成为自由节点 ,默认工作在组网通道,等待网关出现,并请求加入,收到网关准许入网的许可后,节点记录分配得到的地址和通信密钥;

(1-3)中继:设定特殊的网络节点,用于扩大无线网络覆盖,收到非自己的数据包后,根据TTL字段判断是否进行中继转发,中继作为普通节点,也需要加入网关子网,中继功能单一,有时候直接在普通功能设备上实现中继功能,此类设备一般需要有较好的电源供应,以及较强的信号覆盖。

3.根据权利要求1所述的基于微网协议的微网构建法,其特征在于,所述步骤(2)还包括以下步骤:

(2-1)请求应答:组网基本模型采用请求应答机制,网络中任意一个节点均可主动发起请求 ,接收者可根据指令类型选择不应答、正常应答和错误应答;

(2-2)指令格式:内网组网由设备节点和网关组成,基于多种有线无线通信方式 ,甚至处于一个广播网络之中;

(2-3)地址:地址0表示广播,所有节点都接收,源地址不能是0,地址255保留,暂不适用,源地址和目的地址不能相同,节点地址根据硬件标识自动生成,组网后由网关统一分配;

(2-4)指令类型:指令类型采用 1个字节,数值范围 1~127,128及以上将来作为多字节指令扩展,响应数据的指令类型必须与请求指令一致,16以下指令由微网保留作为系统指令,用户自定义指令从16算起;

(2-5)标识位:1个字节作为标识位,用于管理维护通讯中需要的各种标识,Reply是否响应,用于标识是请求指令还是响应指令Error是否错误,用于标识是否错误请求 ,一般错误指令同时也是响应指令,负载数据指示具体错误内容,比如Crc校验错误,Ack是否确认包,确认包不带负载数据,仅用于告诉发送方已收到数据,NoAck是否需要确认,指示接收方不需要发送Ack确认包;

(2-6)序列号:1字节序列号,用于确定指令在源设备上的唯一性,所有节点以及中继均依靠源地址和消息序列号来确定消息的唯一性,每个设备最大可产生256个序列号 ,网络中短时间内不可能产生具有相同序列号的不同指令包;

(2-7)数据部分:数据长度范围0~127 ,128及以上表示采用7位压缩编码整数扩展,数据长度指明后续数据部分的字节数;

(2-8)数据校验 :默认采用CRC16校验指令前面部分,各系统根据需要可能更换校验算法或者加盐实现数字签名;

(2-9)生存期TTL: 生存期TTL用于路由转发非本机数据包,以实现无线组网延伸覆盖范围的功能,每个节点收到数据包后,若非本机数据包,则把TTL减 1,如果大于0 ,则延迟随机时间后继续向外发出,每个节点可设置是否支持TTL ,以免因TTL浪费处理能力以及功耗,TTL不参与指令主体校验,也不参与加密;

(2-10)加密保护 :为了保证通信的安全,指令在传输过程中加密,一般采用异或或者RC4加密,加密范围:除目标地址、源地址、数据长度外,全部加密,目的地址不能加密,否则无法识别这是谁的数据包,也就无法解密,TTL也不加密,否则无法中继路由,因为序列号被加密,中继路由时,可根据源地址和已加密的序列号配对来识别重复消息,加密密码具有有效期,由网关生成并分配。

4.根据权利要求1所述的基于微网协议的微网构建法,其特征在于,所述步骤(3)还包括以下步骤:

(3-1)入网发现0x01:

请求:2设备类型+12ID+4CPUID+2 DevID+2RevID,

响应:1 地址+1 通道+8 密码;

(3-2)心跳指令0x02 :

请求:1 子功能码+N 数据;

响应:N 数据;

(3-3)时间同步0x03:

请求:8 时间,

响应:8 时间;

(3-4)内存基址0x04 :

请求:4 基址,

响应:4 基址;

请求空数据时仅读取当前基址,作为操作内存时的基础地址,一般最后一个字节为0,内存基址加上1个字节的偏移,即为实际操作内存的地址;

(3-5)读取内存0x05:

请求:1 偏移+1 数量,

响应:N 数据;

实际操作内存位于内存基址(0x04指令设定)加上偏移;

(3-6)写入内存0x06:

请求:1 偏移+1 数量+N 数据,

响应:1 成功数量;

实际操作内存位于内存基址(0x04指令设定)加上偏移;

(3-7)擦除内存0x07:

请求:1 偏移+1 数量,

响应:1 成功数量;

实际操作内存位于内存基址0x04指令设定加上偏移。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1