一种通信的方法、装置、通信设备及存储介质与流程

文档序号:14953516发布日期:2018-07-17 23:05阅读:114来源:国知局

本发明实施例涉及通信技术领域,尤其涉及一种通信的方法、装置、通信设备及存储介质。



背景技术:

目前的低功耗蓝牙设备节点大多是通过智能终端中的蓝牙功能单独控制的,因此,低功耗蓝牙设备节点可以很方便的和智能终端进行交互,其便利性和可操作性较强。但是智能终端要实现对低功耗蓝牙设备节点的有效控制,必须要求智能终端和低功耗蓝牙设备节点保持在一定的通讯范围内。由此可见,智能终端采用低功耗蓝牙技术控制低功耗蓝牙设备节点时极易受通讯距离的限制。针对通讯距离受限的问题,目前也有通过设备节点转发的方式来增大通讯距离的方法,但是这种通讯方式一般只适用于低功耗蓝牙设备节点较少的情况。并且,采用低功耗蓝牙技术控制低功耗蓝牙设备节点时,对低功耗蓝牙设备节点的数量限制较大,一个蓝牙微微网最多只支持8个低功耗蓝牙设备节点,即便低功耗蓝牙设备节点之间通过广播的形式进行转发,但由于广播的局限性会导致通信的拥挤,从而引起通信的不稳定和混乱等问题。

紫蜂zigbee也是目前物联网中较为常用的通信方式,zigbee技术是一种短距离、低功耗的无线通信技术,可以实现组网通信,具有距离短、低功耗、自组织、低数据率等特点,适用于数据采集和控制领域。虽然zigbee最大支持六万多个节点,但zigbee难以提供便利的对设备节点的控制功能,因此具备较差的人机交互体验。



技术实现要素:

本发明实施例提供一种通信的方法、装置、通信设备及存储介质,实现提高网络的抗干扰能力,缩短网络中设备节点的响应时间,降低软硬件的开发成本,增强人机交互性能。

第一方面,本发明实施例提供了一种通信的方法,包括:

设备节点接收终端和/或与所述设备节点通信连接的第一连接设备节点发送的数据包;其中,所述数据包由所述终端通过广播方式发送,或者,所述数据包由所述第一连接设备节点采用跳频的方式发送;

所述设备节点根据所述数据包获取目标地址;

当所述数据包中的目标地址非所述设备节点的本地地址时,所述设备节点根据所述目标地址确定传输路径,将所述数据包采用跳频的方式按照所述传输路径转发给与所述设备节点通信连接的第二连接设备节点。

第二方面,本发明实施例还提供了一种通信的装置,应用于设备节点中,包括:

数据包接收模块,用于接收终端或与所述设备节点通信连接的第一连接设备节点发送的数据包;其中,所述数据包由所述终端通过广播方式发送,或者,所述数据包由所述第一连接设备节点采用跳频的方式发送;

地址获取模块,用于根据所述数据包获取目标地址;

数据包转发模块,用于当所述数据包中的目标地址非所述设备节点的本地地址时,所述设备节点根据所述目标地址确定传输路径,将所述数据包采用跳频的方式按照所述传输路径转发给与所述设备节点通信连接的第二连接设备节点。

第三方面,本发明实施例还提供了一种通信设备,所述通信设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述第一方面所涉及的通信的方法。

第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面所涉及的通信的方法。

本发明实施例通过设备节点获取终端和/或与设备节点通信连接的第一连接设备节点发送的数据包,当数据包中的目标地址非设备节点的本地地址时,设备节点采用跳频的方式按照确定的传输路径将数据包转发给与设备节点通信连接的连接设备节点,解决现有技术中设备节点通过广播的形式转发数据包时引起的通信不稳定和混乱,以及其采用zigbee技术组网时难以实现人机交互的问题,以实现提高网络的抗干扰能力,缩短网络中设备节点的响应时间,降低软硬件的开发成本,增强人机交互性能。

附图说明

图1是本发明实施例一提供的一种通信的方法的流程图;

图2a是本发明实施例二提供的一种通信的方法的流程图;

图2b是本发明实施例二提供的一种跳频通信的方法的流程图;

图2c是本发明实施例二提供的一种设备节点转发数据包的方法的流程图;

图3a是本发明实施例三提供的一种通信的方法的流程图;

图3b是本发明实施例提供的一种设备节点组网过程的流程图;

图4是本发明实施例四提供的一种通信的装置的结构示意图;

图5为本发明实施例五提供的一种通信设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。

另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1是本发明实施例一提供的一种通信的方法的流程图,本实施例可适用于使用终端通过网络中的设备节点控制预设设备的情况,该方法可以由通信的装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在通信设备中,该方法包括如下操作:

步骤110、设备节点接收终端和/或与所述设备节点通信连接的第一连接设备节点发送的数据包;其中,所述数据包由所述终端通过广播方式发送,或者,所述数据包由所述第一连接设备节点采用跳频的方式发送。

其中,设备节点可以是带有蓝牙低功耗(bluetoothlowenergy,ble)功能和mesh(网格)功能的节点,例如发光二极管(lightemittingdiode,led)灯、空调、电饭煲、空气净化器、热水器、加湿器、电视以及其他包含ble功能和mesh功能的节点等。这些节点内置低功耗蓝牙模块,能够接收来自终端应用程序(application,app)的控制命令,并根据终端发送的控制命令执行相应的操作,同时,终端还可以获取这些设备节点的状态。

在本发明实施例中,终端采用ble广播的方式向设备节点发送数据包,可以实现终端和设备节点之间的通信,设备节点通过ble广播向终端反应自身的状态,终端通过扫描来搜索设备节点的状态,并通过广播的形式对设备节点进行控制。终端与设备节点之间采用广播的方式进行通信不需要进行连接,这样的通信方式的优点是在进行通讯时不需要进行握手连接,从而节省设备节点的响应时间。需要说明的是,传统的ble包括广播信道和数据信道,且广播信道只包括3个信道。本发明实施例为了实现降低软硬件的成本,优化广播通信,只采用ble的广播信道实现终端与设备节点间的广播通信,并且将广播信道扩展到18个信道。由于没有采用ble中的数据信道,因此本发明实施例中的设备节点也不需要完整的ble协议既可以与终端进行通信,相应的ble协议相对于传统的ble协议也更为简化。也即终端和设备节点只需要遵循ble广播数据格式就可以进行数据交互。本发明实施例中设计的ble协议可以使用18个信道,当然也可以根据实际需求设计信道的数量,本发明实施例对此并不进行限制。另外,在终端对设备节点进行控制之前,首先需要终端对设备节点进行注册。注册成功后,设备节点加入网络后,终端才会显示其相应的信息。

在本发明实施例中,多个设备节点也可以组成mesh网络,在无线mesh网络中,任何设备节点都可以同时作为无线访问接入点(wirelessaccesspoint,ap)和路由器,网络中的每个设备节点都可以发送和接收信号,每个设备节点都可以与一个或者多个对等设备节点进行直接通信。mesh网络中的设备节点分为协调器和路由器。其中协调器是整个mesh网络的主要控制者,负责建立新的网络、发送网络信标、管理网络中的节点以及存储网络信息等。协调器的数量可以是一个也可以是多个,一个协调器对应一个mesh网络。当设备节点所在的网络中没有协调器时,设备节点之间是独立的,但都可以和终端通信。当设备节点所在的网络中存在一个协调器时,设备节点便可以自动完成组网并分配网际协议地址(internetprotocoladdress,ip地址)。路由器则可以将数据包通过mesh网络传送至目的设备节点。需要说明的是,本发明实施例mesh网络中的每个设备节点具有更好的通用性,即每个设备节点都可以成为协调器,也可以成为路由器,具体可以通过终端进行设置。

