掌桥专利:专业的专利平台
掌桥专利
首页

基于USB实现RNDIS的对讲通信设备数据传输方法

文献发布时间:2024-04-18 19:58:53


基于USB实现RNDIS的对讲通信设备数据传输方法

技术领域

本发明属于对讲通讯技术领域,具体涉及基于USB实现RNDIS的对讲通信设备数据传输方法。

背景技术

现有技术中,通常需要通过PC写频软件连接通信终端后,对其读频或修改配置文件、设置各项参数进行写频。

以对讲机为例,一般流程,通过在电脑上装入写频线的驱动,通常写频线附带驱动,安装好驱动和写频软件后,打开对讲机电源,进入电脑的设备管理器查看正确的对讲机COM端口,然后选择正确的端口,并适配好网络,做好这些前期准备工作之后才能开始写频。

对讲机的应用领域越来越广泛,民航、铁路、运输、各类服务业等都有覆盖。大部分对讲机在出厂时已经预先进行了写频设置,但是实际应用当中,用户需要根据自身情况配置自己的设备。

在配置的过程中,用户为了防止通话被窃听,需要对自己的设备进行特有的配置。例如警用平台上的用户尤其注重信息安全问题。

传统的一些对讲设备,仅用一根编程线(串口线或USB线),就能轻松实现从设备中读取数据,在一些重要的领域,通讯设备的配置一旦泄露,被人破解,容易给破解方可乘之机,从而造成信息泄露、财产损失。

发明内容

为解决现有技术的不足,实现基于USB连接的数据安全传输的目的,本发明采用如下的技术方案:

一种基于USB实现RNDIS的对讲通信设备数据传输方法,应用于主机侧;

通过USB连接发现并获取USB接口配置属性,并将客户端被配置为RNDIS设备,以基于RNDIS协议建立与客户端的USB_NET网络连接;

广播带有USB接口配置属性的配置消息,以使客户端基于获取的USB接口配置属性与其本地的USB接口配置属性进行匹配,当匹配一致时,基于配置消息的配置内容进行客户端配置,并启动客户端侧的连接建立、反馈响应消息,否则丢弃配置消息;

获取响应消息,并启动主机侧的连接建立,与客户端进行数据传输,传输的数据包含短消息和/或文件流。

进一步地,检测客户端的USB连接,通过USB枚举发现并配置客户端,获取接入客户端的描述属性,描述属性包含客户端出厂设备描述,由于主机可能通过USB连接多台客户端,而不同类型的客户端可能会有不同的设备路径,因此需要根据客户端的USB地址选取相应的IP地址和PID,生成IP_PID配置命令,基于客户端的缺省IP地址,通过UDP广播带有客户端出厂设备描述的配置消息,以使客户端基于广播的客户端出厂设备描述与自身的出厂设备描述进行比较,当匹配一致时,基于配置消息中的IP_PID配置命令,为客户端分配IP地址和PID。

进一步地,所述客户端出厂设备描述为物理硬件设备标识的信息码PESN。

进一步地,按ICP流程发起ICP连接建立,通过客户端信息获取命令,基于一定频次,发起获取客户端基本信息的请求,以使客户端收到请求后进行回应,在一定发送频次和/或发送时间内获取到客户端回应,则建立ICP连接,否则连接失败。主机实时监测ICP连接状态,一旦发现ICP连接中断,则提示连接中断。

进一步地,所述连接建立后,通过文件传送协议TFTP进行文件的上传和下载,在某个时刻只允许传送一个文件;文件传送总是由主机发起,当主机需要传送文件时,向客户端发送文件传送请求,以使客户端收到请求后回复文件传送响应,主机若没有收到响应,则间隔发送请求,在连续多次接收响应超时后,认为文件传送失败。

进一步地,文件传送过程中,基于客户端间隔反馈的文件传送升级报告,获取文件传送进度,在收到客户端的文件传送响应后,一定时间内未收到客户端的文件传送升级报告,则认为文件传送失败。

进一步地,主机基于控制流程进行控制操作,以使客户端收到控制情况后,根据操作内容执行相应动作,控制操作包括连接断开、重启/关机、进入/离开配置模式、进入/离开升级模式,对应的动作包括按顺序执行:发送控制响应、延时、断开连接,按顺序执行:发送控制响应、延时、重启/关机,按顺序执行:进入/离开配置模式、发送控制响应,按顺序执行:进入/离开升级模式、发送控制响应。

一种基于USB实现RNDIS的对讲通信设备数据传输方法,应用于客户端侧;

通过USB接口与主机连接,提供本地USB接口配置属性,并被配置为RNDIS设备,以基于RNDIS协议建立与主机的USB_NET网络连接;

获取主机广播的带有USB接口配置属性的配置消息,并将其与本地的USB接口配置属性进行匹配,当匹配一致时,通过配置消息的配置内容进行配置,并启动本地的连接建立、反馈响应消息,以使主机基于获取的响应消息启动主机侧连接建立,与主机进行数据传输,传输的数据包含短消息和/或文件流,否则丢弃配置消息。

一种基于USB实现RNDIS的对讲通信设备,包括检测和配置模块、广播模块、连接建立模块和数据传输模块;

