本发明是关于物联网技术领域,特别是关于一种ad-hoc自组网系统及方法。
背景技术:
无线自组网是由一组带有无线收发装置的可移动节点所组成的一个临时性多跳自治系统,它不依赖于预设的基础设施,具有可临时组网、快速展开、无控制中心、抗毁性强等特点,在军事方面和民事方面和民用方面都具有广阔的应用前景,是目前网络研究中的热点问题。在近年来的技术发展过程中,使用比较广泛的有zigbee无线自组网技术。
发明人在实现本发明的过程中发现,zigbee无线自组网技术的硬件成本高、通信稳定性差、缺少与互联网直接沟通等缺点一直是zigbee技术发展的瓶颈。目前国内zigbee技术主要采用ism频段中的2.5g频率,其衍射能力弱,穿墙能力弱。家居环境中,即使是一扇门,一扇窗,一堵非承重墙,也会让信号大打折扣。有些厂家会使用射频功放,对2.5g信号进行放大,但是这样会造成额外的辐射污染,同时也和zigbee低功耗、节能的初衷背道而驰。其次,使用zigbee协议栈进行应用开发需有一定的技术基础,开发难度高也是zigbee技术大面积落地的技术门槛。再者,zigbee技术的自组网系统需要在程序代码中言明网络组号和信道号,不利于硬件的二次复用。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
技术实现要素:
本发明的目的在于提供一种ad-hoc自组网系统及方法,其能够保证远距离传输时的多节点模块的信号数据准确性和传输及时性。
为实现上述目的,本发明提供了一种ad-hoc自组网系统,其包括:主机和多个节点模块。每个节点模块与所述主机均进行无线通信,其中,所述主机用于向所述节点模块发送配置文件,所述节点模块用于在接收到所述配置文件后,读取并存储所述配置文件中的网络组号信息以及跳频参数信息,还用于根据所述网络组号信息以及所述跳频参数信息来设置所述节点模块自身的网络组号以及无线通信频率。
在本发明的一实施方式中,所述主机还用于与同一无线通信频率下的每个节点模块分别进行建立点对点的通信。
在本发明的一实施方式中,所述主机与所述节点模块建立点对点通信包括:所述主机与所述节点模块之间通过两次握手,互相交换并保存地址。
在本发明的一实施方式中,所述ad-hoc自组网系统还包括:服务器和终端应用程序。服务器与所述主机之间通过mqtt标准通信协议(消息队列遥测传输协议)进行有线通信或无线通信。终端应用程序与所述服务器之间通过mqtt标准通信协议进行有线通信或无线通信,所述终端应用程序用于通过服务器向所述主机发送控制命令。
在本发明的一实施方式中,所述节点模块包括:第一单片机、第二单片机以及传输模块。第一单片机用于通过传感器单元采集物理变量的数据。第二单片机与所述第一单片机相连,用于控制所述物理变量的数据的接收以及发送,其中所述第二单片机中,通过软件配置的方式设置了多个物理变量的存储空间,每个物理变量的存储空间用于存储物理变量的类型以及采集的所述物理变量的数据,并且每个物理变量的存储空间被配置索引号。传输模块与所述第二单片机相连,用于接收所述第二单片机发送的所述物理变量的数据,并将所述物理变量的数据、该物理变量对应的存储空间的索引号以及节点模块的地址信息发送至所述主机,其中,所述节点模块的地址信息是所述节点模块根据网络组号来设定的。
基于同样的发明构思,本发明还提供了一种ad-hoc自组网方法,其包括:节点模块上电后读取存储器中的信息;若读取到网络组号信息以及跳频参数信息,则根据所述网络组号信息以及所述跳频参数信息来设置所述节点模块自身的网络组号以及无线通信频率,其中,所述网络组号信息以及跳频参数信息是主机通过无线通信的方式下发给所述节点模块的。
在本发明的一实施方式中,所述ad-hoc自组网方法还包括:若所述节点模块没有读取到所述网络组号信息以及跳频参数信息,则保持接收状态;当读取到所述网络组号信息以及跳频参数信息时,则根据所述网络组号信息以及所述跳频参数信息来设置所述节点模块自身的网络组号以及无线通信频率;所述节点模块进行自动重启。
在本发明的一实施方式中,所述ad-hoc自组网方法还包括:所述节点模块若读取到主机绑定信息,则与所述主机绑定信息中的主机建立点对点通信,其中,所述主机绑定信息是所述主机通过无线通信的方式下发给所述节点模块的,并且所述主机绑定信息中的主机与所述节点模块的无线通信频率相同。
在本发明的一实施方式中,所述ad-hoc自组网方法还包括:所述节点模块若没有读取到主机绑定信息,则保持接收状态;当读取到所述主机绑定信息后,则与所述主机绑定信息中的主机建立点对点通信;所述节点模块进行自动重启。
在本发明的一实施方式中,所述ad-hoc自组网方法还包括:终端应用程序通过mqtt标准通信协议向所述主机发送控制命令,其中,所述控制命令用于读取所述节点模块的物理变量;所述主机根据所述控制命令生成配置文件,通过无线通信的方式下发给所述节点模块,其中,所述配置文件中包括待读取的节点模块的地址信息以及物理变量的索引号;所述节点模块读取到所述配置文件后,根据所述待读取的节点模块的地址信息以及物理变量的索引号读取该物理变量的数据;所述节点模块将该物理变量的数据发送给所述主机;所述主机将该物理变量的数据返回给所述终端应用程序。
与现有技术相比,根据本发明的ad-hoc自组网系统及方法,通过主机向节点模块下发跳频参数信息以及网络组号信息,节点模块可以设置跳频以及自身的网络组号,以跳频加网络组号的方式,在硬件和软件上形成了无线信号的隔离,弥补了目前无线数据传输距离过短和穿透性不强的缺点,保证了远距离传输时多节点模块的信号数据准确性和传输及时性。并且,在优选的实施方式中,采用灵活自适应平台方式,一次开发可应用到不同实际场景,扩大设施设备使用范围,降低应用者使用门槛,对无线传感网络技术的普及、发展产生一定的促进作用。
附图说明
图1是根据本发明一实施方式的ad-hoc自组网系统的组成;
图2是根据本发明又一实施方式的ad-hoc自组网系统的组成;
图3是根据本发明一实施方式的ad-hoc自组网方法的步骤组成。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
图1是根据本发明一实施方式的ad-hoc自组网系统,该系统包括:主机10、多个节点模块11。主机10可以通过rf433m无线通信方式连接到各个节点模块11。主机10用于向节点模块11发送配置文件,节点模块11用于在接收到配置文件后,读取并存储配置文件中的网络组号信息以及跳频参数信息,还用于根据网络组号信息以及跳频参数信息来设置节点模块11自身的网络组号以及无线通信频率。其中,无线通信频率设置在430m~900m之间。
由此,本实施方式中通过主机10下发配置文件,配置文件中为每个节点模块11配置不完全相同的网络组号信息以及跳频参数信息,使得各个节点模块11在433m的基础上实现了自动跳频,各个节点并不是都集中在433m的频率下进行通信,而是分散在不同的频率下来进行无线通信,由此,在硬件上形成了无线信号的隔离;并且各个节点可以设置不同的网络组号,在软件上形成了无线信号的隔离,信号传输更加稳定,保证了在远距离传输时多节点的信号数据准确性以及及时性。
具体地,本实施方式中,主机10还用于与同一无线通信频率下的每个节点模块11分别进行建立点对点的通信。主机10与节点模块11建立点对点通信包括:主机10与节点模块11之间通过两次握手,互相交换并保存地址,形成点对点的通信。由此,同一无线通信频率下的各个节点与主机10之间建立了多对一的通信机制。
优选地,在ad-hoc自组网系统,为了实现物理变量(温度、湿度、噪声、气体浓度、光照强度等)的采集功能,节点模块11包括:第一单片机、第二单片机、传输模块。第一单片机用于通过传感器单元采集物理变量的数据。第二单片机与第一单片机相连,用于控制物理变量的数据的接收以及发送,其中第二单片机中通过软件配置的方式设置了多个物理变量的存储空间,每个物理变量的存储空间用于存储物理变量的类型以及采集的物理变量的数据,并且每个物理变量的存储空间被配置索引号。传输模块与第二单片机相连,用于接收第二单片机发送的物理变量的数据,并将物理变量的数据、该物理变量对应的存储空间的索引号以及节点模块11的地址信息发送至主机10,其中,节点模块11的地址信息是节点模块11根据网络组号来设定的。主机10可以根据物理变量对应的存储空间的索引号以及节点模块11的地址信息来读写指定的物理变量的数值以及获取物理变量所对应的传感器的类型。
由此,该实施方式中可以通过一次开发,在不同的场景中多次使用,不需要二次开发,通过软件配置,节点模块11的第二单片机中程序内部拥有多个变量存储空间,当第一单片机获取不同传感器的变量值时,放入至不同变量存储空间内,存储空间中包含物理变量类型(传感器类型)及变量值,并通过索引号排列区分他们,当节点模块11与主机10连接后,告知主机10自己的变量信息,主机10可以以节点模块11的地址信息+物理变量索引号的方式读写指定的变量以明确传感器类型及采集值。这样的方式可以将无线组网与传感器采样分开执行,更换场景时只需更换传感器而不需要做大量的程序开发工作,降低了在物联网实际应用中的开发难度。同时,经过读取主机10中的物理变量索引号,可以形成有效的中间监测机制,对系统调试任务提供了很好的工作手段,特别是在物联网领域中,形成了一套合适的无线传感网络,对物联网技术应用场景的具体实施有了极大的促进作用。
具体地,本实施方式中,第一单片机可以选用stc15w4k56s4单片机,第二单片机可以选用stm32f103单片机,传输模块可以选用si4432传输模块,其中stm32f103单片机与si4432传输模块通过spi方式建立通信连接,主要控制数据的接收和发送,而stc15w4k56s4单片机主要负责传感器的采集工作。当stc15w4k565s4单片机获取传感器的采样值后通过ttl串口方式传送至stm32f103单片机,stm32f103单片机接收数据后通过si4432传输模块发送至主机10。
为了便于用户对节点模块11进行控制或获取节点模块11的数据,在一优选的实施方式中,所述ad-hoc自组网系统中还包括:服务器12以及终端应用程序13。
服务器12与主机10之间通过mqtt标准通信协议进行有线通信或无线通信。
终端应用程序13与服务器12之间通过mqtt标准通信协议进行有线通信或无线通信,终端应用程序13用于通过服务器12向主机10发送控制命令。终端应用程序13可以安装在手机、电脑端等,用户可以方便地对节点模块11进行控制管理以及获取数据。
基于同样的发明构思,本发明还提供了一种ad-hoc自组网方法。如图3所示,在一可选的实施方式中,ad-hoc自组网方法包括以下步骤。
在步骤s1中节点模块上电后读取存储器中的信息。
在步骤s2中设置网络组号以及通信频率:若读取到网络组号信息以及跳频参数信息,则根据网络组号信息以及跳频参数信息来设置节点模块自身的网络组号以及无线通信频率,其中,网络组号信息以及跳频参数信息是主机下发给节点模块的。
在步骤s3中与主机进行绑定:节点模块若读取到主机绑定信息,则与主机绑定信息中的主机建立点对点通信,其中,主机绑定信息是主机下发给节点模块的,信息中的主机与节点模块处于同一无线通信频率下。
在一实施方式中,ad-hoc自组网方法还包括:若节点模块没有读取到网络组号信息以及跳频参数信息,则保持接收状态;之后当读取到配置文件中的网络组号信息以及跳频参数信息时,则根据网络组号信息以及跳频参数信息来设置节点模块自身的网络组号以及无线通信频率;之后节点模块进行自动重启。
在一实施方式中,ad-hoc自组网方法还包括:节点模块若没有读取到主机绑定信息,则保持接收状态;之后当读取到主机绑定信息后,则与主机绑定信息中的主机建立点对点通信;之后节点模块进行自动重启。
优选地,为了便于用户对节点模块进行控制或获取节点模块的数据,一实施方式的ad-hoc自组网方法还包括:终端应用程序通过mqtt标准通信协议向主机发送控制命令,其中,控制命令用于读取的节点模块的物理变量;其次主机根据控制命令生成配置文件,通过无线通信的方式下发给节点模块,其中,配置文件中包括待读取的节点模块的地址信息以及物理变量的索引号;之后节点模块读取到配置文件后,根据待读取的节点模块的地址信息以及物理变量的索引号读取该物理变量的数据;之后节点模块将该物理变量的数据发送给主机;最后主机将该物理变量的数据返回给终端应用程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。