发明内容
鉴于上述问题,本发明的目的是提供一种基于修正LoRaWAN协议的全双工自调频中继器,该中继对LoRaWAN 的CLASS C模式进行修正,满足智能家居实时响应需求。
本发明第一方面提供一种全双工自调频中继器,包括电源输入接口、电源转换电路、拨码开关、两个通讯模组;
所述电源输入接口的输入端用来与外部电源连接,输出端分与电源转换电路的输入端连接;电源转换电路的输出端分别与两个通讯模组连接;拨码开关分别与两个通讯模组连接;所述通讯模组通过网关透传与服务器连接,所述通讯模组还与终端设备连接。
在本方案中,所述通讯模组中MCU采用STM32G030C8T6作为控制中心,LoRa通讯芯片采用ASR6500SLC进行数据通讯交互,配合对应的外围电路形成整个通讯模组;
在本方案中,所述中继器还包括LED指示灯;所述电源转换电路的输入端与所述电源输入接口的输出端连接,输出端分别与拨码开关、两个通讯模组连接、LED指示灯连接。
在本方案中,所述全双工自调频中继器透传多终端上报时,全双工自调频中继器的一个通讯模组专用于上行数据上报用,另一个通讯模组专用于下行数据用;
所述全双工自调频中继器支持上行及下行至少一个不同终端ID频点数据上报,数据首先经过全双工自调频中继器接收解析后,再根据具体设置将数据上报至对应的网关,通过网关透传后将数据同步到服务器;
与此同时,网关下行对应的ACK到全双工自调频中继器,之后再转发到终端,以便终止终端的重复上报动作。
在本方案中,所述全双工自调频中继器透传独立终端上报时,由于终端上报数据,没有特定的指向,数据通过全双工自调频中继器之后再转发到网关,终端也可以直接上报至网关,最后由网关上报数据至服务器,服务器接收到数据后进行解析并过滤相同的数据包;网关接收到数据后,下行ACK同样直接由终端接收到,或被全双工自调频中继器侦听到数据包后再转发至终端。
在本方案中,所述全双工自调频中继器在多终端透传服务器下行时,服务器将要下行的数据通过网关透传下行至所述全双工自调频中继器,当所述全双工自调频中继器收到数据后解析满足数据报文格式,则此时再根据数据报文内容,提取要控制的终端ID,然后全双工自调频中继器中下行通讯模组根据该终端ID设置其发生频点,将数据转发到被控终端,被控终端收到数据后再将对应的设备状态通过全双工自调频中继器上报到服务器;上报过程与透传多终端上报时相同。
在本方案中,所述全双工自调频中继器在独立终端节点透传服务器下行时,服务器正常下行数据至网关,网关直接将数据透传到终端,所述全双工自调频中继器处于被配置的终端ID频点侦听,也会将该数据收到然后在通过被控终端ID对应的频点将数据透传出来;上报过程与多终端透传服务器下行时相同。
在本方案中,所述全双工自调频中继器使用修正的CLASS C进行数据透传交互时,修正后的CLASS C参数为固定扩频因子SF = 7,带宽BW = 500KHz,频点Freq 根据设备自身ID决定,共有76个频点;由于终端也是根据自身ID 决定的频点,所以全双工自调频中继器需要根据具体情况自动调整为相应频点以便数据准确透传;
由于终端设备需要快速响应指令,所以收发过程中都采用3次超时重发机制,全双工自调频中继器同样会将对应的3次重发机制进行重发。
本发明第二方面提供一种全双工自调频中继器实现方法,所述方法具体如下:
所述全双工自调频中继器上电运行后,首先确定通讯模组是用来执行透传下行代码还是执行透传上行代码;
若所述通讯模组确定为执行透传下行代码后,再判断所述中继器是独立中继器还是多终端中继器;
如果为多终端中继器,则拨码对应按键时,通讯模组发送设置为多终端中继指令至服务器,服务器根据收到的指令,将后续发送的终端指令都由网关先转发到中继器,之后网关再将数据发送到中继器;
中继器在接收端数据后,根据预先定义的协议内容解析出终端ID,然后将发送频点调整为该终端的接收频点进行数据转发;
如果该中继为独立中继器,再确定所述通讯模组是否配置了要转发的终端,如果没有配置则继续查询等待配置并设置为红灯错误指示;如果配置了对应的转发终端,则中继器将所述通讯模组收发频点设置为已配置的终端频点,侦听网关下行给该终端的数据,然后进行转发,终端收到数据后可以过滤重发的无效数据;
若所述通讯模组确定为执行透传上行代码后,再确定所述通讯模组是独立中继器还是多终端中继器;如果为多终端中继,则拨码对应按键时,所述通讯模组发送设置为多终端中继指令至终端设备,终端设备根据收到的指令,将后续发送的数据指令都先转发到中继器,中继器在接收终端数据后,根据预先定义的协议内容解析出网关ID,然后将发送频点调整为该网关的接收频点进行数据转发;
如果为独立中继器,则中继器再确定所述通讯模组是否配置了要转发的网关,如果没有配置则继续查询等待配置并设置为红灯错误指示;如果配置了对应的转发网关,则中继器将所述通讯模组收发频点设置为已配置的网关频点,侦听终端上行给该网关的数据,然后进行转发,服务器收到数据后可以过滤重发的无效数据。
在本方案中,所述通讯模组通过读取MCU指定的GPIO口是为高电平还是低电平,来确定所述通讯模组是用来执行透传下行代码还是执行透传上行代码;若为高电平,则所述通讯模组是用来执行透传下行代码;若为低电平,则所述通讯模组用来执行透传上行代码。
所述通讯模组通过读取MCU指定的IO口是为高电平还是低电平,来确定所述中继器是独立中继器还是多终端中继器;若为高电平,则所述中继器是独立中继器;若为低电平,则所述中继器是多终端中继器。
所述中继器通过读取MCU指定的另一IO口是为高电平还是低电平,来确定该通讯模组是否配置了要转发的终端,若是高电平,则所述通讯模组配置了要转发的终端;若是低电平,则所述通讯模组没有配置要转发的终端。
本发明公开了一种基于修正LoRaWAN协议的全双工自调频中继器,所述中继器对LoRaWAN 的CLASS C模式进行修正,满足智能家居实时响应需求;
所述中继器为全双工通讯模式,满足同时收发的实时性要求;
所述中继器采用异频通讯,可以防止自干扰和或干扰问题;
所述中继器可配置和设置为自调节频点通讯,可以作为多个多频点终端的中继,也可以设置和配置为独立终端节点的中继,不与其他终端公用。
所述中继器的接收和发送采用的模式都可以独立配置,不相互干扰。
所述中继器采用双模组通讯但统一为一套代码和硬件实现。
所述中继器解决了修正LoRaWAN后的通讯距离不够或者存在盲区问题。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了本申请一种基于修正LoRaWAN协议的全双工自调频中继器的框图。
如图1所示,本申请公开了一种基于修正LoRaWAN协议的全双工自调频中继器,所述基于修正LoRaWAN协议的全双工自调频中继器1包括电源输入接口11、电源转换电路15、拨码开关12、两个通讯模组13;
所述电源输入接口11的输入端用来与外部电源连接,输出端与电源转换电路的输入端连接;电源转换电路的输出端分别与两个通讯模组13连接;拨码开关12分别与两个通讯模组13连接;所述通讯模组13通过网关透传与服务器连接,所述通讯模组13还与终端设备连接。
需要说明的是,作为一个具体的实施例,本实施例所述电源转换电路15为5-24V转3.3V电路。
根据本发明实施例,所述通讯模组中MCU采用STM32G030C8T6作为控制中心,LoRa通讯芯片采用ASR6500SLC进行数据通讯交互,配合对应的外围电路形成整个通讯模组;
根据本发明实施例,所述中继器还包括LED指示灯14;所述电源转换电路15的输入端与所述电源输入接口的输出端连接,输出端分别与拨码开关、两个通讯模组13连接、LED指示灯14连接。
需要说明的是,作为一个具体的实施例,在本实施例中全双工自调频中继器硬件包含5-48V输入电源转化为3.3V电压的供电部分,采用迷你安卓口作为整个设备的电源输入口。采用双通讯模组,一个模组负责上行,另一个模组负责下行。外加对应的拨码开关,用于设置不同的工作模式,和服务器相对应。外加对应的指示灯指示各种工作状态。其中通讯模组中MCU采用STM32G030C8T6作为控制中心,LoRa通讯芯片采用ASR6500SLC进行数据通讯交互,配合对应的外围电路形成整个通讯模组。
需要说明的是,如图2所示,图2为所述全双工自调频中继器嵌入式软件架构图。由图可知嵌入式软件基于对应的硬件基础,实现了对应的硬件模块含STM32G030C8T6控制单元、ASR6500SLC模块、串口模块、拨码开关模块、LED模块、EEPROM模块、RTC模块等驱动。同时实现了修正LoRaWAN MAC代码以及拨码按键开关以及LED显示应用层代码。
根据本发明实施例,如图3所示,图3为透传多终端上报的数据通过中继后上报数据至服务器端并接受ACK的流程示意图。全双工自调频中继器内置模组1(即所述全双工自调频中继器中其中一个通讯模组)专用于上行数据上报用,内置模组2(即所述全双工自调频中继器中另一个通讯模组)专用于下行数据用。图3中全双工自调频中继器支持上行及下行多个不同终端ID频点数据上报,数据首先必须经过全双工自调频中继器接收解析后,再根据具体设置将数据上报至对应的网关,通过网关透传后将数据同步到服务器。与此同时,网关下行对应的ACK到全双工自调频中继器,之后再转发到终端设备,以便终止终端的重复上报动作。
需要说明的是,该方式主要解决盲区集中的情况,或者信号弱集中情况。该方式下全双工自调频中继器上下行接收通道实时处于自身频点侦听数据,收到数据后需要根据具体的数据协议内容进行解析,并进行数据的转发透传。
根据本发明实施例,如图4所示,图4为透传独立终端上报的数据通过中继后上报数据至服务器端并接受ACK的流程示意图。从图中可以看出终端上报数据,没有特定的指向,所述全双工自调频中继器透传独立终端上报时,由于终端上报数据,没有特定的指向,数据通过全双工自调频中继器之后再转发到网关,终端也可以直接上报至网关,最后由网关上报数据至服务器,服务器接收到数据后进行解析并过滤相同的数据包;网关接收到数据后,下行ACK同样直接由终端接收到,或被全双工自调频中继器侦听到数据包后再转发至终端。
需要说明的是,该方式可以解决终端盲区或者信号弱的情况。增加一个中继以保证终端通讯的可靠稳定性。此时全双工自调频中继器的上下行通道都实时处于侦听配置的特定终端和网关状态,当收到对应的数据时则进行相应的转发。
根据本发明实施例,如图5所示,图5为多终端节点透传服务器下行时数据上下行交互直至终端收到ACK的整体流程交示意图。从图中可以看出,所述全双工自调频中继器在多终端透传服务器下行时,服务器将要下行的数据通过网关透传下行至所述全双工自调频中继器,当所述全双工自调频中继器收到数据后解析满足数据报文格式,则此时再根据数据报文内容,提取要控制的终端ID,然后全双工自调频中继器中下行通讯模组2根据该ID设置其发生频点,将数据转发到被控终端,被控终端收到数据后再将对应的设备状态通过全双工自调频中继器上报到服务器;上报过程与图3透传多终端上报的数据通过中继后上报数据至服务器端并接受ACK的流程示意图相同。
需要说明的是,该方式主要解决盲区集中的情况,或者信号弱集中情况。该方式下全双工自调频中继器上下行接收通道实时处于自身频点侦听数据,收到数据后需要根据具体的数据协议内容进行解析,并进行数据的转发透传。
根据本发明实施例,如图6所示,图6为独立终端节点透传服务器下行时数据上下行交互直至终端收到ACK的整体流程交互示意图。从图中可以看出,所述全双工自调频中继器在独立终端节点透传服务器下行时,服务器正常下行数据至网关,网关直接将数据透传到终端,所述全双工自调频中继器处于被配置的终端ID频点侦听,也会将该数据收到然后在通过被控终端ID对应的频点将数据透传出来;上报过程与图4透传独立终端上报的数据通过中继后上报数据至服务器端并接受ACK的流程示意图相同。
需要说明的是,该方式可以解决终端盲区或者信号弱的情况。增加一个中继以保证终端通讯的可靠稳定性。此时全双工自调频中继器的上下行通道都实时处于侦听配置的特定终端和网关状态,当收到对应的数据时则进行相应的转发。
根据本发明实施例,如图7所示,图7为全双工自调频中继器使用修正的CLASS C进行数据透传交互示意图。修正后的CLASS C参数为固定扩频因子SF = 7,带宽BW = 500KHz,频点Freq 根据设备自身ID决定,共有76个频点;由于终端也是根据自身ID 决定的频点,所以全双工自调频中继器需要根据具体情况自动调整为相应频点以便数据准确透传;
由于终端设备需要快速响应指令,所以收发过程中都采用3次超时重发机制,全双工自调频中继器同样会将对应的3次重发机制进行重发。
图8示出了本申请一种基于修正LoRaWAN协议的全双工自调频中继器实现方法的流程图。
如图8所示,本发明第二方面提供了一种基于修正LoRaWAN协议的全双工自调频中继器实现方法,所述方法具体如下:
所述全双工自调频中继器上电运行后,首先确定通讯模组是用来执行透传下行代码还是执行透传上行代码;
若所述通讯模组确定为执行透传下行代码后,再判断所述中继器是独立中继器还是多终端中继器;
如果为多终端中继器,则拨码对应按键时,通讯模组发送设置为多终端中继指令至服务器,服务器根据收到的指令,将后续发送的终端指令都由网关先转发到中继器,之后网关再将数据发送到中继器;
中继器在接收端数据后,根据预先定义的协议内容解析出终端ID,然后将发送频点调整为该终端的接收频点进行数据转发;
如果该中继为独立中继器,再确定所述通讯模组是否配置了要转发的终端,如果没有配置则继续查询等待配置并设置为红灯错误指示;如果配置了对应的转发终端,则中继器将所述通讯模组收发频点设置为已配置的终端频点,侦听网关下行给该终端的数据,然后进行转发,终端收到数据后可以过滤重发的无效数据;
若所述通讯模组确定为执行透传上行代码后,再确定所述通讯模组是独立中继器还是多终端中继器;如果为多终端中继,则拨码对应按键时,所述通讯模组发送设置为多终端中继指令至终端设备,终端设备根据收到的指令,将后续发送的数据指令都先转发到中继器,中继器在接收终端数据后,根据预先定义的协议内容解析出网关ID,然后将发送频点调整为该网关的接收频点进行数据转发;
如果为独立中继器,则中继器再确定所述通讯模组是否配置了要转发的网关,如果没有配置则继续查询等待配置并设置为红灯错误指示;如果配置了对应的转发网关,则中继器将所述通讯模组收发频点设置为已配置的网关频点,侦听终端上行给该网关的数据,然后进行转发,服务器收到数据后可以过滤重发的无效数据。
根据本发明实施例,所述通讯模组通过读取MCU指定的GPIO口是为高电平还是低电平,来确定所述通讯模组是用来执行透传下行代码还是执行透传上行代码;若为高电平,则所述通讯模组是用来执行透传下行代码;若为低电平,则所述通讯模组用来执行透传上行代码。
所述通讯模组通过读取MCU指定的IO口是为高电平还是低电平,来确定所述中继器是独立中继器还是多终端中继器;若为高电平,则所述中继器是独立中继器;若为低电平,则所述中继器是多终端中继器。
所述中继器通过读取MCU指定的另一IO口是为高电平还是低电平,来确定该通讯模组是否配置了要转发的终端,若是高电平,则所述通讯模组配置了要转发的终端;若是低电平,则所述通讯模组没有配置要转发的终端。
本发明公开了一种基于修正LoRaWAN协议的全双工自调频中继器及其实现方法,所述中继器对LoRaWAN 的CLASS C模式进行修正,满足智能家居实时响应需求;
所述中继器为全双工通讯模式,满足同时收发的实时性要求;
所述中继器采用异频通讯,可以防止自干扰和或干扰问题;
所述中继器可配置和设置为自调节频点通讯,可以作为多个多频点终端的中继,也可以设置和配置为独立终端节点的中继,不与其他终端公用。
所述中继器的接收和发送采用的模式都可以独立配置,不相互干扰。
所述中继器采用双模组通讯但统一为一套代码和硬件实现。
所述中继器解决了修正LoRaWAN后的通讯距离不够或者存在盲区问题。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。