所述检测和配置模块,通过USB连接发现并获取USB接口配置属性,并将客户端被配置为RNDIS设备,以基于RNDIS协议建立与客户端的USB_NET网络连接;

所述广播模块,广播带有USB接口配置属性的配置消息,以使客户端基于获取的USB接口配置属性与其本地的USB接口配置属性进行匹配,当匹配一致时,基于配置消息的配置内容进行客户端配置,并启动客户端侧的连接建立、反馈响应消息,否则丢弃配置消息;

所述连接建立模块,用于获取客户端的响应消息,并基于响应消息启动主机侧的连接建立;

所述数据传输模块,用于主机与客户端进行数据传输,传输的数据包含短消息和/或文件流。

一种基于USB实现RNDIS的对讲通信设备,包括接入模块和连接建立模块;

所述接入模块,通过USB接口与主机连接,提供本地USB接口配置属性,并被配置为RNDIS设备,以基于RNDIS协议建立与主机的USB_NET网络连接;

所述连接建立模块,获取主机广播的带有USB接口配置属性的配置消息,并将其与本地的USB接口配置属性进行匹配,当匹配一致时,通过配置消息的配置内容进行配置,并启动本地的连接建立、反馈响应消息,以使主机基于获取的响应消息启动主机侧连接建立,与主机进行数据传输,传输的数据包含短消息和/或文件流,否则丢弃配置消息。

所述数据传输模块,用于主机与客户端进行数据传输

本发明的优势和有益效果在于:

本发明的基于USB实现RNDIS的对讲通信设备数据传输方法,基于对讲通信设备出厂的硬件属性建立连接,从而提升基于USB连接的对讲通信设备配置安全性,在轻松实现设备数据读取的同时,针对重要领域,能够避免通讯设备的配置泄漏,提升了信息安全和财产安全。

附图说明

图1是本发明实施例中设备配置流程图。

图2是本发明实施例中IP_PID配置流程图。

图3是本发明实施例中设备信息获取流程图。

图4是本发明实施例中文件传送及升级流程图。

图5是本发明实施例中终端控制流程图。

图6是本发明实施例中装置的结构示意图。

图7是本发明实施例中系统的结构示意图。

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

一种基于USB实现RNDIS的对讲通信设备数据传输方法,终端通过USB连接PC机,并基于RNDIS(Remote Network Driver Interface Specification,远程网络驱动程序接口规范)/USB(Universal Serial Bus,通用串行总线)实现USB_NET(usb转net)功能。当终端和PC之间通过USB线缆连接后即进入USB_NET初始化阶段。此阶段中PC侧的HOST通过USB枚举发现并配置终端设备。由于终端被配置为RNDIS设备,因此最终PC和终端之间将建立基于RNDIS协议的网络连接,即USB_NET。

PC侧运行的Host和终端侧运行的Client之间通过USB_NET实现相互通信,按ICP(Internal Communication Protocol,内部通信协议)流程发起ICP连接后,实现对讲通信设备的数据传输功能,数据传输的数据包含短消息和文件流。

终端在连接到PC机时,终端侧拥有一个缺省IP地址,在终端初始化USB连接时,为了使得Host侧方便地在USB设备和对应的RNDIS Adapter(RNDIS适配器)之间建立映射关系,要求终端设备将其USB的iProduct描述设置为“EtraTerminal-xxxxxxxxxxxx”,其中xxxxxxxxxxxx为终端USB_NET接口配置的PESN码(是识别一个物理硬件设备标识的信息码)。此PESN,将用在IP_PID配置命令中,以便终端进行匹配,PID为Process Identifier,表示进程ID。

PC侧程序在安装过程中安装了本数据传输方法所需要的驱动,通过扫描USB设备来检测设备的插入和拔出。当检测到设备插入时,通过UDP(User Datagram Protocol,用户数据报协议,是开放式系统互联OSI参考模型中一种无连接的传输层协议,端口号为19000)广播IP_PID配置消息来为插入的终端分配IP地址和PID。终端收到该配置命令后,将其中的PESN与其本地的PESN进行比较,只有和本地的匹配才认为此配置消息属于自己,如果不匹配,则应丢弃该消息。设备发现和配置流程如图1所示。

PC侧的Host支持USB设备的插入和移除检测。当检测到设备(通过iProduct描述及PID/VID)时,Host(主机,此处特指PC侧的程序)根据设备的USB地址(不同类型的设备会有不同的DevicePath)选择相应的IP地址以及PID(进程ID),并通过UDP报文将配置发送给终端。终端接收到IP_PID配置消息后,应对比其中的PESN是否和自己匹配,如果不匹配,则丢弃该消息,否则就按消息中的内容配置自己的IP地址并启动ICP建立过程,最后发送响应消息给Host。Host收到配置响应消息后,则启动Host侧的ICP建立过程。

终端和Host均采用UDP端口(端口号:19000)来收发IP_PID配置消息。IP地址及PID分配流程如图2所示。

完成IP/PID分配后,Host和终端各自按ICP协议流程发起ICP连接建立。

