本发明涉及语音对讲领域,特别涉及一种基于lora技术的语音对讲装置及方法。
背景技术:
现有的对讲机分为模拟对讲机、数字对讲机以及ip对讲机,这些方式都存在如下一些缺点:
1、体积大(一般都在110x60x30mm),待机时间短;
2、功耗高(发射功率在1w以上,接收功率在150mw),宽带的利用率低。
对于ip对讲机,在没有ip或手机网络覆盖的场景中无法使用。
技术实现要素:
本发明提供一种基于lora技术的语音对讲装置及方法,旨在解决现有对讲设备功率高、待机时间短、宽带利用率低的问题。
本发明提供一种基于lora技术的语音对讲装置,包括网关和节点,所述网关与节点之间通过通信连接,所述网关为lora网关与服务器集合一体的设备,所述节点为lora对讲设备,所述网关包括网关微控制器、网关lora射频模块、网关电源模块,所述网关lora射频模块、网关电源模块分别与网关微控制器连接,所述节点包括节点微控制器、节点lora射频模块、节点电源模块、播放模块、音频编解码器,所述节点lora射频模块、节点电源模块、播放模块、录入模块、音频编解码器分别与节点微控制器连接。
作为本发明的进一步改进,所述网关还包括音频编解码器、播放模块、录入模块,所述音频编解码器、播放模块、录入模块分别与网关微控制器连接。
作为本发明的进一步改进,所述播放模块包括功放、喇叭,所述录入模块包括麦克风。
本发明还提供一种基于lora技术的语音对讲方法,包括以下步骤:
s1.对所有节点进行通话编组;
s2.生成音频数据:录入模块收到音频模拟信号,进入音频编解码器进行编码,编码后经过音频流压缩算法进行压缩,生成一帧帧压缩音频数据并发送到节点;
s3.节点发送语音:向网关发送包含了音频数据的“发起组语音请求”,并打开连续的接收窗口;
s4.网关转发语音:接收到节点的“发起组语音请求”并回复请求允许之后,以组播的方式将音频数据发出给其他节点;
s5.节点接听语音:打开连续的接收窗口接听语音;
s6.播放音频数据:将收到的音频数据通过与压缩算法对应的解压算法解压,再通过音频编解码器将数据解码成模拟信号通过播放模块播放。
作为本发明的进一步改进,所述步骤s2包括:
s21.向网关发送包含了音频数据的“发起组语音请求”;
s22.判断网关是否在设定时间内回复,若节点超时未收到对请求的允许,则返回步骤s21,若节点在规定时间内收到回复,则执行s23;
s23.节点判断网关对“发起组语音请求”的反馈信息,若反馈为拒绝请求,则进入“接听模式”;若反馈为允许请求,则进入“发送模式”,并执行步骤s24;
s24.编码语言数据并压缩发送;
s25.判断语言数据是否发送结束,若发送未结束,则返回步骤s24;若发送结束,发送结束标志到网关,退出“发送模式”,进入“监听模式”。
作为本发明的进一步改进,所述步骤s3还包括以下步骤:
s31.接收到节点的“发起组语音请求”,判断当前编组中是否有节点正在发送音频,若有则反馈拒绝请求;若无则反馈允许请求,则执行步骤s32;
s32.网关判断是否在设定时间内收到节点的语言数据,若超时则通过组播转发语言数据结束标志给编组内的其他节点,若未超时,则执行步骤s33;
s33.网关判断是否收到节点发送的语言数据结束标志,若未收到则返回步骤s32,若收到则通过组播转发语言数据结束标志给编组内的其他节点。
作为本发明的进一步改进,所述步骤s4包括以下步骤:
s41.节点进入“监听模式”,间隔固定时间打开一次接收窗;
s42.判断是否有语言需要接收,若无则返回步骤s41;若有则进入“接听模式”,打开连续的接收窗口,并执行步骤s43;
s43.接收语言数据,并解码播放;
s44.判断是否收到语言结束标志,若未收到则执行步骤s43;若收到则退出“接听模式”,关闭连续的接收窗口,并重复步骤s41。
作为本发明的进一步改进,所述步骤s1具体为:
s11.对所有节点进行通话编组,组与组之间使用不同的秘钥对音频数据进行加密。
作为本发明的进一步改进,节点采用半双工的通信方式。
作为本发明的进一步改进,所有节点使用网关的信标来同步时间,并且所有节点采用基于信标的同一接收偏移时间。
本发明的有益效果是:本发明采用lora通讯技术加audiocodec(音频编解码器),利用lora的低功耗、长距离以及低价格特点,解决现有对讲机体积大,待机时间短的问题;使用随机跳频的方式来提高带宽利用率;使用分组秘钥加密的方式保证了语音的安全性;并且使用低采样率、低精度、高压缩比的方式,在保证语音信息有效传递的同时减少带宽占用。
附图说明
图1是本发明一种基于lora技术的语音对讲装置的结构示意图;
图2是本发明一种基于lora技术的语音对讲方法中节点发送语音流程图;
图3是本发明一种基于lora技术的语音对讲方法中网关转发语音流程图;
图4是本发明一种基于lora技术的语音对讲方法中节点接听语音流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
实施例一:
如图1所示,本发明的一种基于lora技术的语音对讲装置,包括网关1和节点2,网关1与节点2之间通过通信连接,网关1为lora网关与服务器集合一体的设备,节点2为lora对讲设备,网关1包括网关微控制器11、网关lora射频模块12、网关电源模块13,网关lora射频模块12、网关电源模块13分别与网关微控制器11连接,节点2包括节点微控制器21、节点lora射频模块22、节点电源模块23、播放模块4、音频编解码器3,节点lora射频模块22、节点电源模块23、播放模块4、录入模块5、音频编解码器3分别与节点微控制器21连接。
网关1还包括音频编解码器3、播放模块4、录入模块5,音频编解码器3、播放模块4、录入模块5分别与网关微控制器11连接。如果场景中需要移动式可对讲网关,可以在网关中加入音频编解码器3、功放、喇叭、麦克风和电池,使网关也具有对讲功能,并且可以随身携带。
播放模块4包括功放、喇叭,所述录入模块5包括麦克风。功放、喇叭用于播放节点的音频,而麦克风用于录入音频到节点。
lora通讯技术加音频编解码器3,利用lora的低功耗、长距离以及低价格特点,解决现有对讲机体积大,待机时间短的问题。
在野外或海上作业时,可以将lora对讲机做成耳麦的方式,它的体积小,极大解放了作业员的双手;并且功耗低、待机时间长,不用为不方便充电而担忧;它的低成本优势可以在这些应用领域更好的普及。
实施例二:
本发明的一种基于lora技术的语音对讲方法,包括以下步骤:
s1.对所有节点进行通话编组;
s2.生成音频数据:录入模块收到音频模拟信号,进入音频编解码器进行编码,编码后经过音频流压缩算法进行压缩,生成一帧帧压缩音频数据并发送到节点;
s3.节点发送语音:向网关发送包含了音频数据的“发起组语音请求”,并打开连续的接收窗口;
s4.网关转发语音:接收到节点的“发起组语音请求”并回复请求允许之后,以组播的方式将音频数据发出给其他节点;
s5.节点接听语音:打开连续的接收窗口接听语音;
s6.播放音频数据:将收到的音频数据通过与压缩算法对应的解压算法解压,再通过音频编解码器将数据解码成模拟信号通过播放模块播放。
其中,步骤s1具体为:
s11.对所有节点进行通话编组,组与组之间使用不同的秘钥对音频数据进行加密,以此防止跨组偷听,保证了语音的安全性。
节点采用半双工的通信方式,即同时只能作为接收方或发送方一种角色。
所有节点使用网关的信标来同步时间,并且所有节点采用基于信标的同一接收偏移时间。
由于此对讲系统主要采用人声语音,因此音频采用低采样率低精度采样,并且使用高压缩比压缩算法,这样可以有效减少lora带宽占用。
实施例三:
如图2所示,在实施例二的基础上,步骤s2包括:
s21.向网关发送包含了音频数据的“发起组语音请求”;
s22.判断网关是否在设定时间内回复,若节点超时未收到对请求的允许,则返回步骤s21,若节点在规定时间内收到回复,则执行s23;
s23.节点判断网关对“发起组语音请求”的反馈信息,若反馈为拒绝请求,则进入“接听模式”;若反馈为允许请求,则进入“发送模式”,并执行步骤s24;
s24.编码语言数据并压缩发送;
s25.判断语言数据是否发送结束,若发送未结束,则返回步骤s24;若发送结束,发送结束标志到网关,退出“发送模式”,进入“监听模式”。
“监听模式”为间隔1秒打开一次短接收窗口,以此监听当前节点所在的组是否有对讲语音,是否需要接听语音;
“发送模式”为节点只能作为发送方角色的模式;
“接听模式”为节点只能作为接收方角色的模式。
如果当前节点期望发送语音数据(“讲话”)到指定组,需要确认当前并不在“接听模式”,然后向网关发送“发起语音请求”(其中包含了组信息),并且打开连续的接收窗口。此时有三种可能:
1.节点接收到网关对请求的拒绝,说明有语音需要接听,此时进入“接听模式”;
2.节点在超时时间内没有收到对请求的允许,那么再次发送“发起语音请求”;
3.如果此节点收到网关的对请求的允许,则开始发送语音,当发送结束时,要主动的发送结束标志到网关退出“发送模式”,此时回到“监听模式”。
实施例四:
如图3所示,在实施例一的基础上,步骤s3还包括以下步骤:
s31.接收到节点的“发起组语音请求”,判断当前编组中是否有节点正在发送音频,若有则反馈拒绝请求;若无则反馈允许请求,则执行步骤s32;
s32.网关判断是否在设定时间内收到节点的语言数据,若超时则通过组播转发语言数据结束标志给编组内的其他节点,若未超时,则执行步骤s33;
s33.网关判断是否收到节点发送的语言数据结束标志,若未收到则返回步骤s32,若收到则通过组播转发语言数据结束标志给编组内的其他节点。
对于网关来说,接收到某个节点的“发起组语音请求”并且回复请求允许之后,会以组播的方式将音频数据发出。如果一段时间没有收到当前节点的任何数据,并且这个时间超过了限定的超时时间,那么网关会主动将语音数据结束的标志通过组播发送给其他节点,并且网关会忽略超时节点后续的数据发送,直到该节点再次发送“发起组语音请求”。
实施例五:
如图4所示,在实施例一的基础上,步骤s4包括以下步骤:
s41.节点进入“监听模式”,间隔固定时间打开一次接收窗;
s42.判断是否有语言需要接收,若无则返回步骤s41;若有则进入“接听模式”,打开连续的接收窗口,并执行步骤s43;
s43.接收语言数据,并解码播放;
s44.判断是否收到语言结束标志,若未收到则执行步骤s43;若收到则退出“接听模式”,关闭连续的接收窗口,并重复步骤s41。
在监听模式中的节点,如果有语音数据需要接听,则进入“接听模式”,此时打开连续的接收窗口来接听语音,直到收到语音结束的标志。接收语音结束后需要关闭连续的接收窗口,退出“接听模式”,再次进入“监听模式”。
本发明的优点:
1、对讲机体积可以做到更小(可以做到“40mmx30mmx20mm”);
2、功耗更低(发射功率在200mw以下,接收功率在30mw以下,由于间隔1秒打开一次短接收窗口的方式,平均接收功率在1mw以下);
3、设备组成更为简单,生产更便捷;
4、成本更低。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。