一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

红外线数据传输方法、装置、系统及相关设备与流程

2021-08-24 16:07:00 来源:中国专利 TAG:数据传输 红外线 装置 方法 相关
红外线数据传输方法、装置、系统及相关设备与流程

本发明属于红外线数据传输技术应用技术领域,尤其涉及一种红外线数据传输方法、装置、系统及相关设备。



背景技术:

如今,人们的生活和工作中充满了各式各样的电子产品,例如:tv电视机、dvd、game机、audio、投影设备等,甚至像冷气、电子锁、铁门、车门都是利用电子信号控制启闭,为了要控制各式各样的电子产品,所以需使用遥控器才能启动开关,而现在的遥控器多使用红外线进行电子产品的无线控制。

例如,对于通常的无线投影设备,其数据发送端接在讯号源(如电脑、盒子等),无线投影设备的数据接收端接在显示设备(如屏幕等)上,因此,需要通过红外遥控器来控制接在数据接收端的红外线接收器,从而控制在数据发送端周围的设备(如setbox,dvdplayer等讯号输出设备)。由于需要控制的数据发送端周围的设备无法事先知道红外遥控器是什么红外传输协议,也不知道红外遥控器所使用的载波频率,所以需要没有解调器的红外线接收器。但现有的红外线接收器只支持特定的红外载波频率,且仅支持一种特定的协议,导致基于红外线通信的设备的通用性较低。



技术实现要素:

针对上述的不足,本发明实施例提供一种红外线数据传输方法、装置、系统及相关设备,旨在解决因为现有的红外线接收器只支持特定的红外载波频率、且仅支持一种特定的协议而导致的基于红外线通信的设备的通用性较低的问题。

第一方面,本发明实施例提供一种红外线数据传输方法,所述红外线数据传输方法包括以下步骤:

通过红外接收器获取外部发射器发出的红外信号;

在预设时间内对所述红外信号进行全频采样,得到采样数据后存储到所述红外接收器的数据缓冲区;

当所述数据缓冲区内的数据达到预设值时对所述采样数据进行预处理,得到预处理采样数据;

根据预设的协议对所述预处理采样数据进行拆封,并通过队列传输到红外发送器。

进一步地,所述预设时间包括中断处理时间,所述对所述红外信号进行全频采样,得到采样数据的步骤包括:

获取所述红外信号的频率;

在所述中断处理时间内,将采样频率设置为所述红外信号频率的至少两倍进行采样,得到所述采样数据。

进一步的,所述对所述采样数据进行预处理,得到预处理采样数据的步骤包括:

当所述红外接收器的数据缓冲区内的数据达到预设值时,从所述红外接收器的数据缓冲区读取所述采样数据并进行数据检测,得到检测结果;

如果所述检测结果不包括空值,则对读取到的采样数据进行滤波处理。

进一步的,所述预设的协议包括红外数据解析协议和数据传输协议,所述根据预设的协议对所述预处理采样数据进行拆封,并通过队列传输到红外发送器的步骤包括:

根据所述红外数据解析协议对所述预处理采样数据进行解析,得到待传输数据;

根据所述数据传输协议的数据包格式将所述待传输数据进行打包,得到多个数据包;

将所述多个数据包加入队列并依次传输到所述红外发送器。

进一步的,所述红外数据解析协议包括nec协议或sony协议,所述数据传输协议包括tcp协议或udp协议。

进一步的,所述红外发送器包括发送器数据缓冲区,用以缓存所述通过队列传输过来的数据包,并将数据包累积一定数量后发送到外部的数据接收端。

第二方面,本发明实施例还提供一种红外线数据传输装置,包括:

获取模块,用于通过红外接收器获取外部发射器发出的红外信号;

采样和存储模块,用于在预设时间内对所述红外信号进行全频采样,得到采样数据后存储到所述红外接收器的数据缓冲区;

预处理模块,用于当所述数据缓冲区内的数据达到预设值时对所述采样数据进行预处理,得到预处理采样数据;

拆封和传输模块,用于根据预设的协议对所述预处理采样数据进行拆封,并通过队列传输到红外发送器。

第三方面,本发明实施例还提供一种红外线数据传输系统,所述红外线数据传输系统包括:

用于发射红外信号的发射器、用于接收所述发射器发射的红外信号并可以对所述红外信号执行如上所述的红外线数据传输方法的红外接收器、以及和所述红外接收器通信连接并接收所述红外接收器传输的红外线数据的红外发送器,所述红外发送器用于与外界的数据接收端通信连接并将其接收的所述红外线数据发送至该数据接收端。

第四方面,本发明实施例还提供一种计算机设备,所述计算机设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例中任一项所述的红外线数据传输方法中的步骤。

