CN113608790A - 基于Linux系统的串口设备自适配管理方法、系统及存储介质 - Google Patents
基于Linux系统的串口设备自适配管理方法、系统及存储介质 Download PDFInfo
- Publication number
- CN113608790A CN113608790A CN202110794092.5A CN202110794092A CN113608790A CN 113608790 A CN113608790 A CN 113608790A CN 202110794092 A CN202110794092 A CN 202110794092A CN 113608790 A CN113608790 A CN 113608790A
- Authority
- CN
- China
- Prior art keywords
- usb
- equipment
- directory
- serial
- plugging
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
- G06F9/4413—Plug-and-play [PnP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种基于Linux系统的串口设备自适配管理方法、系统及存储介质,基于Linux系统的串口设备自适配管理方法:包括:扫描所有USB插槽位的插拔状态;若插拔状态为已插入状态,获取设备插入USB插槽位对应USB设备目录;获取USB设备目录对应的存储地址中新增的设备信息;根据设备目录、USB设备目录、设备信息和预设命名方式确定设备文件路径名;根据设备文件路径名在设备目录对应的存储地址中创建与设备信息相关联的软连接。本发明根据设备文件路径名即可在设备目录上创建与USB设备相关联的软连接,则用户可以直接通过软连接进行USB设备的读写操作,简化了USB设备的交互流程,且无需与USB设备的管理程序进行交互,根据系统业务需要即可访问USB设备。
Description
技术领域
本发明涉及Linux系统的技术领域,尤其是涉及一种基于Linux系统的串口设备自适配管理方法、系统及存储介质。
背景技术
随着通信技术以及其他物联网技术的发展,自动化终端逐步演变为承担起边缘计算任务的网关终端。自动化终端设备产品一般运行于Linux系统上,且自动化终端一般具备USB接口,且通过USB HUB芯片能够扩展出127个USB设备。
相关技术中,linux系统与接入的USB设备完成正常连接后,会在文件目录为/dev下创建独立的设备文件,如:U盘、SD卡等存储器类别的文件目录可能会命名为/dev/sda1…/dev/sdaN;而且虚拟串口类别的文件目录可能会命名为/dev/ttyUSB0…/dev/ttyUSBN,但是这种种类命名设备文件的方式给程序编程带来了很大的困扰,因为业务应用程序没法根据命名为/dev/目录中大量类同的设备名称的文件目录快速识别出来所接入的是什么功能模块,导致USB设备接入后无法快速适配,从而影响USB设备的读写操作。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于Linux系统的串口设备自适配管理方法,能够简化了USB设备的交互流程,且实现业务应用程序对接入USB设备的快速适配。
本发明还提出一种基于Linux系统的串口设备自适配管理系统。
本发明还提出一种计算机可读存储介质。
第一方面,本发明的一个实施例提供了基于Linux系统的串口设备自适配管理方法:包括:
扫描所有USB插槽位的插拔状态;
若所述插拔状态为已插入状态,获取设备插入所述USB插槽位对应USB设备目录;
获取所述USB设备目录对应的存储地址中新增的设备信息;
根据设备目录、所述USB设备目录、所述设备信息和预设命名方式确定设备文件路径名;
根据所述设备文件路径名在所述设备目录对应的存储地址中创建与所述设备信息相关联的软连接。
本发明实施例的基于Linux系统的串口设备自适配管理方法至少具有如下有益效果:根据设备文件路径名即可在设备目录上创建与USB设备相关联的软连接,则用户可以直接通过软连接进行USB设备的读写操作,简化了USB设备的交互流程,且无需与USB设备的管理程序进行交互,根据系统业务需要即可访问USB设备。
根据本发明的另一些实施例的基于Linux系统的串口设备自适配管理方法,还包括:
以预设第一时间间隔周期扫描所有所述USB插槽位的所述插拔状态。
根据本发明的另一些实施例的基于Linux系统的串口设备自适配管理方法,所述以预设第一时间间隔周期扫描所述所有USB插槽位的所述插拔状态,包括:
获取所有所述USB插槽位的槽位序号;
以预设第一时间间隔周期按所述槽位序号的顺序扫描所述USB插槽位对应的USB设备目录;
根据所述USB设备目录对应的存储地址是否新增所述设备信息和所述USB插槽位是否插入确定所述插拔状态。
根据本发明的另一些实施例的基于Linux系统的串口设备自适配管理方法,所述设备信息包括:字段名称和设备目录名称,所述设备目录名称为设备在所述设备目录下的设备名称。
根据本发明的另一些实施例的基于Linux系统的串口设备自适配管理方法,所述预设命名方式为设备目录/产品类型名称_槽位序号拟串口通道序号。
根据本发明的另一些实施例的基于Linux系统的串口设备自适配管理方法,所述根据设备目录、所述USB设备目录、所述设备信息和预设命名方式确定设备文件路径名,包括:
根据所述USB设备目录确定对应的所述USB插槽位的所述槽位序号和虚拟窗口通道序号;
根据所述设备信息确定所述字段名称为产品类型名称;
根据所述设备目录、所述产品类型名称、所述槽位序号和所述虚拟窗口通道序号以所述预设命名方式确定所述设备文件路径名。
根据本发明的另一些实施例的基于Linux系统的串口设备自适配管理方法,还包括:
若所述插拔状态为已拔出状态,则将所述设备目录对应的存储地址中与所述设备信息相关联的所述软连接删除。
根据本发明的另一些实施例的基于Linux系统的串口设备自适配管理方法,所述根据所述USB设备目录对应的存储地址是否新增所述设备信息和所述USB插槽位是否插入确定所述插拔状态,包括:
若所述USB设备目录对应的所述存储地址新增所述设备信息,且所述USB插槽位有插入,以确定所述插拔状态为已插入状态;
若所述USB设备目录对应的所述存储地址新增所述设备信息,且所述USB插槽位无插入,以确定所述插拔状态为已拔出状态。
第二方面,本发明的一个实施例提供了基于Linux系统的串口设备自适配管理系统,包括:
USB设备管理子系统,用于扫描所有USB插槽位的插拔状态;
业务应用子系统,所述业务应用子系统包括:
获取模块,用于若所述插拔状态为已插入,获取设备插入所述USB插槽位对应USB设备目录,还用于获取所述USB设备目录对应的存储地址中新增的设备信息;
处理模块,用于根据设备目录、所述USB设备目录、所述设备信息和预设命名方式确定设备文件路径名;
创建模块,用于根据所述设备文件路径名在所述设备目录对应的存储地址中创建与所述设备信息相关联的软连接。
本发明实施例的基于Linux系统的串口设备自适配管理系统至少具有如下有益效果:根据设备文件路径名即可在设备目录上创建与USB设备相关联的软连接,则用户可以直接通过软连接进行USB设备的读写操作,简化了USB设备的交互流程,且无需与USB设备的管理程序进行交互,根据系统业务需要即可访问USB设备。
第三方面,本发明的一个实施例提供了计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的基于Linux系统的串口设备自适配管理方法。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书以及附图中所特别指出的结构来实现和获得。
附图说明
图1是本发明实施例中基于Linux系统的串口设备自适配管理方法的一具体实施例流程示意图;
图2是本发明实施例中基于Linux系统的串口设备自适配管理方法的另一具体实施例流程示意图;
图3是本发明实施例中基于Linux系统的串口设备自适配管理方法的另一具体实施例流程示意图;
图4是本发明实施例中基于Linux系统的串口设备自适配管理方法的另一具体实施例流程示意图;
图5是本发明实施例中基于Linux系统的串口设备自适配管理方法的另一具体实施例流程示意图;
图6是本发明实施例中基于Linux系统的串口设备自适配管理方法的另一具体实施例流程示意图;
图7是本发明实施例中基于Linux系统的串口设备自适配管理系统的一具体实施例模块框图。
附图标记:100、USB设备管理子系统;200、业务应用子系统;210、获取模块;220、处理模块;230、创建模块。
具体实施方式
以下将结合实施例对本发明的构思及产生的技术效果进行清楚、完整地描述,以充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。
在本发明的描述中,如果涉及到方位描述,例如“上”、“下”、“前”、“后”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。如果某一特征被称为“设置”、“固定”、“连接”、“安装”在另一个特征,它可以直接设置、固定、连接在另一个特征上,也可以间接地设置、固定、连接、安装在另一个特征上。
在本发明实施例的描述中,如果涉及到“若干”,其含义是一个以上,如果涉及到“多个”,其含义是两个以上,如果涉及到“大于”、“小于”、“超过”,均应理解为不包括本数,如果涉及到“以上”、“以下”、“以内”,均应理解为包括本数。如果涉及到“第一”、“第二”,应当理解为用于区分技术特征,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
随着4G、5G通信技术以及其他物联网技术的发展,自动化终端逐步演变为承担起边缘计算任务的网关终端,为了满足可扩展性和高速通信需求,主机与外设模块之间原有的低速串口接口逐步被高速USB接口所替代。
一般linux系统与接入的USB设备完成正常枚举后,会在设备目录对应的存储地址创建独立的设备文件,例如U盘、SD卡等存储器类别可能会命名为/dev/sda1…/dev/sdaN;虚拟串口类别可能会命名为/dev/ttyUSB0…/dev/ttyUSBN,由此可知相关技术中根据不同USB设备所建立的USB设备目录难以快速识别出所接入的是什么USB设备,从而导致USB设备的适配效率下降,进而影响接入的USB设备读写操作。
其中,要实现linux系统的USB虚拟串口设备自适配管理,一般需要增加USB设备管理程序,且USB设备需要至少支持两路虚拟串口,第一路作为管理通道,另一路作为数据通道,USB设备管理程序通过第一路管理通道发送查询命令检测接入的USB设备的类型,且系统的业务应用程序通过与USB设备管理程序之间交互,以获取接入的USB设备的类型以及对应的设备目录,然后才对接入的USB设备进行读写操作。
虽然通过增加USB设备管理程序能够解决接入USB设备的识别问题,但是业务应用程序与USB设备管理程序的耦合度极高,两个进程间通讯还需要自定义通讯协议。
基于此,本申请公开了一种基于Linux系统的串口设备自适配管理方法,能够简化程序间的耦合度,简化交互流程,且可以快速识别出接入的USB设备。
需要说明:
Linux:是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。
USB Hub,指的是一种可以将一个USB接口扩展为多个,并可以使这些接口同时使用的装置。USB HUB根据所属USB协议可分为USB2.0 HUB、USB3.0HUB与USB3.1 HUB。
USB虚拟串口,属于USB通信设备类。在物理层通过USB总线,采用虚拟串口的方式为主机提供一个物理串口。在系统内部,USB控制器提供了一个批量传输IN端点和一个批量传输的OUT端点,用于数据的接收和发送,模拟串口的RX和TX线。另外USB控制器还提供中断IN端点,发送当前串口的状态,实现对串口传输的控制。串口设备的数据,由系统的串口采集,在芯片内完成USB包的封装,通过USB总线上传至主机,再由相应的串口应用程序进行处理。对用户来说,看到的是基于串口的数据采集和传输,而实际上实现的是基于USB协议包的数据传输。
USB设备的枚举:USB主机从设备中读取各种描述符信息的过程,就叫枚举过程。她的目的是为了主机可以加载合适的驱动程序,方便后面通信做准备,实际上可以理解为一个初始化过程。
第一方面,参照图1,本发明实施例公开了一种基于Linux系统的串口设备自适配管理方法,包括:
S100、扫描所有USB插槽位的插拔状态;
S200、若插拔状态为已插入状态,获取设备插入USB插槽位对应USB设备目录;
S300、获取USB设备目录对应的存储地址中新增的设备信息;
S400、根据设备目录、USB设备目录、设备信息和预设命名方式确定设备文件路径名;
S500、根据设备文件路径名在设备目录对应的存储地址中创建与设备信息相关联的软连接。
通过扫描USB插槽位是否被插拔以得到插拔状态,若检测出USB插槽位发生USB设备拔插,且USB插槽位为USB设备插入,则插拔状态为已插入状态,则获取USB插槽位对应的USB设备目录。然后对USB设备目录对应的存储地址进行查找是否新增设备信息,以获取USB设备目录对应的存储地址中新增的设备信息,并根据设备信息、设备目录、USB设备目录以预设命名方式确定所插入USB插槽位的USB设备的设备文件路径名,且设备文件路径名用于表示所插入的USB设备的文件存储地址。
具体地,通过设置USB设备管理程序和业务应用程序以得到USB设备管理子系统和业务应用子系统,且USB设备管理子系统用于扫描USB插槽位的插拔状态,若USB插槽位的插拔状态为已插入状态或已拔出状态,则由业务应用子系统根据插拔状态为已插入状态或已拔出状态进行对应的操作。其中,设备目录为/tmp/dev目录,且/tmp/dev目录对应的存储地址存储所有设备的设备文件,且设备文件用特定的约定命名,这在设备列表中说明,设备文件在安装时由系统产生。USB插槽位对应的USB设备目录在本实施例为sys/bus/usb/devices,通过在sys/bus/usb/devices目录对应的存储地址中查找新增的设备信息,且新增的设备信息为插入USB插槽位的USB设备的相关信息。通过设备信息、设备目录、USB设备目录以预设命名方式进行命名后,根据得到设备文件路径名在设备目录对应的存储地址上创建插入USB设备相关联的软连接,则所有插入的USB设备都是以预设命名方式命名,所以系统只需要根据预设命名方式即可快速识别插入的USB设备,且无需USB管理子系统和业务应用子系统进行程序交互,根据自身业务需求直接访问插入的USB设备即可,简化了交互流程。其中,软连接为软链接(也叫符号链接),类似于windows系统中的快捷方式,与硬链接不同,软链接就是一个普通文件,只是数据块内容有点特殊,文件用户数据块中存放的内容是另一文件的路径名的指向,通过这个方式可以快速定位到软连接所指向的源文件实体。软链接可对文件或目录创建。软链接作用:便于文件的管理,比如把一个复杂路径下的文件链接到一个简单路径下方便用户访问。节省空间解决空间不足问题,某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中。因此,通过快速识别插入的USB设备再对应建立软连接,能够便于USB设备的设备文件管理,节省存储空间。
参照图2,在一些实施例中,基于Linux系统的串口设备自适配管理方法,还包括但不限于以下步骤:
S100’、以预设第一时间间隔周期扫描所有USB插槽位的插拔状态。
由于USB插槽位的插拔状态不是保持不变的,因此以预设第一时间间隔周期扫描所有USB插槽位的插拔状态,以预设第一时间间隔定期更新所有USB插槽位的插拔状态,则可以每预设第一时间间隔根据USB插拔位的插拔状态对插入或者拔出的USB设备的设备文件进行对应的操作,以提高USB设备的设备文件操作实时性。
其中,步骤S100’替换步骤S100。通过USB设备管理子系统对USB插槽位进行检测,且以预设第一时间间隔周期扫描所有USB插槽位的插拔状态,若检测到USB插槽位的插拔状态存在则业务应用子系统进入USB设备对应的类型识别流程,若检测USB插槽位的插拔状态不存在,则控制业务应用子系统进入休眠状态,直到USB插槽位的插拔状态存在则唤醒进行USB设备类型识别。
参照图3,在一些实施例中,步骤S100’包括:
S110’、获取所有USB插槽位的槽位序号;
S120’、以预设第一时间间隔周期按槽位序号的顺序扫描USB插槽位对应的USB设备目录;
S130’、根据USB设备目录对应的存储地址是否新增设备信息和USB插槽位是否插入确定插拔状态。
由于启动USB设备管理子系统以监控所有USB插槽位的插拔状态,其中,需要先判断USB插槽位是否存在插拔状态,若存在插拔状态,则进一步根据USB插槽位是否插入以确定插拔状态,所以判断是否存在插拔状态主要是按照槽位序号的顺序对USB插槽对应USB设备目录对应的存储地址进行扫描,以扫描USB设备目录对应的存储地址是否存在新增的设备信息,以根据USB设备目录对应的存储地址存在设备信息以确定USB插槽位存在插拔状态,若USB设备目录对应的存储地址不存在设备信息则USB插槽位不存在插拔状态,也即USB插槽位没有插入且没有拔出USB设备。若USB设备目录存在新增的设备信息,则表示USB插槽位存在USB插入或拔插,因此根据USB插槽位是否插入确定插拔状态位插入状态还是拔出状态,以根据不同插拔状态进行对应的操作,以提高USB设备类型识别的效率,以快速进行插入的USB设备的读取操作或对拔出的USB设备清除存储空间。
参照图4,在一些实施例中,步骤S130’包括但不限于以下步骤:
S131’、若USB设备目录对应的存储地址新增设备信息,且USB插槽位有插入,以确定插拔状态为已插入状态;
S132’、若USB设备目录对应的存储地址新增设备信息,且USB插槽位无插入,以确定插拔状态为已拔出状态。
通过判断USB设备目录对应的存储地址新增设备信息则表示USB插槽位存在USB设备插拔,然后进一步判断USB插槽位是否有插入,若USB插槽位有插入,则表示USB插槽位插入USB设备,且插拔状态为已插入状态。若USB插槽位没有插入,但是USB设备目录对应的存储地址新增设备信息,则表示USB插槽位插入USB设备后再拔出,所以插拔状态为已拔出状态。因此通过根据USB设备目录对应的存储地址是否新增设备信息后再判断USB插槽位是否有插入以确定插拔状态准确。
具体地,按照槽位序号的顺序查询sys/bus/usb/devices目录对应的存储地址中是否新增设备信息,以通过是否新增设备信息判断插拔状态准确。
在一些实施例中,设备信息包括:字段名称和设备目录名称,设备目录名称为设备在设备目录下的设备名称。
由于USB插入USB插槽位后,USB设备目录对应的存储地址新增设备信息,然后获取新增的设备信息,通过设备信息知道USB设备的字段名称和设备目录名称。
其中,预设命名方式为设备目录/产品类型名称_槽位序号_虚拟串口通道序号。因此,通过识别插入USB设备的产品类型后,以产品类型名称为前缀,加上USB插槽位的槽位序号,再加上虚拟窗口通道序号的命名方式以得到插入USB设备的设备文件路径名,且设备文件路径名也即表示USB设备对应的设备文件的存储地址,所以根据设备文件名在设备目录对应的存储地址下创建软连接,则可以直接通过软连接进行USB设备的文件读写操作,不仅节省了系统存储空间,且提高设备读写操作的效率。
参照图5,在一些实施例中,步骤S400包括:
S410、根据USB设备目录确定对应的USB插槽位的槽位序号和虚拟窗口通道序号;
S420、根据设备信息确定字段名称为产品类型名称;
S430、根据设备目录、产品类型名称、槽位序号和虚拟窗口通道序号以预设命名方式确定设备文件路径名。
由于USB设备目录为对应USB插槽位的设备目录,所以根据USB设备目录确定反过来确定USB插槽位的槽位序号和虚拟窗口通道序号,且根据设备信息中的字段名称确定USB设备的产品类型名称,由于预设命名方式为设备目录/产品类型名称_槽位序号_虚拟串口通道序号,所以确定了产品类型名称、槽位序号和虚拟串口序号即可确定USB设备的设备文件路径名,因此构建了设备文件路径名后,根据设备文件路径名即可在设备目录上创建与USB设备相关联的软连接,则用户可以直接通过软连接进行USB设备的读写操作,简化了USB设备的交互流程,且无需与USB设备的管理程序进行交互,根据系统业务需要即可访问USB设备即可,实现对插入USB设备的快速适配,且不需要额外的进程间通讯协议。
具体地,若USB设备为遥信模块、RS485模块,且遥信模块命名为MZ_YX,RS485模块命名为MZ_RS485,那么在/tmp/dev/目录就会按类别出现MZ_FUN_PX_CY编码风格的设备文件(其中FUN是功能简码,如YX,YK,RS485等等;X表示槽位序号从0到N;Y则是该设备支持的虚拟串口序号从0到N),例如卡槽0位置插入遥信模块,且遥信模块的字段名称为MZ_YX,遥信模块则会出现名为MZ_YX_P0_C0,MZ_YX_P0_C1两个设备文件,且在遥信模块的设备文件路径名称为/tmp/dev/MZ_YX_P0_C0、/tmp/dev/MZ_YX_P0_C1。然后在/tmp/dev/目录对应的存储地址中创建对应的软连接,以通过软连接即可以对遥信模块进行读写操作。
参照图6,在一些实施例中,基于Linux系统的串口设备自适配管理方法,还包括:
S600、若插拔状态为已拔出状态,则将设备目录对应的存储地址中与设备信息相关联的软连接删除。
若USB设备插入USB插槽位后又拔插,则USB插拔位的插拔状态位已拔出状态,则将设备目录对应的存储地址中与该USB设备的设备信息相关联的软连接删除,因此通过软连接删除以清除系统的存储空间,节省系统的存储空间。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
下面参考图1至图6以一个具体的实施例详细描述根据本发明实施例的基于Linux系统的串口设备自适配管理方法。值得理解的是,下述描述仅是示例性说明,而不是对发明的具体限制。
按照槽位序号的顺序对USB插槽对应USB设备目录对应的存储地址进行扫描,根据USB设备目录对应的存储地址存在设备信息以确定USB插槽位存在插拔状态,若USB设备目录对应的存储地址不存在设备信息则USB插槽位不存在插拔状态,若USB设备目录存在新增的设备信息,则表示USB插槽位存在USB插入或拔插,因此根据USB插槽位是否插入确定插拔状态位插入状态还是拔出状态。若USB插槽位有插入,则表示USB插槽位插入USB设备,且插拔状态为已插入状态。若USB插槽位没有插入,但是USB设备目录对应的存储地址新增设备信息则表示,USB插槽位插入USB设备后再拔出,所以插拔状态为已拔出状态。若插拔状态为已插入状态,则获取USB插槽位对应的USB设备目录,对USB设备目录对应的存储地址进行查找是否新增设备信息,以获取USB设备目录对应的存储地址中新增的设备信息。根据USB设备目录确定反过来确定USB插槽位的槽位序号和虚拟窗口通道序号,且根据设备信息中的字段名称确定USB设备的产品类型名称,以产品类型名称为前缀,加上USB插槽位的槽位序号,再加上虚拟窗口通道序号的命名方式以得到插入USB设备的设备文件路径名。根据设备文件路径名即可在设备目录上创建与USB设备相关联的软连接,则用户可以直接通过软连接进行USB设备的读写操作,简化了USB设备的交互流程,且无需与USB设备的管理程序进行交互,根据系统业务需要即可访问USB设备。
第二方面,参照图7,本发明实施例还公开了一种基于Linux系统的串口设备自适配管理系统,包括:USB设备管理子系统100和业务应用子系统200,其中,业务应用子系统200包括:获取模块210、处理模块220和创建模块230;USB设备管理子系统100用于扫描所有USB插槽位的插拔状态;获取模块210用于若插拔状态为已插入,获取设备插入USB插槽位对应USB设备目录,还用于获取USB设备目录对应的存储地址中新增的设备信息;处理模块220用于根据设备目录、USB设备目录、设备信息和预设命名方式确定设备文件路径名;创建模块230用于根据设备文件路径名在设备目录对应的存储地址中创建与设备信息相关联的软连接。
通过根据插入USB插槽位的插拔状态对USB设备进行识别,以根据预设命名方式确定USB设备的设备文件路径名,然后根据设备文件路径名在设备目录对应的存储地址下创建软连接,业务应用子系统200和USB设备管理子系统100低耦合,不需要额外的进程间通讯协议,实现业务应用子系统200接入的USB设备的快速适配。
其中,一种基于Linux系统的串口设备自适配管理系统的具体操作步骤参照第一方面的一种基于Linux系统的串口设备自适配管理方法,此处不再赘述。
第三方面,本发明实施例公开了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面的基于Linux系统的串口设备自适配管理方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
Claims (10)
1.一种基于Linux系统的串口设备自适配管理方法,其特征在于,包括:
扫描所有USB插槽位的插拔状态;
若所述插拔状态为已插入状态,获取设备插入所述USB插槽位对应USB设备目录;
获取所述USB设备目录对应的存储地址中新增的设备信息;
根据设备目录、所述USB设备目录、所述设备信息和预设命名方式确定设备文件路径名;
根据所述设备文件路径名在所述设备目录对应的存储地址中创建与所述设备信息相关联的软连接。
2.根据权利要求1所述的基于Linux系统的串口设备自适配管理方法,其特征在于,还包括:
以预设第一时间间隔周期扫描所有所述USB插槽位的所述插拔状态。
3.根据权利要求2所述的基于Linux系统的串口设备自适配管理方法,其特征在于,所述以预设第一时间间隔周期扫描所述所有USB插槽位的所述插拔状态,包括:
获取所有所述USB插槽位的槽位序号;
以预设第一时间间隔周期按所述槽位序号的顺序扫描所述USB插槽位对应的USB设备目录;
根据所述USB设备目录对应的存储地址是否新增所述设备信息和所述USB插槽位是否插入确定所述插拔状态。
4.根据权利要求3所述的基于Linux系统的串口设备自适配管理方法,其特征在于,所述设备信息包括:字段名称和设备目录名称,所述设备目录名称为设备在所述设备目录下的设备名称。
5.根据权利要求4所述的基于Linux系统的串口设备自适配管理方法,其特征在于,所述预设命名方式为设备目录/产品类型名称_槽位序号拟串口通道序号。
6.根据权利要求4所述的基于Linux系统的串口设备自适配管理方法,其特征在于,所述根据设备目录、所述USB设备目录、所述设备信息和预设命名方式确定设备文件路径名,包括:
根据所述USB设备目录确定对应的所述USB插槽位的所述槽位序号和虚拟窗口通道序号;
根据所述设备信息确定所述字段名称为产品类型名称;
根据所述设备目录、所述产品类型名称、所述槽位序号和所述虚拟窗口通道序号以所述预设命名方式确定所述设备文件路径名。
7.根据权利要求1至6任一项所述的基于Linux系统的串口设备自适配管理方法,其特征在于,还包括:
若所述插拔状态为已拔出状态,则将所述设备目录对应的存储地址中与所述设备信息相关联的所述软连接删除。
8.根据权利要求3所述的基于Linux系统的串口设备自适配管理方法,其特征在于,所述根据所述USB设备目录对应的存储地址是否新增所述设备信息和所述USB插槽位是否插入确定所述插拔状态,包括:
若所述USB设备目录对应的所述存储地址新增所述设备信息,且所述USB插槽位有插入,以确定所述插拔状态为已插入状态;
若所述USB设备目录对应的所述存储地址新增所述设备信息,且所述USB插槽位无插入,以确定所述插拔状态为已拔出状态。
9.一种基于Linux系统的串口设备自适配管理系统,其特征在于,包括:
USB设备管理子系统,用于扫描所有USB插槽位的插拔状态;
业务应用子系统,所述业务应用子系统包括:
获取模块,用于若所述插拔状态为已插入,获取设备插入所述USB插槽位对应USB设备目录,还用于获取所述USB设备目录对应的存储地址中新增的设备信息;
处理模块,用于根据设备目录、所述USB设备目录、所述设备信息和预设命名方式确定设备文件路径名;
创建模块,用于根据所述设备文件路径名在所述设备目录对应的存储地址中创建与所述设备信息相关联的软连接。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至8任一项所述的基于Linux系统的串口设备自适配管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110794092.5A CN113608790A (zh) | 2021-07-14 | 2021-07-14 | 基于Linux系统的串口设备自适配管理方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110794092.5A CN113608790A (zh) | 2021-07-14 | 2021-07-14 | 基于Linux系统的串口设备自适配管理方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113608790A true CN113608790A (zh) | 2021-11-05 |
Family
ID=78337567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110794092.5A Pending CN113608790A (zh) | 2021-07-14 | 2021-07-14 | 基于Linux系统的串口设备自适配管理方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608790A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114896188A (zh) * | 2022-04-26 | 2022-08-12 | 深圳市科陆电子科技股份有限公司 | 一种usb设备网络共享自动适配的方法及系统 |
CN115033507A (zh) * | 2022-06-08 | 2022-09-09 | 宁波迦南智能电气股份有限公司 | 一种能源控制器专用的遥信模组实现方法 |
CN115374028A (zh) * | 2022-10-24 | 2022-11-22 | 北京智芯微电子科技有限公司 | Usb接口转串口映射方法、装置、集线器、设备和介质 |
CN116501476A (zh) * | 2023-06-28 | 2023-07-28 | 成都赛力斯科技有限公司 | linux通用字符设备处理方法、装置、设备和介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567268A (zh) * | 2010-12-31 | 2012-07-11 | 重庆重邮信科通信技术有限公司 | 一种usb转虚拟串口/modem的检测方法 |
US20130007307A1 (en) * | 2011-06-30 | 2013-01-03 | Kt Corporation | Controlling an external device connected to user equipment |
US20130151685A1 (en) * | 2011-12-07 | 2013-06-13 | Citrix Systems, Inc. | Controlling A Network Interface Using Virtual Switch Proxying |
CN103186487A (zh) * | 2011-12-31 | 2013-07-03 | 青岛海尔软件有限公司 | 实时识别插拔usb设备的方法 |
CN103595801A (zh) * | 2013-11-18 | 2014-02-19 | 中标软件有限公司 | 一种云计算系统及其虚拟机实时监控方法 |
CN104407994A (zh) * | 2014-10-31 | 2015-03-11 | 厦门市美亚柏科信息股份有限公司 | 识别计算机插槽上插入的存储设备的方法及装置 |
CN104461953A (zh) * | 2014-12-31 | 2015-03-25 | 厦门雅迅网络股份有限公司 | 通过虚拟串口进行liunx日志管理的方法和系统 |
US20160170786A1 (en) * | 2014-12-15 | 2016-06-16 | Vmware, Inc. | Dynamically managing a serial port interface of virtualization software |
CN111490895A (zh) * | 2019-01-28 | 2020-08-04 | 瞻博网络公司 | 用于探测不可达虚拟接口的状态的装置、系统和方法 |
-
2021
- 2021-07-14 CN CN202110794092.5A patent/CN113608790A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567268A (zh) * | 2010-12-31 | 2012-07-11 | 重庆重邮信科通信技术有限公司 | 一种usb转虚拟串口/modem的检测方法 |
US20130007307A1 (en) * | 2011-06-30 | 2013-01-03 | Kt Corporation | Controlling an external device connected to user equipment |
US20130151685A1 (en) * | 2011-12-07 | 2013-06-13 | Citrix Systems, Inc. | Controlling A Network Interface Using Virtual Switch Proxying |
CN103186487A (zh) * | 2011-12-31 | 2013-07-03 | 青岛海尔软件有限公司 | 实时识别插拔usb设备的方法 |
CN103595801A (zh) * | 2013-11-18 | 2014-02-19 | 中标软件有限公司 | 一种云计算系统及其虚拟机实时监控方法 |
CN104407994A (zh) * | 2014-10-31 | 2015-03-11 | 厦门市美亚柏科信息股份有限公司 | 识别计算机插槽上插入的存储设备的方法及装置 |
US20160170786A1 (en) * | 2014-12-15 | 2016-06-16 | Vmware, Inc. | Dynamically managing a serial port interface of virtualization software |
CN104461953A (zh) * | 2014-12-31 | 2015-03-25 | 厦门雅迅网络股份有限公司 | 通过虚拟串口进行liunx日志管理的方法和系统 |
CN111490895A (zh) * | 2019-01-28 | 2020-08-04 | 瞻博网络公司 | 用于探测不可达虚拟接口的状态的装置、系统和方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114896188A (zh) * | 2022-04-26 | 2022-08-12 | 深圳市科陆电子科技股份有限公司 | 一种usb设备网络共享自动适配的方法及系统 |
CN115033507A (zh) * | 2022-06-08 | 2022-09-09 | 宁波迦南智能电气股份有限公司 | 一种能源控制器专用的遥信模组实现方法 |
CN115374028A (zh) * | 2022-10-24 | 2022-11-22 | 北京智芯微电子科技有限公司 | Usb接口转串口映射方法、装置、集线器、设备和介质 |
CN115374028B (zh) * | 2022-10-24 | 2023-01-20 | 北京智芯微电子科技有限公司 | Usb接口转串口映射方法、装置、集线器、设备和介质 |
CN116501476A (zh) * | 2023-06-28 | 2023-07-28 | 成都赛力斯科技有限公司 | linux通用字符设备处理方法、装置、设备和介质 |
CN116501476B (zh) * | 2023-06-28 | 2023-09-12 | 成都赛力斯科技有限公司 | linux通用字符设备处理方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113608790A (zh) | 基于Linux系统的串口设备自适配管理方法、系统及存储介质 | |
US8868628B2 (en) | Sharing computer data among computers | |
US6081850A (en) | Storing dynamically loaded device drivers on a mass storage device to support access to removable computer cards | |
EP0672987B1 (en) | Portable PCMCIA interface for a host computer | |
RU2434269C2 (ru) | Многопротокольное съемное запоминающее устройство | |
CN101488114B (zh) | Linux系统下USB设备的处理方法 | |
US7558804B1 (en) | Method, apparatus, and computer-readable medium for space-efficient storage of variables in a non-volatile computer memory | |
EP0479427A2 (en) | Apparatus and method for loading BIOS into a computer system | |
US20010027500A1 (en) | Data transmission system, data transmission terminal, controller and interface method | |
CN109960678B (zh) | 一种命名处理方法及计算机处理装置 | |
CN112306581B (zh) | 一种基板管理控制器管理bios配置的方法及介质 | |
CN113835729B (zh) | 升级方法、装置、终端设备及计算机可读存储介质 | |
US7610295B2 (en) | Method and apparatus for generating persistent path identifiers | |
CN114816491A (zh) | 用于多系统移动终端的系统升级方法、装置及终端 | |
CN111813596A (zh) | 芯片重启方法、装置及计算设备 | |
CN113472744B (zh) | 不同存储协议下的数据交互方法、装置、设备及介质 | |
CN115114600A (zh) | 一种内置设备和外置设备的统一管控方法及系统 | |
US7895372B2 (en) | Universal serial bus mass storage device asynchronous file and file system update while connected to a PC or other device | |
US20070174034A1 (en) | Transparent intellectual network storage device | |
JP4060890B2 (ja) | 階層化ドライバ入出力システム内の複数ドライバによる入出力要求の再処理を可能にするファイル・システム・プリミティブ | |
CN114880269B (zh) | 板卡id配置与识别方法、微控制器及控制系统 | |
US20100017189A1 (en) | Transparent Intellectual Network Storage Device | |
CN115460161B (zh) | 光模块改码方法、装置、设备及存储介质 | |
CN118170443A (zh) | 基于嵌入式系统的u盘自动识别和格式化方法、系统 | |
CN114124301B (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 |