CN112954016A - 基于usb-hid的文件传输方法、装置、设备及介质 - Google Patents

基于usb-hid的文件传输方法、装置、设备及介质 Download PDF

Info

Publication number
CN112954016A
CN112954016A CN202110117657.6A CN202110117657A CN112954016A CN 112954016 A CN112954016 A CN 112954016A CN 202110117657 A CN202110117657 A CN 202110117657A CN 112954016 A CN112954016 A CN 112954016A
Authority
CN
China
Prior art keywords
file
usb
hid
computer
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110117657.6A
Other languages
English (en)
Other versions
CN112954016B (zh
Inventor
张天乐
田志宏
冯毅
张宇
周娜琴
郑莉雯
殷丽华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou University
Original Assignee
Guangzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou University filed Critical Guangzhou University
Priority to CN202110117657.6A priority Critical patent/CN112954016B/zh
Publication of CN112954016A publication Critical patent/CN112954016A/zh
Application granted granted Critical
Publication of CN112954016B publication Critical patent/CN112954016B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开了基于USB‑HID的文件传输方法、装置、设备及介质,方法包括:由手机终端向USB‑HID设备发送文件发送请求信息;所述USB‑HID设备根据所述文件发送请求信息,生成中断服务程序和注入指令;所述目标PC计算机根据所述注入指令创建脚本解析环境,并注册串口中断服务程序;所述手机终端将待传输文件发送至所述USB‑HID设备,由所述USB‑HID设备将所述待传输文件发送至PC计算机;所述PC计算机触发中断服务程序,通过串口读取所述待传输文件。本发明能够降低成本、拓展了应用范围广并且提高了安全性,可广泛应用于计算机技术领域。

Description

基于USB-HID的文件传输方法、装置、设备及介质
技术领域
本发明涉及计算机技术领域,尤其是基于USB-HID的文件传输方法、装置、设备及介质。
背景技术
USB设备是USB电缆末端的一个硬件,它执行用户功能。可以将USB设备分为USB总线接口、USB逻辑设备和功能设备三部分。U盘是USB(universal serial bus)盘的简称,是一种典型的USB设备。U盘是闪存的一种,故有时也称作闪盘。U盘与硬盘的最大不同是,它不需物理驱动器,即插即用,且其存储容量远超过软盘,极便于携带。U盘集磁盘存储技术、闪存技术及通用串行总线技术于一体。USB的端口连接电脑,是数据输入/输出的通道;主控芯片使计算机将U盘识别为可移动磁盘,是U盘的“大脑”;U盘Flash(闪存)芯片保存数据,与计算机的内存不同,即使在断电后数据也不会丢失;PCB底板将各部件连接在一起,并提供数据处理的平台。
现有的网络文件迁移技术可以实现一定程度的自动化控制,但是相比较之下依然可以发现有如下不足之处:
1.现有基于存储介质的USB设备进行文件、文件互传等工作,需要在USB设备具备存储介质和可读写区域,并建立文件系统,存储文件,存在USB设备携带病毒、恶意代码的风险,也存在文件泄露、失控的隐患。
2.Windows操作系统自带的U盘自动播放功能虽可以使U盘在插上电脑的一瞬间就可以自动播放U盘内的文件或程序,可以实现自动化文件迁移操作。但是操作系统开启自动播放功能是比较危险的,很容易被病毒利用,有经验的系统安装人员在安装完系统后常常会禁用此功能,而且一些安全软件也会自动禁用此功能。用户也需要用到这种功能,却由于自己经验不足而导致病毒入侵,“引狼入室”,这种非主观意愿导致系统中毒的体验对用户来说十分不友好,使得用户想用而不敢用。
3.在计算机上自动打开USB设备的方法仅仅只是做到了自动打开USB设备的资源管理器,并未自动执行程序。
4.USB设备在计算机上自动运行软件的方法中,所描述的程序或可执行文件是存储在USB设备的存储设备内的,用户需要将程序或可执行文件导入USB设备的存储设备中,有时候由于操作系统给予的权限不够难以自动运行,并且程序的代码是固定的,用户有时候想进行实时的修改却不方便,需要导进导出文件。
5.通过现有网络应用程序(如百度网盘、微信文件传输助手等)方式可实现文件在不同设备间传输、迁移。但是百度网盘、微信和QQ等聊天工具使用起来步骤多,较为繁琐。用户如果需要将手机端的文件传输到电脑端上,就需要先登陆手机应用的账号,然后再传输上去,然后用户再去登陆电脑端应用的账号,最后再去查找并下载下来,用户体验不是很友好。需要若干用户鼠标、键盘操作,整个迁移过程不是透明、自动、免维护的。另外,账号、密码、链接、提取码等,都是软件、数字形式,且部分是暴露或者容易被破解的,存在数据被泄露、窃取的安全隐患。且存在误操作造成的错发、误发、漏发等风险。微信等程序在传输共享文件时,对夹杂在中文、英文中的各种图标、表情等各类文件不能很好处理,会出现丢失信息、乱码等问题。
6.华为的“一碰传”技术实现了无需用户输入的免维护的D2D设备直接文件迁移,但是应用过程中具有一定的封闭性和局限性,例如需要笔记本和手机设备均具备NFC(近距离通信)模块,实现成本较高,且市面上很多设备并不具备,普及性不高。用户使用该项技术,需要一台华为的笔记本电脑,同时还需要一台满足一碰传技术支持的华为手机,应用门槛较高,互通性不好,应用范围受限。
发明内容
有鉴于此,本发明实施例提供一种成本低、应用范围广且安全性高的,基于USB-HID的文件传输方法、装置、设备及介质。
本发明的一方面提供了一种基于USB-HID的文件传输方法,包括:
由手机终端向USB-HID设备发送文件发送请求信息;其中,所述USB-HID设备插入至目标PC计算机内;
所述USB-HID设备根据所述文件发送请求信息,生成中断服务程序和注入指令;
所述目标PC计算机根据所述注入指令创建脚本解析环境,并注册串口中断服务程序;
所述手机终端将待传输文件发送至所述USB-HID设备,由所述USB-HID设备将所述待传输文件发送至PC计算机;
所述PC计算机触发中断服务程序,通过串口读取所述待传输文件。
优选地,所述文件发送请求信息包括文件分块大小、USB-HID设备缓存大小;
所述由手机终端向USB-HID设备发送文件发送请求信息,包括:
确定所述待传输文件的源文件路径、文件名、目标文件路径、目标文件名、文件传输粪块大小、传输延迟、超时延迟和缓存大小;
根据所述源文件路径、文件名、目标文件路径、目标文件名、文件传输粪块大小、传输延迟、超时延迟和缓存大小,生成文件发送请求信息;
通过手机终端的通信模块将所述文件发送请求信息发送至所述USB-HID设备。
优选地,所述USB-HID设备根据所述文件发送请求信息,生成中断服务程序和注入指令,包括:
所述USB-HID设备对接收到文件发送请求信息进行解析,进入传输模式,生成中断服务程序和注入指令;
根据所述注入指令,调用所述目标PC计算机的脚本环境,向所述目标PC计算机动态注入脚本命令;
创建并打开USB串口端口,对所述目标PC计算机的目标参数进行初始化,所述目标参数包括但不限于波特率、校验码、超时延迟;
通过系统调用使得所述目标PC计算机进入监听模式。
优选地,所述手机终端将待传输文件发送至所述USB-HID设备,由所述USB-HID设备将所述待传输文件发送至PC计算机,包括:
获取待传输文件,将所述待传输文件进行数据分块;
将分块得到的各块数据通过蓝牙模块发送至所述USB-HID设备;
所述USB-HID设备将接收到的不同分块数据缓存至缓存区域;
当所述缓存区域的数据分块达到上限,将所述缓存区域的数据通过USB串口发送给PC计算机。
优选地,所述手机终端将待传输文件发送至所述USB-HID设备时,以EOF文件作为文件传输过程的结束指令;
当所述USB-HID设备接收到所述EOF文件时,结束文件接收过程;
当所述目标PC计算机接收到所述EOF文件时,将接收到的缓存数据写入所述目标PC计算机的本地文件中。
优选地,所述通过系统调用使得所述目标PC计算机进入监听模式,包括:
向目标PC计算机发送键盘命令,调出所述目标PC计算机的程序运行界面;
根据所述程序运行界面进入命令行模式;
向所述命令行模式录入脚本命令,以在所述目标PC计算机创建开启串口。
优选地,所述待传输文件在传输过程中的为数据格式为二进制流形式。
本发明实施例的另一方面提供了一种基于USB-HID的文件传输装置,包括:
第一发送模块,用于由手机终端向USB-HID设备发送文件发送请求信息;其中,所述USB-HID设备插入至目标PC计算机内;
生成模块,用于所述USB-HID设备根据所述文件发送请求信息,生成中断服务程序和注入指令;
创建模块,用于所述目标PC计算机根据所述注入指令创建脚本解析环境,并注册串口中断服务程序;
第二发送模块,用于所述手机终端将待传输文件发送至所述USB-HID设备,由所述USB-HID设备将所述待传输文件发送至PC计算机;
读取模块,用于所述PC计算机触发中断服务程序,通过串口读取所述待传输文件。
本发明实施例的另一方面还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例的另一方面还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明的实施例由手机终端向USB-HID设备发送文件发送请求信息;其中,所述USB-HID设备插入至目标PC计算机内;所述USB-HID设备根据所述文件发送请求信息,生成中断服务程序和注入指令;所述目标PC计算机根据所述注入指令创建脚本解析环境,并注册串口中断服务程序;所述手机终端将待传输文件发送至所述USB-HID设备,由所述USB-HID设备将所述待传输文件发送至PC计算机;所述PC计算机触发中断服务程序,通过串口读取所述待传输文件。本发明能够降低成本、拓展了应用范围广并且提高了安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的USB设备组成及系统结构示意图;
图2为本发明实施例的手机向PC计算机发送文件的传输过程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
针对现有技术存在的问题,本发明实施例提供了一种基于USB-HID的文件传输方法,包括:
由手机终端向USB-HID设备发送文件发送请求信息;其中,所述USB-HID设备插入至目标PC计算机内;
所述USB-HID设备根据所述文件发送请求信息,生成中断服务程序和注入指令;
所述目标PC计算机根据所述注入指令创建脚本解析环境,并注册串口中断服务程序;
所述手机终端将待传输文件发送至所述USB-HID设备,由所述USB-HID设备将所述待传输文件发送至PC计算机;
所述PC计算机触发中断服务程序,通过串口读取所述待传输文件。
优选地,所述文件发送请求信息包括文件分块大小、USB-HID设备缓存大小;
所述由手机终端向USB-HID设备发送文件发送请求信息,包括:
确定所述待传输文件的源文件路径、文件名、目标文件路径、目标文件名、文件传输粪块大小、传输延迟、超时延迟和缓存大小;
根据所述源文件路径、文件名、目标文件路径、目标文件名、文件传输粪块大小、传输延迟、超时延迟和缓存大小,生成文件发送请求信息;
通过手机终端的通信模块将所述文件发送请求信息发送至所述USB-HID设备。
优选地,所述USB-HID设备根据所述文件发送请求信息,生成中断服务程序和注入指令,包括:
所述USB-HID设备对接收到文件发送请求信息进行解析,进入传输模式,生成中断服务程序和注入指令;
根据所述注入指令,调用所述目标PC计算机的脚本环境,向所述目标PC计算机动态注入脚本命令;
创建并打开USB串口端口,对所述目标PC计算机的目标参数进行初始化,所述目标参数包括但不限于波特率、校验码、超时延迟;
通过系统调用使得所述目标PC计算机进入监听模式。
优选地,所述手机终端将待传输文件发送至所述USB-HID设备,由所述USB-HID设备将所述待传输文件发送至PC计算机,包括:
获取待传输文件,将所述待传输文件进行数据分块;
将分块得到的各块数据通过蓝牙模块发送至所述USB-HID设备;
所述USB-HID设备将接收到的不同分块数据缓存至缓存区域;
当所述缓存区域的数据分块达到上限,将所述缓存区域的数据通过USB串口发送给PC计算机。
优选地,所述手机终端将待传输文件发送至所述USB-HID设备时,以EOF文件作为文件传输过程的结束指令;
当所述USB-HID设备接收到所述EOF文件时,结束文件接收过程;
当所述目标PC计算机接收到所述EOF文件时,将接收到的缓存数据写入所述目标PC计算机的本地文件中。
优选地,所述通过系统调用使得所述目标PC计算机进入监听模式,包括:
向目标PC计算机发送键盘命令,调出所述目标PC计算机的程序运行界面;
根据所述程序运行界面进入命令行模式;
向所述命令行模式录入脚本命令,以在所述目标PC计算机创建开启串口。
优选地,所述待传输文件在传输过程中的为数据格式为二进制流形式。
下面结合说明书附图1和附图2,对本发明的文件传输方法进行详细描述:
1.本发明所述系统(或装置)包括USB设备及系统程序、手机终端及应用程序APP、PC等计算机系统(运行windows操作系统,对Linux等其它系统可以参照本发明采用类似技术实现)。USB设备为基于专用/通用微处理器或单片机处理器的嵌入式系统,运行精简嵌入式操作系统或者同等功能的系统软件,通过执行控制程序完成自动执行IO系统管理、命令解析、任务调度、数据通信、文件传输等功能。USB设备带有USB接口、串口、蓝牙、红外、WiFi等网络接口,具有USB HID键盘、鼠标输入、注入功能,可以通过USB直接向插入的目标计算机设备注入键盘、鼠标操作命令,借助USB设备处理器的计算控制能力,精确自动控制PC完成复杂的命令解析、接口通信、文件传输控制过程等。USB设备通过USB接口插入PC计算机,方可完成文件传输,如图1所示。
2.所述手机运行android等操作系统,具备蓝牙等通信接口。应用程序APP负责文件的传输、配置等用户操作,应用程序APP通过蓝牙等接口与USB设备进行通信和文件传输。文件传输包括文件收发双向传输,所有文件传输均由手机端发起,PC计算机端无需任何操作和干预。由于所有操作由手机主动发起,计算机端被动操作,PC端无需为文件传输安装任何额外专用软件和程序。
3.文件数据流双向传输均是由手机端主动发起,PC端仅被动的自动化执行,全程PC端无需任何手动配置、程序安装、键盘鼠标交互等手动操作。全程双向文件的数据传输过程均是通过USB设备负责转发和控制完成的,USB设备处于PC等计算机系统和手机之间,承担数据转发、缓存协同、任务调度、控制管理功能。
4.在USB设备插入目标计算机的时候,自动触发执行USB设备内搭载的控制程序,完成无线通信、转码、解码、文件传输、计算机键盘注入、程序调用等操作。
5.手机等终端可通过蓝牙、WiFi、IR等无线点到点方式与USB设备进行通信,将文件、文本等二进制信息数据传输给USB设备。传输过程不需要互联网接入,直接在手机和文件无线传输器间通过上述无线接口点到点直接传输完成;用户可通过手机下载APP软件向USB设备发送文件。
6.USB设备处于PC计算机和手机之间,承担文件传输所需中继、协同、控制等任务。USB设备通过USB接口的串口通信方式与计算机通信,将文件输入目标计算机或者从其输出;
7.手机及APP通过蓝牙等通信方式向USB设备发出控制指令,USB设备接收指令解析后,在程序控制下自动完成上述工作。
8.USB设备控制指令包括文件传输控制指令。文件传输控制指令包括文件发送和文件接收双向传输。文件发送是指USB设备按照手机端的文件发送控制指令,将手机端的本地文件(如a.doc)数据以二进制流形式,通过USB串口发送给目标计算机并存储为计算机本地文件。文件接收是指USB设备按照手机端的文件接收控制指令,自动获取目标计算机本地文件(如b.doc)数据,并以二进制流形式,通过USB串口发送给手机,并存储为手机本地文件。
9.文件传输控制指令包括文件传输方式(发送、接收)、源文件路径及文件名(原始文件)、目标文件路径及文件名(另存为的副本)、文件传输分块大小、传输延迟、超时延迟、缓存大小等参数,用于控制文件传输过程。
10.USB设备在接收到手机端的文件传输控制指令后,启动文件传输模式,USB设备通过USB HID方式自动控制其所连接的PC计算机系统,控制计算机进入文件接收、发送状态并做好相应的初始化和准备工作。例如,自动向目标计算机发送键盘命令,如:“Windows窗口键+R键”,调出运行程序界面,然后自动录入“cmd”进入命令行模式,并录入“powershell”等脚本命令,自动在目标计算机创建开启串口,并控制串口进行读写操传输控制和相应文件读写操作。
11.文件发送传输模式(手机发送文件给PC计算机)如附图2所示:USB设备通过蓝牙等接口接收到手机端的文件发送传输控制指令后,通过USB HID命令注入,调用PC计算机脚本环境,并动态注入自动生成的脚本命令,创建并打开USB串口端口,初始化波特率、校验码、超时等参数,然后通过系统调用使PC进入监听模式,监听串口数据,并动态生成代码,注册串口通信事件中断服务程序,当有数据到达PC串口,调用中断服务程序读取文件数据,写入PC本地文件。
12.手机发出文件传输控制指令后,打开手机用户指定文件,将读取的文件数据流按照分块分批通过蓝牙发送(手机低功耗BLE蓝牙通信对发送字节流长度有限制)给USB设备。发送完毕后,发送EOF文件传输结束指令。
13.当USB设备蓝牙通信模块检测到接收到手机到数据分块,将多批分块缓存入USB设备的内存缓存区域,当缓存数据分块达到上限,则将缓存区的数据通过USB串口转发给PC计算机。当检测到收到EOF结束指令,或者超时未收到分块(异常或者传输结束),则结束文件传输过程,向PC发送EOF指令。缓存有利于减少串口读写次数,缓存区域的大小视USB设备内存大小和串口通信的缓冲区尺寸(如4096字节)而定。
14.PC计算机注册了串口监听中断服务程序,当PC计算机接收到USB设备通过USB串口转发的文件数据时,触发中断服务程序。中断服务程序不断读取串口数据,缓存在PC内存中,直至接收到EOF指令或者超时结束,然后将缓存数据写入PC本地文件。完成从手机向PC计算机发送数据过程。
综上所述,本发明所述的一种通过USB设备即插即用进行自动操控、无需用户人工录入交互操作、无需安装驱动和应用程序的异构机器间的文件传输、迁移、共享、复制的机制。本发明所要实现一种通过USB HID设备的即插即用方式实现将手机文件自动传输到目标计算机等设备中的文件(中文、英文、数字、图标、表情等各类文件)传输、共享机制,这个过程自动操控、无需用户人工录入交互操作(除手机端准备发送文件信息外)、无需安装驱动程序(除在目标计算机预置一个精简的解码转换程序,该程序可以预先通过网络、云服务器自动下载等方式导入)、无需互联网连接。整个文件传输、共享操作调度全程不需要用户触碰目标计算机键盘、鼠标等人机交互设备,既减少了用户操作步骤、执行条件限制,同时降低了接触各类设备表面造成的病毒、细菌交叉感染,提供智能、安全、健康、高效的自动办公体验。
另外,微信等程序在通过手机向计算机等设备传输共享文件时,对夹杂在中文、英文中的各种图标、表情等各类文件不能很好处理,会出现丢失信息、乱码等问题。而本发明所述技术、机制进行的文件传输,可以将中英文、各类图标、表情符号等混杂的文件,无损、不失真的传输给目标计算机,提升了办公质量、效率和用户体验。
一个可能的典型应用场景举例:用户需要将手机中的文件,如聊天记录、通讯录、备忘录、文件复制截取文件段落等,导入计算机等机器上,以便显示、修改、编辑、处理、存储等。而尤其在没有网络或者网络覆盖信号不佳的条件(如偏远山区、隧道内、飞机上等),通过微信等网络程序共享、迁移的方式无法完成。即使在有网络情况下,通过此类APP方式,用户需要预装若干软件、建立或输入账号和密码、登陆、扫码、认证、验证等环节,操作较为繁琐,且存在通过网络扩散、错发、泄露等风险。
使用本发明所述设备和方法进行文件迁移,用户只需要将USB设备插入目标计算机,计算机无需任何安装配置,用户需要通过安装专用蓝牙通信程序APP(专门开发的蓝牙点对点文件收发APP)的手机,就可直接将文件通过USB设备,与计算机间进行文件双向传输复制、共享。计算机端无需其他任何人工干预操作,文件就会透明的从手机传输到计算机中或者从计算机传输到手机,方便用户使用。
使用本发明所述设备和方法进行文件迁移,还可方便多个用户通过手机等终端,将文件发送给目标计算机,用于联合修改、编辑、协同办公等应用场景。
本发明解决了手机等移动终端和PC等计算机终端因为操作系统差异、通信接口不匹配、软硬件兼容、配置繁琐易错等原因造成的数据共享障碍和不便问题,可以在没有WiFi、互联网等网络覆盖条件下(覆盖缺失、信号不好、连接受损或者受限制等)、在简化PC端操作(无需安装驱动和客户端软件、无需用户操作和触碰计算机)的前提下实现异构计算终端间双向交互和文件传输。
通过为PC机通过USB接口连接USB设备,为PC计算机动态扩展出包括蓝牙、红外等通信接口,便于和手机实现互操作和数据传输共享,手机只需要和USB设备通信,USB设备负责解析命令、数据转发、PC端控制等操作,屏蔽了计算机操作的兼容性、复杂性和多样性等问题,为手机与PC计算机的交互提供了便利。
相较于现有技术,本发明具有以下显著改进特点:
1.USB设备为基于专用/通用微处理器或单片机处理器的嵌入式系统,可以执行控制程序完成自动执行控制调度、编解码、数据通信等功能,带有USB接口、蓝牙、红外、WiFi等网络接口,具有USB HID功能,可以通过USB直接向插入的目标计算机设备注入键盘、鼠标操作命令,实现自动文件双向传输等。
2.手机通过蓝牙向USB设备发送控制指令,USB设备通过USB HID方式向PC计算机注入命令,完成手机对PC机的控制,如文件读写、USB串口操作等。设备间通信分为控制指令通信,和数据流(分块)传输通信。控制指令是手机到USB设备(通过蓝牙、WiFi、红外等),USB设备到PC(通过USB HID注入),单向控制。手机可以向PC发送文件,也可以从PC获取接收文件,因此数据流传输是双向的,分为手机到PC计算机和PC计算机到手机模式。
3.文件数据流双向传输均是通过USB设备进行转发、控制、协调完成的,且均是由手机端主动发起,PC端自动化执行,无需任何手动配置、程序安装、键盘鼠标交互等手动操作。
4.文件对于手机到PC计算机的文件传输过程为:手机读取本地文件,通过蓝牙、WiFi、红外等将文件数据发送给USB设备,USB设备再通过USB串口或者USB HID注入方式将数据内容转发给PC计算机,PC端负责将数据缓存并写入本地文件。而对于PC计算机到手机传输文件过程为:手机将要从PC获取的文件路径、文件名、传输控制参数等以命令方式发送给PC,USB设备解析命令并生成文件操作、串口通信等HID控制命令序列,注入PC,控制PC完成读取指定本地文件,并通过动态创建的USB串口端口将数据发送给USB设备,USB设备再通过蓝牙、WiFi、红外等转发给手机,手机端负责将数据缓存并写入本地文件。
5.本发明通过为PC机通过USB接口连接USB设备,为PC计算机动态扩展出包括蓝牙、红外等通信接口,便于和手机实现互操作和数据传输共享,手机只需要和USB设备通信,屏蔽了PC端的通信控制和操作适配过程,USB设备负责全程的解析命令、双向数据转发、手机、PC端控制协调、文件传输协议控制等操作,屏蔽了异构设备间的操作兼容性、复杂性和多样性等问题,为手机与PC计算机等终端设备的交互提供了便利。其中,USB设备可采用各类通信接口与手机通信,如Lora、NBIOT、NFC、4/5G、互联网,实现手机和USB设备的互连和文件传输,都可起到类似的功能,都属于本专利保护范围。
本发明实施例还提供了一种基于USB-HID的文件传输装置,包括:
第一发送模块,用于由手机终端向USB-HID设备发送文件发送请求信息;其中,所述USB-HID设备插入至目标PC计算机内;
生成模块,用于所述USB-HID设备根据所述文件发送请求信息,生成中断服务程序和注入指令;
创建模块,用于所述目标PC计算机根据所述注入指令创建脚本解析环境,并注册串口中断服务程序;
第二发送模块,用于所述手机终端将待传输文件发送至所述USB-HID设备,由所述USB-HID设备将所述待传输文件发送至PC计算机;
读取模块,用于所述PC计算机触发中断服务程序,通过串口读取所述待传输文件。
本发明实施例还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例的另一方面还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (10)

1.一种基于USB-HID的文件传输方法,其特征在于,包括:
由手机终端向USB-HID设备发送文件发送请求信息;其中,所述USB-HID设备插入至目标PC计算机内;
所述USB-HID设备根据所述文件发送请求信息,生成中断服务程序和注入指令;
所述目标PC计算机根据所述注入指令创建脚本解析环境,并注册串口中断服务程序;
所述手机终端将待传输文件发送至所述USB-HID设备,由所述USB-HID设备将所述待传输文件发送至PC计算机;
所述PC计算机触发中断服务程序,通过串口读取所述待传输文件。
2.根据权利要求1所述的基于USB-HID的文件传输方法,其特征在于,所述文件发送请求信息包括文件分块大小、USB-HID设备缓存大小;
所述由手机终端向USB-HID设备发送文件发送请求信息,包括:
确定所述待传输文件的源文件路径、文件名、目标文件路径、目标文件名、文件传输粪块大小、传输延迟、超时延迟和缓存大小;
根据所述源文件路径、文件名、目标文件路径、目标文件名、文件传输粪块大小、传输延迟、超时延迟和缓存大小,生成文件发送请求信息;
通过手机终端的通信模块将所述文件发送请求信息发送至所述USB-HID设备。
3.根据权利要求1所述的基于USB-HID的文件传输方法,其特征在于,所述USB-HID设备根据所述文件发送请求信息,生成中断服务程序和注入指令,包括:
所述USB-HID设备对接收到文件发送请求信息进行解析,进入传输模式,生成中断服务程序和注入指令;
根据所述注入指令,调用所述目标PC计算机的脚本环境,向所述目标PC计算机动态注入脚本命令;
创建并打开USB串口端口,对所述目标PC计算机的目标参数进行初始化,所述目标参数包括但不限于波特率、校验码、超时延迟;
通过系统调用使得所述目标PC计算机进入监听模式。
4.根据权利要求1所述的基于USB-HID的文件传输方法,其特征在于,所述手机终端将待传输文件发送至所述USB-HID设备,由所述USB-HID设备将所述待传输文件发送至PC计算机,包括:
获取待传输文件,将所述待传输文件进行数据分块;
将分块得到的各块数据通过蓝牙模块发送至所述USB-HID设备;
所述USB-HID设备将接收到的不同分块数据缓存至缓存区域;
当所述缓存区域的数据分块达到上限,将所述缓存区域的数据通过USB串口发送给PC计算机。
5.根据权利要求4所述的基于USB-HID的文件传输方法,其特征在于,所述手机终端将待传输文件发送至所述USB-HID设备时,以EOF文件作为文件传输过程的结束指令;
当所述USB-HID设备接收到所述EOF文件时,结束文件接收过程;
当所述目标PC计算机接收到所述EOF文件时,将接收到的缓存数据写入所述目标PC计算机的本地文件中。
6.根据权利要求3所述的基于USB-HID的文件传输方法,其特征在于,所述通过系统调用使得所述目标PC计算机进入监听模式,包括:
向目标PC计算机发送键盘命令,调出所述目标PC计算机的程序运行界面;
根据所述程序运行界面进入命令行模式;
向所述命令行模式录入脚本命令,以在所述目标PC计算机创建开启串口。
7.根据权利要求1所述的基于USB-HID的文件传输方法,其特征在于,所述待传输文件在传输过程中的为数据格式为二进制流形式。
8.一种基于USB-HID的文件传输装置,其特征在于,包括:
第一发送模块,用于由手机终端向USB-HID设备发送文件发送请求信息;其中,所述USB-HID设备插入至目标PC计算机内;
生成模块,用于所述USB-HID设备根据所述文件发送请求信息,生成中断服务程序和注入指令;
创建模块,用于所述目标PC计算机根据所述注入指令创建脚本解析环境,并注册串口中断服务程序;
第二发送模块,用于所述手机终端将待传输文件发送至所述USB-HID设备,由所述USB-HID设备将所述待传输文件发送至PC计算机;
读取模块,用于所述PC计算机触发中断服务程序,通过串口读取所述待传输文件。
9.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1-7中任一项所述的方法。
CN202110117657.6A 2021-01-28 2021-01-28 基于usb-hid的文件传输方法、装置、设备及介质 Active CN112954016B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110117657.6A CN112954016B (zh) 2021-01-28 2021-01-28 基于usb-hid的文件传输方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110117657.6A CN112954016B (zh) 2021-01-28 2021-01-28 基于usb-hid的文件传输方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN112954016A true CN112954016A (zh) 2021-06-11
CN112954016B CN112954016B (zh) 2023-01-24

Family

ID=76238626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110117657.6A Active CN112954016B (zh) 2021-01-28 2021-01-28 基于usb-hid的文件传输方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN112954016B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426558A (zh) * 2011-11-11 2012-04-25 青岛海信移动通信技术股份有限公司 终端通过usb与计算机通信的方法、终端和计算机
US20120233365A1 (en) * 2011-03-09 2012-09-13 Baek Joon Hyun Input interface providing usb apparatus and interface providing method
CN103973889A (zh) * 2014-04-25 2014-08-06 方小祥 将智能手持设备作为无线usbhid设备的装置及方法
CN104077255A (zh) * 2013-12-29 2014-10-01 国家电网公司 终端通过usb与计算机通信的方法
CN111522777A (zh) * 2020-04-27 2020-08-11 广州大学 一种基于usb-hid设备的文件迁移方法
CN112131162A (zh) * 2020-09-16 2020-12-25 广州大学 基于usb设备的数据传送方法、系统、装置及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120233365A1 (en) * 2011-03-09 2012-09-13 Baek Joon Hyun Input interface providing usb apparatus and interface providing method
CN102426558A (zh) * 2011-11-11 2012-04-25 青岛海信移动通信技术股份有限公司 终端通过usb与计算机通信的方法、终端和计算机
CN104077255A (zh) * 2013-12-29 2014-10-01 国家电网公司 终端通过usb与计算机通信的方法
CN103973889A (zh) * 2014-04-25 2014-08-06 方小祥 将智能手持设备作为无线usbhid设备的装置及方法
CN111522777A (zh) * 2020-04-27 2020-08-11 广州大学 一种基于usb-hid设备的文件迁移方法
CN112131162A (zh) * 2020-09-16 2020-12-25 广州大学 基于usb设备的数据传送方法、系统、装置及介质

Also Published As

Publication number Publication date
CN112954016B (zh) 2023-01-24

Similar Documents

Publication Publication Date Title
CN110166432B (zh) 对内网目标服务的访问方法、提供内网目标服务的方法
US20220043901A1 (en) Method of data transfer between hosted applications
CN101382904B (zh) 一种智能密钥设备实现自动安装的方法和系统
CN112131162A (zh) 基于usb设备的数据传送方法、系统、装置及介质
CA2138820A1 (en) Technique for time-sharing a microprocessor between a computer and a modem
US9307008B2 (en) Method and apparatus of performing remote command dispatching
CN104391695A (zh) 一种通过外部设备进行同步控制的方法及其装置
WO2019042116A1 (zh) 一种网络连接的处理方法、装置、设备和计算机存储介质
CN111459632B (zh) 一种供终端应用程序调用的串口代理及实现方法
CN112954015B (zh) 基于usb-hid的文件传输方法、装置、设备及介质
US20180337922A1 (en) Method and device for controlling smart device, server and storage medium
CN111988292A (zh) 一种内网终端访问互联网的方法、装置及系统
CN112954016B (zh) 基于usb-hid的文件传输方法、装置、设备及介质
CN103885666A (zh) 分享信息的传输处理方法和系统
CN113032805B (zh) 一种数据访问方法、装置、电子设备及存储介质
CN104680089A (zh) 一种电子设备和系统切换方法
KR101259828B1 (ko) 이레귤러 읽기 오퍼레이션을 통한 주변기기로의 시그널링
CN102880508A (zh) 一种实现PC操控Android终端的方法及系统
CN115442083B (zh) 设备接入方法、数据交换方法、装置、设备及存储介质
CN111917559B (zh) 基于usb的文本无线传输器及系统
CN106412006B (zh) 移动终端调用web应用的通信系统、方法及装置
CN112416829B (zh) 数据传输到hmi的方法以及usb hid设备
CN110045967B (zh) 固件层的串口图形界面交互方法和装置
CN113347161A (zh) 一种计算机文件单向传输装置
CN101382903A (zh) 智能密钥设备实现自动安装的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant