掌桥专利:专业的专利平台
掌桥专利
首页

一种物联网通信方法、系统、物联网设备及云端

文献发布时间:2023-06-19 09:43:16


一种物联网通信方法、系统、物联网设备及云端

技术领域

本发明涉及物联网通信技术领域,更具体地说,涉及一种物联网通信方法、系统、物联网设备及云端。

背景技术

当前在物联网设备中通常采用的IoT通讯协议为了节约带宽,通常采用二进制格式收发数据。如WI-FI模组UART通讯方式数据格式包括帧头、校验、命令类型、数据长度、协议版本和数据区组成。而云端服务器与APP或Web后台之间的数据通信通常采用JSON格式,为了实现数据的转换,当前通常采用在云端加载与物联网设备对应的脚本数据,以根据脚本数据解析该二进制数据,实现JSON格式的转换,其针对不同的物联网设备要添加不同的脚本。每次设备均需要制做对应的脚本,其过程复杂,工作量大,极其不方便。

发明内容

本发明要解决的技术问题在于,针对现有技术的上述部分技术缺陷,提供一种物联网通信方法、系统、物联网设备及云端。

本发明解决其技术问题所采用的技术方案是:构造一种物联网通信方法,包括前置处理过程和通信数据处理过程;

所述前置处理过程包括以下步骤:

S11、获取物联网设备对应的可执行指令,并获取所述可执行指令对应的指令数据属性;

S12、根据所述物联网设备的设备协议对所述指令数据属性排序以得到所述可执行指令对应的指令数据属性排序;

S13、根据所述可执行指令与所述指令数据属性排序生成所述可执行指令对应的二进制字节命令对应关系;

所述通信数据处理过程包括:

S21、接收所述物联网设备的上行数据以获取所述上行数据中的自定义数据区;

S22、根据所述二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性以生成JSON通信数据;

S31、接收所述物联网设备对应的下行数据以获取所述下行数据中的执行指令;

S32、根据所述执行指令从所述二进制字节命令对应关系中获取所述执行指令的指令数据属性排序;

S33、获取所述下行数据中的执行指令的指令数据属性以根据所述执行指令及其对应的所述指令数据属性排序生成二进制通信数据。

优选地,所述可执行指令包括与所述上行数据对应的第一可执行指令和与所述下行数据对应的第二可执行指令;

所述方法还包括:

对第一可执行指令的指令数据属性和所述第二可执行指令的指令数据属性分别排序以得到所述第一可执行指令对应的第一指令数据属性排序和所述第二可执行指令对应的第二指令数据属性排序;

根据所述第一可执行指令及所述第一指令数据属性排序生成所述第一可执行指令对应的第一二进制字节命令对应关系,根据所述第二可执行指令及所述第二指令数据属性排序生成所述第二可执行指令对应的第二二进制字节命令对应关系;

在所述步骤S22中,所述根据所述二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性以生成JSON通信数据;

包括:根据所述第一二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性以生成JSON通信数据;

在所述步骤S32中,所述根据所述执行指令从所述二进制字节命令对应关系中获取所述执行指令的指令数据属性排序;包括:根据所述执行指令和所述第二二进制字节命令对应关系获取所述执行指令的第二指令数据属性排序;

在所述步骤S33中,所述获取所述下行数据中所述执行指令的指令数据属性以根据所述执行指令及其对应的所述指令数据属性排序生成二进制通信数据;包括:根据所述执行指令及第二指令数据属性排序生成为二进制通信数据。

优选地,在所述步骤S22中,所述根据所述二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性;包括:

获取所述上行数据中的自定义数据区中的第一字节,根据所述第一字节获取所述上行数据对应的执行指令。

优选地,在所述步骤S21中,所述根据所述二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性;还包括:

获取所述上行数据中的自定义数据区中的第一字节之后的有效字节及有效字节的位置,根据所述有效字节的位置从所述二进制命令关系表中获取对应的指令数据属性。

优选地,所述前置处理过程还包括以下步骤:

对所述物联网设备对应的可执行指令排序以得到指令排序;

根据所述可执行指令的所述指令排序和所述可执行指令的指令数据属性排序生成所述二进制字节命令对应关系。

优选地,所述根据所述可执行指令的所述指令排序和所述可执行指令的指令数据属性排序生成所述二进制字节命令对应关系;包括:

根据所述指令排序设置所述执行指令与所述自定义数据区的第一对应关系;

根据所述指令数据属性排序设置所述执行指令与所述自定义数据区的第二对应关系;

根据所述第一对应关系和所述第二对应关系生成所述二进制字节命令对应关系。

优选地,所述前置处理过程还包括:

获取所述物联网设备的设备属性,根据所述物联网设备的设备属性获取所述可执行指令;

根据所述设备属性、所述可执行指令与所述指令数据属性排序生成所述可执行指令对应的二进制字节命令对应关系;

所述通信数据处理过程还包括:

获取所述物联网设备的设备属性,以根据所述设备属性和所述上行数据对应的执行指令及其指令数据属性以生成JSON通信数据;或

获取所述物联网设备的设备属性,以根据所述设备属性和所述下行数据中的执行指令及其指令数据属性生成所述二进制通信数据。

本发明还构造一种物联网通信系统;包括:物联网设备和与所述物联网设备建立通信的云端;

所述物联网设备与所述云端之间通过如上面任一项所述的物联网通信方法通信。

本发明还构造一种物联网设备,应用于如上面所述的物联网通信系统,包括:

数据生成单元,用于分别生成指令数据和指令识别码以根据所述指令数据的指令数据属性和所述指令识别码对所述指令数据进行二进制封装以生成所述上行数据。

本发明还构造一种云端,应用于如上面所述的物联网通信系统,包括:

第一获取单元,用于获取物联网设备对应的可执行指令,并获取所述可执行指令对应的指令数据属性;

第二获取单元,用于根据所述物联网设备的设备协议对所述指令数据属性排序以得到所述可执行指令对应的指令数据属性排序;

第三获取单元,用于根据所述可执行指令与所述指令数据属性排序生成所述可执行指令对应的二进制字节命令对应关系;以及

第一接收单元,用于接收所述物联网设备的上行数据以获取所述上行数据中的自定义数据区;

第一执行单元,用于根据所述二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性以生成JSON通信数据;

第二接收单元,用于接收所述物联网设备对应的下行数据以获取所述下行数据中的执行指令;

第二执行单元,用于根据所述执行指令从所述二进制字节命令对应关系中获取所述执行指令的指令数据属性排序;

第三执行单元,用于获取所述下行数据中所述执行指令的指令数据属性以根据所述执行指令及其对应的所述指令数据属性排序生成二进制通信数据。

实施本发明的物联网通信方法、系统、物联网设备及云端,具有以下有益效果:兼容性强,使用方便。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明一种物联网通信方法一实施例的程序流程图;

图2是本发明一种物联网通信方法另一实施例的程序流程图;

图3是本发明一种物联网通信方法另一实施例的程序流程图;

图4是本发明一种物联网通信方法另一实施例的程序流程图;

图5是本发明一种物联网通信系统的一实施例的逻辑框图;

图6是本发明一种物联网设备的一实施例的逻辑框图;

图7是本发明一种云端的一实施例的逻辑框图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

如图1至图4所示,在本发明的一种物联网通信方法第一实施例中,包括前置处理过程和通信数据处理过程;前置处理过程包括以下步骤:

S11、获取物联网设备对应的可执行指令,并获取所述可执行指令对应的指令数据属性;具体的,在物联网设备通过云端与用户终端或用户平台通信时,对于明确的物联网设备,其通常可以知道该物联网设备的具有的功能,例如,对于空调设备,其具有温度设置功能、温度查询功能,以及告警功能等等,其可以理解,每一个功能的实现均对应着一次内部指令的执行以生成对应的通信数据,即根据物联设备进行对应的可执行指令的定义,并且在执行该指令时,其通信的数据即对应为该执行指令的指令数据属性。例如,空调设备中,其温度查询执行的动作对应为一可执行指令,温度查询的中给温度的定义即对应该可执行指令的指令数据属性,各不同定义温度的具体值为该指令数据。

S12、根据所述物联网设备的设备协议对所述指令数据属性排序以得到所述可执行指令对应的指令数据属性排序;具体的,在物联网设备确定时,其对应的设备协议也是确定的。即在可执行指令中指令数据属性对应为指令中不同指令数据的代表的含义,而根据根据设备协议定义,其在二进制数据传输中,其不同的数据位均需要事先定义的表达意义,在数据解读中中才能正确解析。因此,根据设备协议和指令数据属性的具体含义,获取指令数据属性在数据通信的排序。