在本发明实施例中,具备ble功能的设备节点组成的mesh网络能够实现用终端进行分组或单独控制,这样一个终端就可以用这个组网的强大功能与若干设备节点进行控制与互动。其中,终端可以是智能手机、平板电脑、个人计算机(personalcomputer,pc)、路由器或遥控器等,只要是能对设备节点通过ble功能进行无线控制的终端即可,本发明实施例对此并不进行限制。另外,数据包也可以由mesh网络中与设备节点通信连接的其他设备节点发送,在此基础上,在设备节点组成的mesh网络中,设备节点之间的通信可以通过路由寻址的方式实现,从而有效避免广播通信造成的信道拥挤问题。因此,设备节点可以同时受到终端和mesh网络两者的控制。

步骤120、所述设备节点根据所述数据包获取目标地址。

其中,目标地址是终端指定需要接受数据包的设备节点的ip地址,设备节点接收到数据包后,可以获取数据包中包括的目标ip地址,以对目标ip地址进行分析。

步骤130、当所述数据包中的目标地址非所述设备节点的本地地址时,所述设备节点根据所述目标地址确定传输路径,将所述数据包采用跳频的方式按照所述传输路径转发给与所述设备节点通信连接的第二连接设备节点。

其中,连接设备节点是与设备节点之间存在通信链路的其他的设备节点。跳频(frequency-hoppingspreadspectrum,fhss)是指用伪随机码序列进行频移键控,使载波频率不断跳变而扩展频谱的一种方法。跳频技术在同步、且同时的情况下,接收两端以特定型式的窄频载波来传送讯号,对于一个非特定的接受器,fhss所产生的跳动讯号对它而言,只算是脉冲噪声。因此,采用跳频的方式进行通信能够极大的提高通信网络的抗干扰能力,并有效防止信道被长时间占用或污染。当某个信道不能使用时,采用跳频技术可以通过其他信道来进行通信。为了实现跳频的同步,还可以采用时钟同步技术。

在本发明实施例中,设备节点间的通信是通过ip地址进行的。通信过程中设备节点会判断数据包的目标ip地址是否为本地ip地址,如果是本地ip地址,则处理数据包,并根据数据包的信息执行相应的动作,例如,对led灯进行调光、开启和关闭,调节空气净化器的工作频率等。如果不是本地ip地址,则根据目标ip地址计算传输路径,然后根据传输路径将数据包转发给第二连接设备节点,直到目标ip地址对应的设备节点接收到数据包。

本发明实施例通过设备节点获取终端和/或与设备节点通信连接的第一连接设备节点发送的数据包,当数据包中的目标地址非设备节点的本地地址时,设备节点采用跳频的方式按照确定的传输路径将数据包转发给与设备节点通信连接的连接设备节点,解决现有技术中设备节点通过广播的形式转发数据包时引起的通信不稳定和混乱,以及其采用zigbee技术组网时难以实现人机交互的问题,以实现提高网络的抗干扰能力,缩短网络中设备节点的响应时间,降低软硬件的开发成本,增强人机交互性能。

在上述技术方案的基础上,可选的,所述方法还可以包括:所述设备节点按照设定周期检测所述设备节点中电路的状态,当所述设备节点检测到所述电路出现异常时,将异常信息发送给所述终端和所述网络中的协调器。

其中,设定周期可以是1天、2天或7天,可以根据实际需求进行设定,本发明实施例对此并不进行限制。每个设备节点中都安装微控制单元(microcontrollerunit,mcu)。mcu又称单片微型计算机或者单片机,是把中央处理器(centralprocessunit,cpu)的频率与规格做适当缩减,并将内存、计数器、通用串行总线(universalserialbus,usb)、a/d转换、通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)以及其他类型的周边接口,甚至液晶显示器(liquidcrystaldisplay,lcd)驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。同时,每个设备节点的mcu运行contiki(多任务操作系统)开源操作系统。contiki是一个适用于有内存的嵌入式系统的开源的、高可移植的、支持网络的多任务操作系统,非常小型的嵌入式操作系统,运行只需要几k的内存,适用于一系列的内存受限的网络系统。本发明实施例采用contiki开源操作系统可方便应用开发。

具体的,设备节点通过mcu运行的contiki开源操作系统按照设定周期检测其内部的电路的状态。一旦检测到电路出现异常时,mcu将异常信息通过广播的方式发送给终端,同时上报给网络中的协调器,从而实现设备节点的自检测功能,以便设备节点电路出现异常时,及时对设备节点进行处理。

在上述技术方案的基础上,可选的,所述方法还可以包括:所述设备节点通过公钥加密算法(rivest-shamir-adleman,rsa)算法对所述数据包进行加密或解密。

在本发明实施例中,为了保证设备节点之间数据通信的可靠性和安全性,设备节点还可以对封装后的数据包进行加解密处理。具体的,加解密算法可以采用rsa算法,也可以采用其他类型的数据加密算法,例如数据加密算法(dataencryptionstandard,des)、国际数据加密算法(internationaldataencryptionalgorithm,idea)、数字签名算法(digitalsignaturealgorithm,dsa)以及高级加密标准(advancedencryptionstandard,aes)等,只要能够对数据实现加解密的算法都可以作为本发明实施例用于对数据包进行加解密处理的加、解密算法。

在上述技术方案的基础上,可选的,所述数据包包括数据协议,所述数据协议包括预设序列号,所述预设序列号用于对所述数据包进行标记;所述通信的方法还可以包括:所述设备节点根据所述预设序列号对重复发送的所述数据包进行过滤。

在本发明实施例中,为了避免数据包在网络中重复转发引起网络阻塞的问题,可以对数据包进行通信的数据协议中加入按顺序编排的序列号,根据序列号对数据包进行过滤。举例而言,设备节点接收到的数据包包含的序列号为4,由于该数据包中的目标ip地址不是设备节点的本地地址,设备节点则按照传输路径将数据包转发给第二连接设备节点。当该设备节点再次接收到序列号为4的数据包时,该设备节点根据序列号判断已经对该数据包进行了转发,因此不再对重复接收的数据包进行转发。通过对数据通信协议加入序列号,可以防止设备节点大量转发重复的数据包,进而避免大量的数据包造成的网络阻塞问题,从而提高网络的通信速度和效率。

实施例二

图2a是本发明实施例二提供的一种通信的方法的流程图,如图2a所示,本实施例的方法可以包括:

步骤210、设备节点接收终端和/或与所述设备节点通信连接的第一连接设备节点发送的数据包;其中,所述数据包由所述终端通过广播方式发送,或者,所述数据包由所述第一连接设备节点采用跳频的方式发送。

步骤220、所述设备节点根据所述数据包获取目标地址。

步骤230、所述设备节点判断所述目标地址是否为设备节点的本地地址,若是,则执行步骤240,否则,执行步骤250。

步骤240、所述设备节点处理所述数据包。

在本发明实施例中,如果设备节点判断数据包中的目标地址是设备节点的本地地址,则无需对数据包进行转发,可直接对数据包进行处理。

步骤250、所述设备节点根据所述目标地址确定传输路径。

步骤260、所述设备节点查询所述第二连接设备节点使用的第二信道,并由第一信道切换至所述第二信道。

其中,第一信道是设备节点的当前信道,第二信道是第二连接设备节点的当前信道。

步骤270、所述设备节点通过所述第二信道向所述第二连接设备节点发送数据包;其中,所述数据包用于所述第二连接设备节点进行数据处理后,将处理的结果通过所述第一信道向所述设备节点发送响应数据包。

在本发明实施例中,当设备节点需要向第二连接设备节点发送数据包时,需要切换到第二连接设备节点使用的第二信道进行发送。第二连接设备节点接收到数据包对数据包进行处理后,同样需要切换到设备节点的第一信道,并通过第一信道向设备节点发送相应数据包。第二连接设备节点发送完响应数据包后,即可切换回第二连接设备节点原来的第二信道。