Host可以在必要时通过终端信息获取命令(EAST_DEVINFO_REQ)来获取终端的基本信息。终端的Client收到EAST_DEVINFO_REQ后回应EAST_DEVINFO_REP。

Host在没有收到EAST_DEVINFO_REP之前应间隔500ms重复发送EAST_DEVINFO_REQ。如果在发送5次(2.5S)后依然没有收到EAST_DEVINFO_REP,则提示设备连接失败。

ICP连接建立后,Host实时监测ICP连接的状态,一旦发现ICP连接中断,则提示连接中断。Host获取设备信息的流程如图3所示。

Host及终端使用文件传送流程,通过ICP通道实现文件的上传和下载。文件传送之前Host需要正确配置TFTP(Trivial File Transfer Protocol,普通文件传送协议,也是采用客户机/服务器模式的文件传输协议)服务器。Host和终端之间某个时刻只允许传送一个文件。

文件传送总是由Host发起。当Host需要传送文件时,发送文件传送请求EASTT_FILE_TRANS_REQ给终端。终端在收到EAST_FILE_TRANS_REQ后回复文件传送响应EAST_FILE_TRANS_REP。如果没有收到EAST_FILE_TRANS_REP,EASTHost间隔500ms发送EAST_FILE_TRANS_REQ。如果连续3次接收EAST_FILE_TRANS_REP超时,则按文件传送失败处理。

在TFTP传送过程中,Client(客户端,文中特指终端)间隔500ms报告一次文件传送升级报告EAST_FILE_TRANS_RPT,以便Host知悉文件传送的进度。Host在收到终端的文件传送响应后,如果在5S内没有收到终端的响应EAST_FILE_TRANS_RPT,则按文件传送失败处理。文件传送流程如图4所示。

Host通过控制流程实现连接断开、终端重启/关机控制、进入/离开配置模式、进入升级模式等。

Client在收到控制请求(EAST_CTRL_REQ)后应根据请求中的操作内容执行相应的动作,如下:

操作 动作说明

连接断开 按顺序执行:发送控制响应、延时100ms、断开连接

重启/关机 按顺序执行:发送控制响应、延时100ms、重启/关机

进入/离开配置模式 按顺序执行:进入/离开配置模式、发送控制响应

进入/离开升级模式 按顺序执行:进入/离开升级模式、发送控制响应

终端控制流程如图5所示。

IP_PID配置及响应消息用于配置终端及Host在USB_NET上的IP地址以及进程ID。这些消息封装在UDP报文中传送。UDP端口号(目的和源)固定为19000。

终端收到该配置命令后应将其中的PESN与其本地的PESN进行比较,只有和本地的匹配才认为此配置消息属于自己,如果不匹配,则应丢弃该消息。

如图6所示,一种基于USB实现RNDIS的对讲通信设备,主机侧包括检测和配置模块、广播模块、连接建立模块和数据传输模块,客户端侧包括接入模块和连接建立模块,

所述检测和配置模块,通过USB连接发现并获取USB接口配置属性,并将客户端被配置为RNDIS设备,以基于RNDIS协议建立与客户端的USB_NET网络连接;

所述广播模块,广播带有USB接口配置属性的配置消息,以使客户端基于获取的USB接口配置属性与其本地的USB接口配置属性进行匹配,当匹配一致时,基于配置消息的配置内容进行客户端配置,并启动客户端侧的连接建立、反馈响应消息,否则丢弃配置消息;

所述连接建立模块,用于获取客户端的响应消息,并基于响应消息启动主机侧的连接建立;

所述数据传输模块,用于主机与客户端进行数据传输,传输的数据包含短消息和/或文件流。

所述接入模块,通过USB接口与主机连接,提供本地USB接口配置属性,并被配置为RNDIS设备,以基于RNDIS协议建立与主机的USB_NET网络连接;

所述连接建立模块,获取主机广播的带有USB接口配置属性的配置消息,并将其与本地的USB接口配置属性进行匹配,当匹配一致时,通过配置消息的配置内容进行配置,并启动本地的连接建立、反馈响应消息,以使主机基于获取的响应消息启动主机侧连接建立,与主机进行数据传输,传输的数据包含短消息和/或文件流,否则丢弃配置消息。

这部分内容实施方式与上述方法实施例的实施方式类似,此处不再赘述。

与前述基于USB实现RNDIS的对讲通信设备数据传输方法的实施例相对应,本发明还提供了基于USB实现RNDIS的对讲通信设备数据传输系统的实施例。

参见图7,本发明实施例提供的基于USB实现RNDIS的对讲通信设备数据传输系统,包括存储器和一个或多个处理器,存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述实施例中的基于USB实现RNDIS的对讲通信设备数据传输方法。

本发明基于USB实现RNDIS的对讲通信设备数据传输系统的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本发明基于USB实现RNDIS的对讲通信设备数据传输系统所在任意具备数据处理能力的设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于USB实现RNDIS的对讲通信设备数据传输方法。

所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。

相关技术
  • 一种实现KVM功能的USB设备通信方法与装置
  • 一种基于RNDIS的USB网卡数据加解密方法
  • 一种实现终端网络适配的方法及RNDIS设备
技术分类

06120116514615