第五方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时实现本发明实施例中任一项所述的红外线数据传输方法中的步骤。

与现有技术相比,本发明实施例通过红外接收器获取到外部发射器发出的红外信号后对红外信号进行全频采样,得到采样数据后缓存于红外接收器的数据缓冲区,可以使红外接收器支持宽范围频率的红外信号,有助于提高红外通信设备的通用性,并在缓冲区内的数据达到预设值时对采样数据进行检测和滤波等预处理后根据预设的多种可选数据传输协议进行解析和拆封,将采样数据打包成一个个的数据包后,通过队列依次传输到红外发送器作进一步的处理以便控制相应的外围受控设备,而不用关心红外遥控设备发出的红外信号频率和红外发送器外围受控设备的接收频率,从而可以通过支持多种协议来进一步提高红外通信设备的通用性。

附图说明

图1是本发明实施例提供的一种红外线数据传输方法的流程示意图;

图2是本发明实施例所提供的一种计算机程序的功能模块示意图;

图3是本发明实施例提供的一种红外线数据传输系统的流程示意图;

图4是本发明实施例提供的一种计算机设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,图1是本发明实施例提供的一种红外线数据传输方法的流程示意图,在本发明实施例中,红外线数据传输方法包括步骤101至步骤104,具体步骤如下:

101、通过红外接收器获取外部发射器发出的红外信号。

在本发明实施例中,可以通过外部发射器(如红外遥控器)上的按键发射上述红外信号,且其载波频率可以是红外频率20khz-60khz中的任一频率;上述红外信号按照一定的编码规则进行编排,通常包括引导码、用户码、数据码、校验码等,不同的码可以通过对信号采用不同周期和不同占空比的脉冲来产生。上述红外接收器与上述红外遥控器配对并能接收上述红外信号,然后对信号进行处理和进一步的解析。

102、在预设时间内对所述红外信号进行全频采样,得到采样数据后存储到所述红外接收器的数据缓冲区。

进一步的,所述预设时间包括中断处理时间,上述步骤102具体包括:

获取所述红外信号的频率;

在所述中断处理时间内,将采样频率设置为所述红外信号频率的至少两倍进行采样,得到所述采样数据。

在本发明实施例中,上述预设时间包括中断处理时间,可以通过系统的硬中断实现,也可以通过设定一个计时器实现;上述获取到的红外信号可能是红外频率20khz-60khz中的任一载波信号,可以通过其载波脉冲周期获得其频率,要进行全频采样因此需要将采样频率设置为至少是上述红外信号频率的2倍,例如对于60khz的红外信号,全频采样频率应该设置为120khz,具体的在系统触发硬中断时,以全频采样频率去采样获取的红外信号的电压的高低,这样在中断处理时间内就能用全频采样的方式将红外载波信号以数位方式完整获取并保留下来作为上述采样数据,然后存储到上述红外接收器的数据缓冲区,从而不会因信号缺失而导致数据丢失,且可以支持宽范围的红外载波频率,即支持多种不同频率的红外设备,有助于提高红外通信设备的通用性。

103、当所述红外接收器的数据缓冲区内的数据达到预设值时对所述采样数据进行预处理,得到预处理采样数据。

进一步的,上述步骤103具体包括:

当所述红外接收器的数据缓冲区内的数据达到预设值时,从所述红外接收器的数据缓冲区读取所述采样数据并进行数据检测,得到检测结果;

如果所述检测结果不包括空值,则对读取到的采样数据进行滤波处理。

在本发明实施例中,当上述红外接收器的数据缓冲区内的数据达到预设值,例如4kbytes时,触发上层从上述红外接收器的数据缓冲区读取存储的采样数据,并对读取到的采样数据进行检测,得到检测结果,具体可以通过检测窗口判断在特定的时间内,上述检测窗口可以通过对读取的采样数据重新切分后得到多个数据片段形成,如果每个检测窗口的采样数据的检测结果都是null(空值),则判定为没有红外信号输入,并把采样数据(null空值)直接丢弃,其中,上述特定时间是根据红外通信协议的repeattime(重复时间)来取一个最大值,避免repeatkey(重复按键)被中断,造成对采样数据的误判,上述红外通信协议是红外遥控设备和红外接收器之间通信的具体协议,包括但不限于nec协议、sony协议等,上述特定时间即是取这些协议中repeattime(重复时间)最大的一个值。