S13、根据所述可执行指令与所述指令数据属性排序生成所述可执行指令对应的二进制字节命令对应关系;具体的,当物联网设备的可执行指令对应的指令数据属性排序已经设置完成后,即可以生成物联网设备的该可执行指令对应的二进制命名关系表,该二进制命令关系表即包含了该可执行指令的指令数据属性在二进制数据中的排序。也可以理解,在二进制字节命令对应关系中,其字节的排序即对应了指令数据属性。

所述通信数据处理过程包括:

S21、接收所述物联网设备的上行数据以获取所述上行数据中的自定义数据区;具体的,在物联网设备的上行数据中,根据基本的通信协议解析出其中对应的有效自定义数据区,其中有效自定义数据区与其对应有效数据信息对应,其可以为理解为不包含数据头的数据区。

S22、根据所述二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性以生成JSON通信数据;具体的,在从物联网设备的上行数据中获取有效的自定义数据区后,其根据有效自定义数据区和二进制字节命令对应关系获取到该上行数据对应的执行指令,例如上报查询的数据结果,并根据该执行指令从二进制命令关系中该执行指令中指令数据属性的排序,根据该排序依次生成该执行指令对应的JSON通信数据,该JSON通信数据与该物联网设备的上行数据形成了对应,连接云端的终端或WEb平台根据该JSON通信数据既可以解析得到物联网设备的上传信息。

S31、接收所述物联网设备对应的下行数据以获取所述下行数据中的执行指令;具体的,APP或者Web端的下发数据即对应为物联网设备的下行数据,该下发数据为JSON格式的数据。根据该下发数据获取获取该下发数据对应的执行指令,例如是对物联设备的设置命令。

S32、根据所述执行指令从所述二进制字节命令对应关系中获取所述执行指令的指令数据属性排序;具体的,根据该执行指令和预置的二进制字节命令对应关系获取到该指令数据属性对应的指令数据属性排序。

S33、获取所述下行数据中的执行指令的指令数据属性以根据所述执行指令及其对应的所述指令数据属性排序生成二进制通信数据。具体的,在获取到该执行指令对应的指令数据属性排序后,即可以将执行指令的指令数据依照指令数据属性排序生成二进制字节,同时对执行指令也生成对应的二进制字节,通过生成的二进制字节生成对应的有效数据,该有效数据加上与协议对应的数据头即形成了该功能属性对应的二进制通信数据,该二进制通信数据即可以下发至物联网设备进行解析动作。

在一实施例中,所述可执行指令包括与所述上行数据对应的第一可执行指令和与所述下行数据对应的第二可执行指令;本发明的物联网通信方法还包括:对第一可执行指令的指令数据属性和所述第二可执行指令的指令数据属性分别排序以得到所述第一可执行指令对应的第一指令数据属性排序和所述第二可执行指令对应的第二指令数据属性排序;根据所述第一可执行指令及所述第一指令数据属性排序生成所述第一可执行指令对应的第一二进制字节命令对应关系,根据所述第二可执行指令及所述第二指令数据属性排序生成所述第二可执行指令对应的第二二进制字节命令对应关系;在所述步骤S22中,所述根据所述二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性以生成JSON通信数据;包括:根据所述第一二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性以生成JSON通信数据;在所述步骤S32中,所述根据所述执行指令从所述二进制字节命令对应关系中获取所述执行指令的指令数据属性排序;包括:根据所述执行指令和所述第二二进制字节命令对应关系获取所述执行指令的第二指令数据属性排序;在所述步骤S33中,所述获取所述下行数据中所述执行指令的指令数据属性以根据所述执行指令及其对应的所述指令数据属性排序生成二进制通信数据;包括:根据所述执行指令及第二指令数据属性排序生成为二进制通信数据。