步骤280、所述设备节点切换至所述第一信道,并接收所述响应数据包。

相应的,设备节点向第二连接设备节点发送数据包后,即可切换到设备节点的第一信道,并通过第一信道接收第二连接设备节点发送的响应数据包。

图2b是本发明实施例二提供的一种跳频通信的方法的流程图,在图2b中,将设备节点简称为节点1,将第二连接设备节点简称为节点2。如图2b所示,节点1把数据包发给节点1计算的传输路径中的节点2。假设节点1的当前信道(第一信道)为9,节点2的当前信道(第二信道)为5。则节点1首先需要查询节点2的当前信道,并切换到节点2的当前信道5。此时,节点1和节点2处于同一信道中,节点1可以利用信道5向节点2发送数据包,并经过ack等待延时后进入接收模式。节点2接收到数据包后,对数据包进行处理。此时,由于节点1和节点2处于同一信道(信道5)中,节点2无需再进行跳频操作,在经历一个ack应答延时后,可以直接利用信道5向节点1发送响应数据包(应答过程),节点1在接收到响应数据包后,1即可切换到原来的信道9。以上就是设备节点与第二连接设备节点之间的跳频通信的方法。同理,第一连接设备采用跳频的方式向设备节点发送数据包时,也遵循上述设备节点与第二连接设备节点之间的跳频通信的方法。

图2c是本发明实施例二提供的一种设备节点转发数据包的方法的流程图,如图2c所示,将向设备节点发送数据包的第一连接设备节点简称为节点1,将设备节点简称为节点2,将第二连接设备节点简称为节点3。节点1按照跳频通信的方法把数据包发给节点2。节点2根据接收到的数据包中的目标地址判断其是不是本地地址,如果节点2确定目标地址不是本地地址,则将数据包转发给节点2计算的传输路径中的与节点2存在通信连接的节点3,同理,节点2同样采用跳频的方式将数据包转发给节点3。如果节点2确定目标地址是本地地址,则直接对数据包进行处理。

本发明实施例中设备节点之间采用的跳频的通信方式进行数据包的发送和转发,能够有效提高网络的抗干扰能力,从而保证网络的通信质量。

实施例三

图3a是本发明实施例三提供的一种通信的方法的流程图,如图3a所示,本实施例的方法可以包括:

步骤310、所述设备节点搜索附近的网络,并向附近的网络中的目标设备节点发送发现网络请求;其中,所述发现网络请求用于当所述目标设备节点确定满足当前条件时,响应所述发现网络请求。

在本发明的一个可选实施例中,所述当前条件可以包括:所述目标设备节点处于所述网络中,以及所述网络支持加入所述设备节点。

其中,附近的网络即为mesh网络,目标设备节点是mesh网络中的一个设备节点。在本发明实施例中,设备节点若想受到mesh网络的控制,首先需要加入mesh网络中。为此,设备节点在判断到自己并没有加入网络时,则需要进行网络发现任务。具体的,设备节点首先需要搜索附近的mesh网络,同时向搜索到的mesh网络中的其中一个目标设备节点发送发现网络请求。目标设备节点接收到发现网络请求后,判断自己是否已经加入了该网络。如果目标设备节点没有加入mesh网络则不做响应,如果目标设备节点已经加入mesh网络,则判断mesh网络当前是否还支持其他设备节点加入。如果mesh网络不支持其他设备节点加入,则目标设备节点不做响应;如果mesh网络支持其他设备节点加入则对设备节点做出发现网络请求的响应。

步骤320、当所述设备节点接收到发现网络请求响应时,向所述目标设备节点发送加入网络请求。

相应的,在设备节点搜索到附近的mesh网络,且该网络接受该设备节点的加入,则在该设备节点接收到mesh网络中的目标设备节点发送的发现网络请求响应后,向目标设备节点发送加入网络请求,进行加入网络任务。

