基于精简物联网通信协议的物联网系统的通信方法与流程

文档序号:11234873阅读:961来源:国知局
基于精简物联网通信协议的物联网系统的通信方法与流程

本发明涉及物联网领域,特别涉及一种基于精简物联网通信协议的物联网系统的通信方法。



背景技术:

zigbee通信协议适应无线传感器的低花费、低能量、高容错性等的要求。zigbee的基础是ieee802.15.4。但ieee仅处理低级mac层和物理层协议,因此zigbee联盟扩展了ieee,对其网络层协议和api进行了标准化。zigbee是一种新兴的短距离、低速率的无线网络技术,主要用于近距离无线连接。它有自己的协议标准,在数千个微小的传感器之间相互协调实现通信。在物联网或智能家居系统中,目前zigbee通信协议产品较多,但是这个协议本身比较复杂,需要跑在操作系统上,导致无法做到真正的低功耗,另外zigbee协议一定需要协调器才能组网工作。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种能节省发送及处理时间、可靠性较好、工作稳定性较高、有效降低应用过程中重码的问题、能实现低功耗的基于精简物联网通信协议的物联网系统的通信方法。

本发明解决其技术问题所采用的技术方案是:构造一种基于精简物联网通信协议的物联网系统的通信方法,应用于物联网系统,所述物联网系统包括移动终端的app、网关、协调器、多个路由器和多个终端设备,所述协调器通过uart接口与所述网关连接,所述协调器还直接与多个所述路由器和多个所述终端设备连接,所述协调器还通过所述路由器与其他的所述路由器或终端设备连接,所述方法包括如下步骤:

a)所述移动终端的app依次经过所述网关和uart接口给所述协调器发送符合at指令集数据格式的网络id分配指令,给所述协调器分配一个网络id;所述at指令集数据格式包括开始字符、地址、分隔符、命令符、数值和结束符,所述开始字符为=,所述结束符为#,所述网络id为9位十进制数,转换成十六进制数后则为4字节的数据,所述网络id的高6位数字代表密码,所述网络id的低3位代表无线物理信道,所述网络id是能修改的;

b)所述移动终端的app依次经过所述网关和uart接口给所述协调器发送符合at指令集数据格式的注册启动命令;

c)长按所述终端设备的任何按键,所述终端设备按约定的无线物理信道发送上报数据给所述协调器,所述协调器收到所述上报数据后将所述终端设备添加到所述注册表,然后发送当前网络id给所述终端设备,通知所述终端设备修改网络id,并退出注册模式;

d)所述终端设备收到所述当前网络id后按照所述当前网络id和所述当前网络id中所包含的无线物理信道工作;

e)重复上述步骤b)至步骤d)的注册过程,直到所有的所述终端设备注册完成;

f)当所述协调器无法直接控制所述终端设备时,所述移动终端的app给对应的所述路由器发送包含节点id的路由改写命令,并使对应的所述路由器进入路由改写状态,然后发送包含设备id的命令,把所有需要经过路由的终端设备添加后,给对应的所述路由器发送包含所述节点id的结束命令,并使对应的所述路由器结束改写过程;所述设备id为9位十进制数,转换成十六进制后为4字节的数据,所述设备id是出厂固定的,所述设备id至少包括类型、模式和参数,所述设备id以开头的数字表示大类型,其后的数字表示小类型;所述网络id与所述设备id组成一个8字节的地址;

g)所述移动终端的app依次通过所述网关和uart接口将符合所述at指令集数据格式的控制指令发送给所述协调器,所述协调器将所述控制指令转换成物理层数据并发到空中;所述物理层数据包括4字节的引导码、4个字节的同步码、1个字节的数据长度、1个字节的包序列号、n字节的mac层数据和2个字节的crc校验位,所述n为大于1的整数;所述mac层数据包括帧头、网络id、数据格式、所述设备id、操作命令和数值;

h)所述终端设备收到所述物理层数据后,判断所述物理层数据中的mac层数据中所包含的设备id是否是自己的,如是,所述终端设备按照所述mac层数据中所包含的操作命令执行相应的操作,同时发送回应数据包给所述协调器,所述协调器收到所述回应数据包后将转换成符合所述at指令集数据格式的数据,并从所述uart接口输出;否则,丢弃所述物理层数据。

在本发明所述的基于精简物联网通信协议的物联网系统的通信方法中,所述网络id分配指令为=xxxxxxyyy,id#命令,所述注册启动命令为=999999999,r1#命令。

在本发明所述的基于精简物联网通信协议的物联网系统的通信方法中,每个所述协调器的网络id用所述移动终端的app生成或由所述网关的mac地址来生成,网络id相同的终端设备能进行通信。

在本发明所述的基于精简物联网通信协议的物联网系统的通信方法中,所述at指令集中的命令为大写字母或小写字母,所述大写字母代表是下行数据,所述小写字母代表是上行数据,0-64作为保留,所述at指令集中的数值为0-127,经过a2r转换后为0x80-0xff。

在本发明所述的基于精简物联网通信协议的物联网系统的通信方法中,所述终端设备通过注册的形式获得所述网络id,所述协调器先进入注册模式,等待所述终端设备进行注册,所述终端设备注册后,所述协调器存放设备注册表,注册期间所述协调器与所述终端设备之间采用约定的无线物理信道。

在本发明所述的基于精简物联网通信协议的物联网系统的通信方法中,所述同步码的字节长度为所述mac层数据长度加上1个字节的包序列号。

在本发明所述的基于精简物联网通信协议的物联网系统的通信方法中,所述路由器的路由功能能关闭,需要路由功能时,事先由所述移动终端的app选取后,依次经过所述网关和协调器后将路由功能写入到相应的所述路由器。

在本发明所述的基于精简物联网通信协议的物联网系统的通信方法中,按照所述设备id为所述终端设备进行地址的分配。

在本发明所述的基于精简物联网通信协议的物联网系统的通信方法中,所述协调器发出的下行命令中的设备id是目标终端设备的id,所述终端设备主动发送或响应协调器命令时的设备id是源地址。

实施本发明的基于精简物联网通信协议的物联网系统的通信方法,具有以下有益效果:由采用精简的at指令集,将传统at指令的开头字符“at”改为“=”,将回车换行字符改为“#”,这样就能节省发送以及处理时间,由于编码较短,在低功耗无线唤醒(wor)的系统中可以明显降低功耗,网络id为9位十进制数,转换成16进制数后则为4个字节,网络id可修改,网络id的高6位数字代表密码,低3位代表无线物理信道,由于有256个无线物理信道,采用人为选择信道的方式,其可靠性较好,工作稳定性较高,网络id与设备id组成一个8字节的地址,网络id是可以由用户修改的,设备id是出厂固定的,不可修改,采用这种方法可以有效降低应用过程中重码的问题,因此能节省发送及处理时间、可靠性较好、工作稳定性较高、有效降低应用过程中重码的问题、能实现低功耗。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明基于精简物联网通信协议的物联网系统的通信方法一个实施例中的流程图;

图2为所述实施例中对称网络拓扑结构的示意图;

图3为所述实施例中at指令集转换成十六进制数据的示意图;

图4为所述实施例中at指令集数据格式图;

图5为所述实施例中at指令集转mac层数据的示意图;

图6为所述实施例中mac数据转at指令集的示意图;

图7为所述实施例中物理层数据的数据格式图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明基于精简物联网通信协议的物联网系统的通信方法实施例中,该基于精简物联网通信协议的物联网系统的通信方法应用于物联网系统,该物联网系统包括移动终端的app、网关、协调器、多个路由器和多个终端设备,协调器通过uart接口与网关连接,协调器还直接与多个路由器和多个终端设备连接,协调器还通过路由器与其他的路由器或终端设备连接。该物联网系统采用中对称网络拓扑结构,该对称网络拓扑结构的示意图如图2所示,从图2中可以看出,每个系统只有一个协调器,协调器与网关(具体是网关的mcu)通过uart接口连接,协调器负责建立网络,并负责数据包的转换和转发。协调器内部设有注册表(即设备表),注册表在注册时建立。值得一提的是,该移动终端的app的名称可以为物联通信。

路由器是具有数据转发功能的节点,凡是带电源的节点都可以作为路由器(路由节点)。端节点是电池供电的设备,不具备路由功能。为了减低网络延时,只采用一级转发。路由器的路由功能可以关闭,需要路由功能时,需要路由的节点需要事先写入路由器,这个过程一般是在移动终端的app上选取后,依次经过网关和协调器后将路由功能写入到相应的路由器。

本实施例中,该基于精简物联网通信协议的物联网系统的通信方法的流程图如图1所示。图1中,该基于精简物联网通信协议的物联网系统的通信方法包括如下步骤:

步骤s01移动终端的app依次经过网关和uart接口给协调器发送符合at指令集数据格式的网络id分配指令,给协调器分配一个网络id:本步骤中,移动终端的app依次经过网关和uart接口给协调器发送符合at指令集数据格式的网络id分配指令(例如:=xxxxxxyyy,id#命令),并给协调器分配一个网络id。上述at指令集数据格式图如图4所示,图4中,该at指令集数据格式包括开始字符、地址、分隔符、命令符、数值和结束符,开始字符为=,结束符为#,该精简物联网通信协议采用精简的at指令集,将传统at指令的开头字符“at”改为“=”,将回车换行字符改为“#”,这样就节省了发送以及处理时间。这种at指令可以支持80%以上的物联网设备,可以参见后面描述的表1(稍后会对表1进行描述),这样可以大大简化开发难度。例如:移动终端的app通过uart接口给协调器发送=xxxxxxyyy,id#命令(例如:=641223170,id#),给协调器分配一个网络id。要求与物联网系统中的其他协调器的网络id不同,在近距离范围的无线通信信道要不同。为了安全性,网络id的分派原则是尽量随机,离散。

值得一提的是,本实施例中,网络id为9位十进制数xxxxxxyyy,转换成十六进制数后则为4字节的数据,网络id的高6位数字xxxxxx可以任意定义,代表密码,网络id的低3位yyy为0-255,代表无线物理信道,由于有256个无线物理信道,采用人为选择信道的方式,这个方式的可靠性较好,工作较为稳定,本发明与zigbee采取能量扫描来确定信道的方法不同。网络id的这种定义,使得密码与无线通信信道结合到一起,并可以用一个4字节的长整数来表示。每个协调器的网络id用移动终端的app生成或由网关的mac地址来生成,只有网络id相同的终端设备才能通信。值得的一提的是,网络id是能修改的。

步骤s02移动终端的app依次经过网关和uart接口给协调器发送符合at指令集数据格式的注册启动命令:本步骤中,移动终端的app依次经过网关和uart接口给协调器发送符合at指令集数据格式的注册启动命令,注册启动命令为=999999999,r1#命令。

步骤s03长按终端设备的任何按键,终端设备按约定的无线物理信道发送上报数据给协调器,协调器收到上报数据后将终端设备添加到注册表,然后发送当前网络id给终端设备,通知终端设备修改网络id,并退出注册模式:本步骤中,长按终端设备的任何按键,终端设备按约定的无线物理信道发送上报数据给协调器,协调器收到上报数据后将终端设备添加到注册表,然后发送当前网络id给终端设备,通知终端设备修改网络id,并退出注册模式。

步骤s04终端设备收到当前网络id后按照当前网络id和当前网络id中所包含的无线物理信道工作:本步骤中,终端设备收到当前网络id后,按照当前网络id和当前网络id中所包含的无线物理信道进行工作。

步骤s05重复上述步骤s02至步骤s04的注册过程,直到所有的终端设备注册完成:本步骤中,重复上述步骤s02至步骤s04的注册过程,直到所有的终端设备注册完成。

步骤s06当协调器无法直接控制终端设备时,移动终端的app给对应的路由器发送包含节点id的路由改写命令,并使对应的路由器进入路由改写状态,然后发送包含设备id的命令,把所有需要经过路由的终端设备添加后,给对应的路由器发送包含节点id的结束命令,并使对应的路由器结束改写过程:本步骤中,当协调器无法直接控制终端设备时,移动终端的app给对应的路由器发送包含节点id的路由改写命令,并使对应的路由器进入路由改写状态,然后发送包含设备id的命令,把所有需要经过路由的终端设备添加后,给对应的路由器发送包含节点id的结束命令,并使对应的路由器结束改写过程。假设协调器与设备id为730000222的终端设备较远而无法直接控制,需要节点id为730000111的路由器,则需要一个操作流程将730000222这个设备id写入到730000111的路由表。具体过程为:移动终端的app先给路由器发=730000111,zy#命令,进入路由改写状态,然后发送=730000222,wa#命令(如果要移除则给路由器发送=730000222,wm#命令),把所有需要经过路由的路由器添加后,给路由器发送=730000111,zx#命令结束改写过程。

值得一提的是,每个终端上设备均有一个设备id,设备id为9位十进制数,转换成十六进制后为4字节的数据,设备id是出厂固定的,不可修改,设备id至少包括类型、模式和参数,设备id以开头的数字表示大类型,其后的数字表示小类型;也就是说,不同类型的终端设备以开头的数字来区分,协调器在终端设备注册后,获取终端设备的设备id,并保存在注册表。

传统的通信协议包括源设备地址与目标设备地址,本发明的精简物联网通信协议经过简化,不同时使用这两个地址,只用一个地址,当数据下行时的地址是目标设备地址,而数据上行时的地址是源设备的地址。也就是说,协调器发出的下行命令中的设备id是目标终端设备的id,终端设备主动发送或响应协调器命令时的设备id是源地址。本实施例中,就是按照设备id为终端设备进行地址分配的。终端设备的地址分配表如表1所示,表1中,该精简物联网通信协议针对智能家居与物联网给各类设备做了地址分配,这样只需要设备id就能识别出设备类型与主要参数。表1的内容具体如下:

表1

本实施例中,网络id与设备id组成一个8字节的地址。网络id是可以由用户修改的,设备id是出厂固定的,不可修改。采用这种方法可以有效降低应用过程中重码的问题。即使设备id相同,只要网络id不同,也不会造成误控。

步骤s07移动终端的app依次通过网关和uart接口将符合at指令集数据格式的控制指令发送给协调器,协调器将控制指令转换成物理层数据并发到空中:本步骤中,当终端设备注册完成后,通过协调器就可以控制终端设备了。具体的,移动终端的app依次通过网关和uart接口将符合at指令集数据格式的控制指令发送给协调器,协调器将控制指令转换成物理层数据并发到空中,图3为本实施例中at指令集转换成十六进制数据的示意图,例如:当要控制一个三位开关,移动终端的app发送=735000133,m7#命令给协调器,协调器将=735000133,m7#命令转换成物理层数据(空中数据包)的格式为feaaca5b07544536cf2b4d87,然后发送到空中。

图7为本实施例中物理层数据的数据格式图,图7中,该物理层数据包括4字节的引导码、4个字节的同步码、1个字节的数据长度、1个字节的包序列号、n字节的mac层数据和2个字节的crc校验位,n为大于1的整数;其中,mac层数据包括帧头、网络id、数据格式、设备id、操作命令和数值。该精简物联网通信协议的特点是采用at指令集通信,经过转换成mac层数据的长度仅有12个字节,这种at指令集可以支持80%以上的物联网设备,可以大大简化开发难度。由于编码较短,在低功耗无线唤醒(wor)的系统中可以明显降低功耗,经过实际测试,本发明的功耗只有zigbee功耗的五分之一。

在物理层,空中速率可以自由定义,优选使用10k速率。同步码可以自由定义,同步码的字节长度为所述mac层数据长度加上1个字节的包序列号。当每发送1次,包序列号自动加1,在0-255之间循环。crc校验位的多项式可以选择crc-ccitt或crc-ibm,如果硬件不支持则采取软件计算。

值得一提的是,本实施例中,协调器在收到at指令集时,要转换成mac层数据并以rf方式发送,请参见图5。反之,接收到mac层的rf数据,则将其转化成at指令集并从uart接口输出,请参见图6。

步骤s08终端设备收到物理层数据后,判断物理层数据中的mac层数据中所包含的设备id是否是自己的:本步骤中,终端设备收到物理层数据后,判断物理层数据中的mac层数据中所包含的设备id是否是自己的,如果判断的结果为是,则执行步骤s09;否则,执行步骤s10。

步骤s09终端设备按照mac层数据中所包含的操作命令执行相应的操作,同时发送回应数据包给所述协调器,协调器收到回应数据包后将转换成符合at指令集数据格式的数据,并从uart接口输出:如果上述步骤s08的判断结果为是,则执行本步骤。本步骤中,终端设备按照mac层数据中所包含的操作命令执行相应的操作,同时发送回应数据包给协调器,协调器收到回应数据包后将转换成符合at指令集数据格式的数据,并从uart接口输出。例如:将三个灯点亮,同时发送回应数据包feaaca5b07544536cf2b6d87给协调器,协调器收到后将数据包转换成at命令=735000133,m7#并从uart接口输出。

步骤s10丢弃物理层数据:如果上述步骤s08的判断结果为否,则执行本步骤。本步骤中,丢弃物理层数据,进行查表处理。本发明能节省发送及处理时间、可靠性较好、工作稳定性较高、有效降低应用过程中重码的问题、能实现低功耗。

值得一提的,本实施例中,at指令集中的命令一般为大写字母或小写字母,大写字母代表是下行数据,小写字母代表是上行数据,0-64作为保留。at指令集中的数值为0-127,经过a2r转换后为0x80-0xff。在at指令集中,命令是1个字节,数据也是1个字节。

本实施例中,终端设备通过注册的形式获得网络id,协调器先进入注册模式,等待终端设备进行注册,终端设备注册后,协调器存放设备注册表,只有注册的终端设备才能控制。注册期间,协调器与终端设备之间采用约定的无线物理信道,无线物理信道可以自由约定。

总之,本发明中的精简物联网通信协议具有低功耗的特点,在无协调器的情况下,终端设备之间可以对码控制,该精简物联网通信协议可以用在物联网产品上,该精简物联网通信协议可以命名为allgo协议。本发明能节省发送及处理时间、可靠性较好、工作稳定性较高、有效降低应用过程中重码的问题、能实现低功耗。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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