具体的,可以将物联网设备通信过程中其上传至云端的上行数据和接收来自云端的下行数据分开进行定义。其上行数据对应的指令例如查询指令、告警信息生成指令第一可执行指令,其下行数据对应的指令例如设置指令对应为第二可执行指令,其在具体的指令数据属性排序过程中,可以对第一可执行指令和第二可执行指令对应的指令数据属性分别进行排序以得到第一指令数据属性排序和第二指令数据属性排序。其生成的二进制字节命令对应关系也可以分别与上行数据对应的第一二进制字节命令对应关系和与下行数据对应的第二二进制字节命令对应关系。在对上行数据处理的过程中,其可以根据第一二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性以生成JSON通信数据。在下行数据处理过程,其可以根据所述执行指令及第二指令数据属性排序生成为二进制通信数据。

可选的,在所述步骤S22中,所述根据所述二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性;包括:获取所述上行数据中的自定义数据区中的第一字节,根据所述第一字节获取所述上行数据对应的执行指令。具体的,执行指令可以通过上行数据中的自定义数据区中的第一字节对应的内容确定。

进一步的,在所述步骤S21中,所述根据所述二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性;还包括:获取所述上行数据中的自定义数据区中的第一字节之后的有效字节及有效字节的位置,根据所述有效字节的位置从所述二进制命令关系表中获取对应的指令数据属性。具体的,执行指令中的指令数据属性可以根据从上行数据中的自定义数据区中第一字节后的有效字节及其在自定义数据区中的位置,从二进制命令关系表查询到指令数据属性排序得到指令数据属性,根据指令属性生成对应的JSON通信数据。

所述前置处理过程还包括以下步骤:对所述物联网设备对应的可执行指令排序以得到指令排序;根据所述可执行指令的所述指令排序和所述可执行指令的指令数据属性排序生成所述二进制字节命令对应关系。具体的,获取到物联网设备的可执行指令可能不值一个,其可以对该可执行指令进行排序,得到该可执行指令的命令号,在生成所述二进制字节命令对应关系的将可执行指令与命令号对应。

可选的,所述根据所述可执行指令的所述指令排序和所述可执行指令的指令数据属性排序生成所述二进制字节命令对应关系;包括:根据所述指令排序设置所述执行指令与所述自定义数据区的第一对应关系;根据所述指令数据属性排序设置所述执行指令与所述自定义数据区的第二对应关系;根据所述第一对应关系和所述第二对应关系生成所述二进制字节命令对应关系。具体的,在获取到可执行指令的指令排序后,其可以在自定义数据区中一些特定数据位形成数值与指令排序的第一对应关系,其可以理解,在上行数据中的自定义数据区中的第一字节对应的数字可以为可执行指令对应的命令号,也可以理解为该可执行指令对应的排序号。而在自定义数据区中的另一些数据位顺序中形成位置与指令属性排序的第二对应关系,根据分别确定的第一对应关系和第二对应关系即可完整的获取到该物联网通信设备的二进制字节命令对应关系。

在一实施例中,所述前置处理过程还包括:获取所述物联网设备的设备属性,根据所述物联网设备的设备属性获取所述可执行指令;根据所述设备属性、所述可执行指令与所述指令数据属性排序生成所述可执行指令对应的二进制字节命令对应关系;所述通信数据处理过程还包括:获取所述物联网设备的设备属性,以根据所述设备属性和所述上行数据对应的执行指令及其指令数据属性以生成JSON通信数据;或获取所述物联网设备的设备属性,以根据所述设备属性和所述下行数据中的执行指令及其指令数据属性生成所述二进制通信数据。具体的,在上面的物联网设备的二进制字节命令对应关系生成过程中,其可以同时获取物联网设备的设备属性,该设备属性可以理解为物联网设备的设备种类,该设备种类可以为较大的范围,例如为制冷设备,加热设备,播放设备,也可以为按照设备实现的功能进行划分得到分类,例如为空调设备、电视机设备、电饭煲等等。在得到设备属性后,生成的二进制字节命令对应关系中包含与设备属性的对应关系,则在与物联网设备通信时,其可以就上下行数据获取设备属性,基于对应的设备属性获取对应的二进制字节命令对应关系,以进行执行指令的解析和传输。

另,如图5所示,本发明的一种物联网通信系统;包括:物联网设备200和与所述物联网设备200建立通信的云端100;所述物联网设备200与所述云端100之间通过如上面任一项所述的物联网通信方法通信。物联网设备与云端的通信具体参照上文描述,此处不再赘述。还可以理解,云端100可以与APP或WEB系统通信。