进一步的,如果上述检测窗口的采样数据的检测结果不包括空值,则说明有红外信号输入,然后对读取到的采样数据进行滤波处理。因为全频载波的红外信号抗干扰的能力很弱,很容易被环境光源影响而造成上述采样数据中掺杂有噪声,因此需要对读取到的采样数据进行滤波处理,具体可以在上述检测窗口内通过带通滤波器来进行滤波处理,减少其他噪声信号的干扰,使得获得的采样数据尽量不包含噪声数据,从而对红外设备的控制更精准。

104、根据预设的协议对所述预处理采样数据进行拆封,并通过队列传输到红外发送器。

上述预设的协议包括红外数据解析协议和数据传输协议,其中,红外数据解析协议包括nec协议或sony协议,还可以包括tc9012、松下7051协议、rc5/rc6a协议等多种红外通信协议,用来使红外遥控设备和红外接收器之间进行通信;数据传输协议包括tcp协议或udp协议,还可以包括wifi、zigbee等无线通信协议,用来使红外接收器和红外发送器之间进行通信和传输数据。

进一步的,上述步骤104具体包括:

根据所述红外数据解析协议对所述预处理采样数据进行解析,得到待传输数据;

根据所述数据传输协议的数据包格式将所述待传输数据进行打包,得到多个数据包;

将所述多个数据包加入队列并依次传输到所述红外发送器。

在本发明实施例中,上述多种红外数据解析协议虽然在设计细节上各有不同,但是基本思想是相同的,即采用不同周期和不同占空比的脉冲信号分别表示逻辑0及1来进行编码,只要根据每种红外数据解析协议各自定义的编码和解码规则,对占空比及脉冲信号的周期进行解析即可得到具体的编码值,例如nec协议对采样数据的编码通常包括引导码、用户码、数据码、校验码、停止码等,对其中的数据码进行相应的解析即可得到上述待传输数据;然后根据上述数据传输协议的数据包格式将上述待传输数据进行数据切片和打包,可以得到多个数据包,例如当带传输数据的量较大时,可以对待传输数据进行分割,得到多个数据切片,再根据tcp协议或udp协议的报文格式,对数据切片进行封装并打包成数据包后依次加入一个传送数据包的队列中,通过队列来管理和发送一个个的数据包到上述红外发送器,从而可以避免因网络雍塞延迟所导致的红外采样数据的不连续。上述红外接收器和红外发送器之间可以通过上述多种可选的数据传输协议进行红外数据的交换,而不用关心红外遥控设备发出的红外信号频率和红外发送器外围受控设备的接收频率,从而可以通过支持多种协议来进一步提高红外通信设备的通用性。

进一步的,上述红外发送器包括发送器数据缓冲区,用以缓存上述通过队列传输过来的数据包,并将数据包累积一定数量后发送到与其通信连接的外部的数据接收端,完成红外数据的传输,可以缓冲网络延迟的时间,从而可以避免因网络雍塞导致数据不连续甚至丢失。上述数据接收端对红外发送器发送过来的数据作进一步的处理后控制相应的外围设备,从而实现红外控制的过程。

综上所述,本发明实施例通过红外接收器获取到外部发射器发出的红外信号后对红外信号进行全频采样,得到采样数据后缓存于红外接收器的数据缓冲区,可以使红外接收器支持宽范围频率的红外信号,有助于提高红外通信设备的通用性,并在缓冲区内的数据达到预设值时对采样数据进行检测和滤波等预处理后根据预设的多种可选数据传输协议进行解析和拆封,将采样数据打包成一个个的数据包后,通过队列依次传输到红外发送器作进一步的处理以便控制相应的外围受控设备,而不用关心红外遥控设备发出的红外信号频率和红外发送器外围受控设备的接收频率,从而可以通过支持多种协议来进一步提高红外通信设备的通用性。

请参见图2,图2是本发明实施例所提供的一种计算机程序的功能模块示意图,如图2所示,包括:获取模块201、采样和存储模块202、预处理模块203、拆封和传输模块204,其中:

获取模块201用于通过红外接收器获取外部发射器发出的红外信号。在本发明实施例中,可以通过红外遥控器上的按键发射上述红外信号,且其载波频率可以是红外频率20khz-60khz中的任一频率;上述红外信号按照一定的编码规则进行编排,通常包括引导码、用户码、数据码、校验码等,不同的码可以通过对信号采用不同周期和不同占空比的脉冲来产生。上述红外接收器与上述红外遥控器配对并能接收上述红外信号,然后对信号进行处理和进一步的解析。