步骤330、当所述设备节点接收到所述目标设备节点发送的加入网络响应时,加入所述附近的网络。

具体的,设备节点向目标设备节点发送加入网络请求后,目标设备节点根据加入网络请求数据包做出处理,并将处理结果反馈给设备节点。当设备节点成功加入网络后,则目标设备节点以父节点的方式给该设备节点分配ip地址和通信信道,完成ip地址与设备节点的设备地址(如媒体访问控制地址(mediaaccesscontrol,mac))的映射。其中,目标设备节点可以是mesh网络中的协调器,也可以是mesh网络中路由器。当设备节点成功加入网络,并获得ip地址和通信信道后,该设备节点就可以进行数据通信,同时也可以作为父节点,对新加入的设备节点分配ip地址和通信信道。

举例而言,图3b是本发明实施例提供的一种设备节点组网过程的流程图,如图3b所示,将mesh网络中的协调器作为目标设备节点。设备节点首先进行初始化,然后判断自己当前并未加入网络,则向网络中的协调器发送发现网络请求数据包。由于协调器是mesh网络中的一个节点,所以协调器无需再判断自身是否已经加入网络中。因此,协调器接收到发现网络请求数据包以后,直接判断网络是否允许加入设备节点。如果网络不允许加入设备节点,则协调器不做相应。如果网络允许加入设备节点,则协调器对设备节点发送包含时间和基信道的发现网络响应数据包。其中,时间和基信道用于设备节点计算协调器的信道,以便和协调器进行数据通信。设备节点接收到发现网络响应数据包后,本地进行时间同步和信道同步,同时向协调器发送加入网络请求数据包。协调器根据接收的加入网络响应数据包将该设备节点加入网络,同时向设备节点发送包含父子节点的基信道的加入网络响应数据包。需要说明的是,在这一过程中,协调器作为父节点,设备节点作为子节点。设备节点接收到加入网络响应数据包后,保存父节点(协调器)信息,同时向协调器发送确认字符(acknowledgement,ack)应答,即完成设备节点的组网过程。

步骤340、设备节点接收终端和/或与所述设备节点通信连接的第一连接设备节点发送的数据包;其中,所述数据包由所述终端通过广播方式发送,或者,所述数据包由所述第一连接设备节点采用跳频的方式发送。

步骤350、所述设备节点判断所述目标地址是否为设备节点的本地地址,若是,则执行步骤360,否则,执行步骤370。

步骤360、所述设备节点处理所述数据包。

步骤370、所述设备节点根据所述目标地址确定传输路径,查询所述第二连接设备节点使用的第二信道,并由第一信道切换至所述第二信道。

步骤380、所述设备节点通过所述第二信道向所述第二连接设备节点发送数据包;其中,所述数据包用于所述第二连接设备节点进行数据处理后,将处理的结果通过所述第一信道向所述设备节点发送响应数据包。

步骤390、所述设备节点切换至所述第一信道,并接收所述响应数据包。

本发明实施例通过设备节点与mesh网络中的目标设备节点进行交互,完成设备节点的自组网。并通过设备节点获取终端和/或与设备节点通信连接的第一连接设备节点发送的数据包,当数据包中的目标地址非设备节点的本地地址时,设备节点采用跳频的方式按照确定的传输路径将数据包转发给与设备节点通信连接的连接设备节点。既能实现设备节点的自组网过程,使得mesh网络灵活地添加设备节点,同时能够有效提高网络的抗干扰能力,缩短网络中设备节点的响应时间,降低软硬件的开发成本、增强人机交互性能。

实施例四

图4是本发明实施例四提供的一种通信的装置的结构示意图,可执行本发明任意实施例所提供的通信的方法,具备执行方法相应的功能模块和有益效果,本实施例可适用于设备节点根据数据包中的目标地址进行转发或处理的情况。

所述装置包括:

数据包接收模块410,用于接收终端或与所述设备节点通信连接的第一连接设备节点发送的数据包;其中,所述数据包由所述终端通过广播方式发送,或者,所述数据包由所述第一连接设备节点采用跳频的方式发送;

地址获取模块420,用于根据所述数据包获取目标地址;

数据包转发模块430,用于当所述数据包中的目标地址非所述设备节点的本地地址时,所述设备节点根据所述目标地址确定传输路径,将所述数据包采用跳频的方式按照所述传输路径转发给与所述设备节点通信连接的第二连接设备节点。

本发明实施例通过设备节点获取终端和/或与设备节点通信连接的第一连接设备节点发送的数据包,当数据包中的目标地址非设备节点的本地地址时,设备节点采用跳频的方式按照确定的传输路径将数据包转发给与设备节点通信连接的连接设备节点,解决现有技术中设备节点通过广播的形式转发数据包时引起的通信不稳定和混乱,以及其采用zigbee技术组网时难以实现人机交互的问题,以实现提高网络的抗干扰能力,缩短网络中设备节点的响应时间,降低软硬件的开发成本,增强人机交互性能。

可选的,所述数据包转发模块430,还用于查询所述第二连接设备节点使用的第二信道,并由第一信道切换至所述第二信道;通过所述第二信道向所述第二连接设备节点发送数据包;其中,所述数据包用于所述第二连接设备节点进行数据处理后,将处理的结果通过所述第一信道向所述设备节点发送响应数据包;切换至所述第一信道,并接收所述响应数据包。

可选的,所述装置还包括:第一请求发送模块440,用于搜索附近的网络,并向附近的网络中的目标设备节点发送发现网络请求;其中,所述发现网络请求用于当所述目标设备节点确定满足当前条件时,响应所述发现网络请求;

其中,所述当前条件包括:所述目标设备节点加入所述网络,以及所述网络支持加入所述设备节点。

可选的,所述装置还包括:第二请求发送模块450,用于当所述设备节点接收到发现网络请求响应时,向所述目标设备节点发送加入网络请求。

可选的,所述装置还包括:网络加入模块460,用于当所述设备节点接收到所述目标设备节点发送的加入网络响应时,加入所述附近的网络。

可选的,所述装置还包括:异常检测模块470,用于按照设定周期检测所述设备节点中电路的状态,当所述设备节点检测到所述电路出现异常时,将异常信息发送给所述终端和所述网络中的协调器。

可选的,所述装置还包括:数据包加解密模块480,用于通过rsa公钥加密算法对所述数据包进行加密或解密。

可选的,所述数据包包括数据协议,所述数据协议包括预设序列号,所述预设序列号用于对所述数据包进行标记;相应的,所述装置还包括数据包过滤模块490,用于根据所述预设序列号对重复发送的所述数据包进行过滤。

上述通信的装置可执行本发明任意实施例所提供的通信的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的通信的方法。

实施例五

图5是本发明实施例五提供的一种通信设备的结构示意图,如图5所示,该通信设备包括处理器510、存储器520、输入装置530和输出装置540;通信设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;通信设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的通信的方法对应的程序指令/模块(例如,通信的装置中的数据包接收模块410,地址获取模块420,数据包转发模块430)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的通信的方法。

存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置530可用于接收输入的数字或字符信息,以及产生与通信设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。

实施例六

本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种通信的方法,该方法包括:

设备节点接收终端和/或与所述设备节点通信连接的第一连接设备节点发送的数据包;其中,所述数据包由所述终端通过广播方式发送,或者,所述数据包由所述第一连接设备节点采用跳频的方式发送;

所述设备节点根据所述数据包获取目标地址;

当所述数据包中的目标地址非所述设备节点的本地地址时,所述设备节点根据所述目标地址确定传输路径,将所述数据包采用跳频的方式按照所述传输路径转发给与所述设备节点通信连接的第二连接设备节点。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的通信的方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述通信的装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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