另,如图6所示,本申请的一种物联网设备200,应用于如上面所述的物联网通信系统,包括:数据生成单元,用于分别生成指令数据和指令识别码以根据所述指令数据的指令数据属性和所述指令识别码对所述指令数据进行二进制封装以生成上行数据。。具体的,物联网设备在生成上行数据时,其根据对应的执行指令生成指令识别码,还有该执行指令对应具体指令数据,感觉该指令数据的指令数据属性和指令数据码对该指令数据进行二进制封装得到上行数据。

另,如图7所示,本发明的一种云端100,应用于如上面所述的物联网通信系统,包括:第一获取单元,用于获取物联网设备对应的可执行指令,并获取所述可执行指令对应的指令数据属性;第二获取单元,用于根据所述物联网设备的设备协议对所述指令数据属性排序以得到所述可执行指令对应的指令数据属性排序;第三获取单元,用于根据所述可执行指令与所述指令数据属性排序生成所述可执行指令对应的二进制字节命令对应关系;以及第一接收单元,用于接收所述物联网设备的上行数据以获取所述上行数据中的自定义数据区;第一执行单元,用于根据所述二进制字节命令对应关系从所述自定义数据区中获取所述上行数据对应的执行指令及其指令数据属性以生成JSON通信数据;第二接收单元,用于接收所述物联网设备对应的下行数据以获取所述下行数据中的执行指令;第二执行单元,用于根据所述执行指令从所述二进制字节命令对应关系中获取所述执行指令的指令数据属性排序;第三执行单元,用于获取所述下行数据中所述执行指令的指令数据属性以根据所述执行指令及其对应的所述指令数据属性排序生成二进制通信数据。

具体的,云端100的各单元可以执行之间具体的配合操作过程具体可以参照上述物联网通信方法,此处不再赘述。

在一个具体的实施例中,其在物联网设备上行数据中对应一执行指令的数据格式如下,

0xAA,0xAA,0x55,0x55,//帧头

0xAC,0x19,//校验

0x0F,0xF4,//命令类型

0x1E,0x00,//数据长度

0x00,0x00,//协议版本

0x03,0x06,0xF1,0x00,0x28,0xFF,0x22,0x00,0x00,0x00,//数据区

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,//数据区

0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00 //数据区

云端在接收该数据帧获取设备的产品ID。查询当前产品定义的命令号信息,根据命令号获取当前产品协议的指令数据属性排序,云端根据命令号把数据帧解析成如下JSON数据:

{mode:3,

fridgeTargetTemperature:6,

freezerTargetTemperature:-15,

fridgeTemperature:4,

freezerTemperature:-22,

workstatus:3,

value:149}。

其中,“fridgeTargetTemperature”、“freezerTargetTemperature”“fridgeTemperature”和“freezerTemperature”对应为指令数据属性,“6”、“-15”等数字为指令数据。物联网终端设备该执行指令的指令属性定义参照下面格式定义:

'mode'模式

'fridgeTargetTemperature'冷藏室目标温度

'freezerTargetTemperature'冷冻室目标温度

'fridgeTemperature'冷藏室当前温度

'freezerTemperature'冷冻室当前温度

'workstatus'工作状态。

在另一实施例中,其在物联网设备下行数据中对应一执行指令的数据格式如下,

云端接收该JSON数据获取物联网设备的产品ID。查询执行指令对应的命令号信息,根据该命令号获取当前产品协议的中对该执行指令的指令数据属性的排序,云端根据指令数据属性的排序把JSON解析成如下二进制数据如下,

0xAA,0xAA,0x55,0x55,//帧头

0xAC,0x19,//校验

0x0C,0x02,//命令类型

0x1E,0x00,//数据长度

0x00,0x00,//协议版本

0x00,0x03,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//数据区

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,//数据区

0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00 //数据区。

可以理解的,以上实施例仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制;应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,可以对上述技术特点进行自由组合,还可以做出若干变形和改进,这些都属于本发明的保护范围;因此,凡跟本发明权利要求范围所做的等同变换与修饰,均应属于本发明权利要求的涵盖范围。

相关技术
  • 一种物联网通信方法、系统、物联网设备及云端
  • 一种Wi-Fi物联网设备通信方法及Wi-Fi物联网系统
技术分类

06120112274236