采样和存储模块202用于在预设时间内对所述红外信号进行全频采样,得到采样数据后存储到所述红外接收器的数据缓冲区。在本发明实施例中,采样和存储模块202用于执行上述步骤102,通过红外信号的载波脉冲周期获得其频率,然后需要将采样频率设置为至少是上述红外信号频率的2倍,这样就能用全频采样的方式将红外载波信号以数位方式完整获取并保留下来作为上述采样数据,然后存储到上述红外接收器的数据缓冲区,从而不会因信号缺失而导致数据丢失,且可以支持宽范围的红外载波频率,即支持多种不同频率的红外设备,有助于提高红外通信设备的通用性。

预处理模块203用于当所述数据缓冲区内的数据达到预设值时对所述采样数据进行预处理,得到预处理采样数据。在本发明实施例中,预处理模块203用于执行和实现步骤103的具体功能。即在中断处理时间内,从所述红外接收器的数据缓冲区读取所述采样数据并进行数据检测,得到检测结果;如果所述检测结果不包括空,则对读取到的采样数据进行滤波处理。具体可以通过检测窗口判断在特定的时间内,如果上述采样数据的检测结果不包括空,则说明有红外信号输入,然后对读取到的采样数据进行滤波处理。具体可以在上述检测窗口内通过带通滤波器来进行滤波处理,减少其他噪声信号的干扰,使得获得的采样数据尽量不包含噪声数据,从而对红外设备的控制更精准。

拆封和传输模块204用于根据预设的协议对所述预处理采样数据进行拆封,并通过队列传输到红外发送器。在本发明实施例中,拆封和传输模块204用于执行步骤104的具体步骤:根据所述红外数据解析协议对所述预处理采样数据进行解析,得到待传输数据;根据所述数据传输协议的数据包格式将所述待传输数据进行打包,得到多个数据包;将所述多个数据包加入队列并依次传输到所述红外发送器。

上述多种红外数据解析协议均采用不同周期和不同占空比的脉冲信号分别表示逻辑0及1来进行编码,只要根据每种红外数据解析协议各自定义的编码和解码规则,对占空比及脉冲信号的周期进行解析即可得到具体的编码值,例如nec协议对采样数据的编码通常包括引导码、用户码、数据码、校验码、停止码等,对其中的数据码进行相应的解析即可得到上述待传输数据;然后根据上述数据传输协议的数据包格式将上述待传输数据进行数据切片和打包,可以得到多个数据包,例如当带传输数据的量较大时,可以对待传输数据进行分割,得到多个数据切片,再根据tcp协议或udp协议的报文格式,对数据切片进行封装并打包成数据包后依次加入一个传送数据包的队列中,通过队列来管理和发送一个个的数据包到上述红外发送器,从而可以避免因网络雍塞延迟所导致的红外采样数据的不连续。上述红外接收器和红外发送器之间可以通过上述多种可选的数据传输协议进行红外数据的交换,而不用关心红外遥控设备发出的红外信号频率和红外发送器外围受控设备的接收频率,从而可以通过支持多种协议来进一步提高红外通信设备的通用性。

本发明实施例还提供一种红外线数据传输系统,请参见图3,图3是本发明实施例所提供的一种红外线数据传输系统的结构示意图,如图3所示,所述红外线数据传输系统300包括:

用于发射红外信号的发射器301、用于接收所述发射器发射的红外信号并可以对所述红外信号执行如上所述的红外线数据传输方法的红外接收器302、以及和所述红外接收器通信连接并接收所述红外接收器传输的红外线数据的红外发送器303,所述红外发送器303用于与外界的数据接收端304通信连接并将其接收的所述红外线数据发送至该数据接收端。

其中,发射器301包括可以发射多种不同频率红外信号的遥控设备,各种遥控设备发射的不同频率的红外信号被红外接收器302接收并进行全频采样得到采样数据后存储,有助于提高红外通信设备的通用性,然后进行采样数据的检测和滤波处理,将降噪后的采样数据分片打包成一个个数据包后通过队列的方式传输到红外发送器303然后再发送到数据接收端304,红外接收器302和红外发送器303之间支持多种传输协议,而不用关心发射器301发出的红外信号频率和红外发送器303外围受控设备(即数据接收端304)的接收频率,从而可以通过支持多种协议来进一步提高红外通信设备的通用性。上述红外接收器302通常设置于显示设备305上或单独设置,显示设备305用于显示红外接收器302通过红外发送器303从外围受控设备传输过来的数据。

本发明实施例还提供一种计算机设备,请参见图4,图4是本发明实施例所提供的一种计算机设备的结构示意图,如图4所示,所述计算机设备包括存储器41,处理器42以及网络接口43。所述存储器中存储有计算机程序。本发明实施例提供的计算机设备工作时,通过处理器执行存储在存储器上的计算机程序可以完成本发明实施例的流程。

其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如红外线数据传输方法的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器42在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如上述红外线数据传输方法的程序代码。

所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。

以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