CN114860321A - 基于树莓派的外接设备控制方法、装置、设备及介质 - Google Patents

基于树莓派的外接设备控制方法、装置、设备及介质 Download PDF

Info

Publication number
CN114860321A
CN114860321A CN202210355960.4A CN202210355960A CN114860321A CN 114860321 A CN114860321 A CN 114860321A CN 202210355960 A CN202210355960 A CN 202210355960A CN 114860321 A CN114860321 A CN 114860321A
Authority
CN
China
Prior art keywords
event
raspberry
driver
control instruction
bus
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
CN202210355960.4A
Other languages
English (en)
Other versions
CN114860321B (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202210355960.4A priority Critical patent/CN114860321B/zh
Publication of CN114860321A publication Critical patent/CN114860321A/zh
Application granted granted Critical
Publication of CN114860321B publication Critical patent/CN114860321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种基于树莓派的外接设备控制方法、装置、设备及介质,通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数,对每个驱动程序进行初始化处理,获取初始化后的驱动程序,在事件总线中注册初始化后的驱动程序对应的第一事件监听器,在事件总线中的事件为任一第一事件监听器监听的第一事件时,将第一事件监听器确定为第一目标事件监听器,并根据预先获取的事件与控制指令的映射关系,获取第一事件对应的第一控制指令,根据第一控制指令对对应的外接设备进行控制。使用事件总线将应用层和驱动层的调用进行了隔离,在修改驱动程序的程序代码时无需修改应用层的程序代码,提高了处理效率。

Description

基于树莓派的外接设备控制方法、装置、设备及介质
技术领域
本申请涉及嵌入式设备技术领域,尤其涉及一种基于树莓派的外接设备控制方法、装置、设备及介质。
背景技术
树莓派(Raspberry Pi,RPi)自问世以来,由于其外形较小却拥有计算机所有的基本功能,受到了众多计算机发烧友的追捧。RPi与普通计算机一样,拥有丰富的插槽和接口,以使其能够与各种类型的外接设备进行连接。
目前,在RPi与外接设备连接后,RPi可以获取外接设备对应的驱动程序和驱动参数,RPi的应用层根据驱动参数对该驱动程序进行初始化,并调用初始化后的驱动程序对外接设备进行控制或读取外接设备中存储的数据。
然而,现有技术中,由于需要通过应用层对驱动程序的进行初始化处理,在驱动程序的程序代码需要修改时,同样需要修改应用层的程序代码,以使驱动程序能够正常运行,可能存在处理效率较低的问题。
发明内容
本申请提供一种基于树莓派的外接设备控制方法、装置、设备及介质,以解决现有技术中在驱动程序的程序代码需要修改时,可能存在的处理效率较低的问题。
第一方面,本申请实施例提供一种基于树莓派的外接设备控制方法,包括:
通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数,对每个驱动程序进行初始化处理,获取初始化后的驱动程序,所述驱动列表中的驱动程序是与树莓派连接的外接设备对应的驱动程序;
根据每个初始化后的驱动程序,在事件总线中注册对应的第一事件监听器,所述第一事件监听器用于监听所述事件总线中是否存在第一事件,不同第一事件监听器监听的第一事件不同;
在所述事件总线中的事件为任一第一事件监听器监听的第一事件时,将所述第一事件监听器确定为第一目标事件监听器,并根据预先获取的事件与控制指令的映射关系,获取所述第一事件对应的第一控制指令;
根据所述第一控制指令通过第一目标事件监听器对应的初始化后的驱动程序,对所述初始化后的驱动程序对应的外接设备进行控制。
在第一方面的一种可能设计中,所述通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数之前,所述方法还包括:
根据所述树莓派预先存储的配置文件,获取所述驱动列表;
或,
从所述树莓派对应的服务平台中获取所述驱动列表。
在第一方面的另一种可能设计中,所述方法还包括:
响应于用户对所述树莓派的控制操作,生成所述控制操作对应的事件;
将所述事件派发至所述事件总线中。
在第一方面的再一种可能设计中,所述方法还包括:
在所述事件总线中的事件为任一预先注册的第二事件监听器监听的第二事件时,根据所述映射关系,获取所述第二事件对应的第二控制指令,不同第二事件监听器监听的第二事件不同;
根据所述第二控制指令,对所述树莓派进行控制。
可选的,所述方法还包括:
接收外接设备发送的工作状态信息;
根据所述工作状态信息,生成对应的事件,并将所述事件派发至所述事件总线中。
可选的,所述方法还包括:
根据所述第二控制指令,生成控制结果;
将所述控制结果在树莓派的屏幕中进行显示。
第二方面,本申请实施例提供一种基于树莓派的外接设备控制装置,包括:
获取模块,用于通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数,对每个驱动程序进行初始化处理,获取初始化后的驱动程序,所述驱动列表中的驱动程序是与树莓派连接的外接设备对应的驱动程序;
注册模块,用于根据每个初始化后的驱动程序,在事件总线中注册对应的第一事件监听器,所述第一事件监听器用于监听所述事件总线中是否存在第一事件,不同第一事件监听器监听的第一事件不同;
所述获取模块,还用于在所述事件总线中的事件为任一第一事件监听器监听的第一事件时,将所述第一事件监听器确定为第一目标事件监听器,并根据预先获取的事件与控制指令的映射关系,获取所述第一事件对应的第一控制指令;
控制模块,用于根据所述第一控制指令通过第一目标事件监听器对应的初始化后的驱动程序,对所述初始化后的驱动程序对应的外接设备进行控制。
在第二方面的一种可能设计中,所述通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数之前,所述获取模块,还用于:
根据所述树莓派预先存储的配置文件,获取所述驱动列表;
或,
从所述树莓派对应的服务平台中获取所述驱动列表。
在第二方面的另一种可能设计中,所述装置还包括:
生成模块,用于响应于用户对所述树莓派的控制操作,生成所述控制操作对应的事件;
派发模块,用于将所述事件派发至所述事件总线中。
在第二方面的再一种可能设计中,所述获取模块,还用于在所述事件总线中的事件为任一预先注册的第二事件监听器监听的第二事件时,根据所述映射关系,获取所述第二事件对应的第二控制指令,不同第二事件监听器监听的第二事件不同;
所述控制模块,还用于根据所述第二控制指令,对所述树莓派进行控制。
可选的,所述装置还包括:
接收模块,用于接收外接设备发送的工作状态信息;
派发模块,还用于根据所述工作状态信息,生成对应的事件,并将所述事件派发至所述事件总线中。
第三方面,本申请实施例提供一种树莓派,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时用于实现第一方面以及各可能设计提供的方法。
第四方面,本申请实施例可提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面以及各可能设计提供的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现第一方面以及各可能设计提供的方法。
本申请实施例提供的基于树莓派的外接设备控制方法、装置、设备及介质,通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数,对每个驱动程序进行初始化处理,获取初始化后的驱动程序,根据每个初始化后的驱动程序,在事件总线中注册对应的第一事件监听器,在事件总线中的事件为任一第一事件监听器监听的第一事件时,将第一事件监听器确定为第一目标事件监听器,并根据预先获取的事件与控制指令的映射关系,获取第一事件对应的第一控制指令,根据第一控制指令通过第一目标事件监听器对应的初始化后的驱动程序,对初始化后的驱动程序对应的外接设备进行控制。通过驱动管理器和预先加载的驱动列表对驱动程序进行初始化处理,不需要调用应用层的程序代码,因此在修改驱动程序的程序代码时无需修改应用层的程序代码,提高了处理效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的树莓派的架构示意图;
图2为本申请实施例提供的基于树莓派的外接设备控制方法实施例一的流程示意图;
图3为本申请实施例提供的基于树莓派的外接设备控制方法实施例二的流程示意图;
图4为本申请实施例提供的基于树莓派的外接设备控制方法实施例三的流程示意图;
图5为本申请实施例提供的基于树莓派的外接设备控制方法实施例四的流程示意图;
图6为本申请实施例提供的基于树莓派的外接设备控制方法实施例五的流程示意图;
图7为本申请实施例提供的基于树莓派的外接设备控制装置的结构示意图;
图8为本申请实施例提供的树莓派的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在介绍本申请的实施例之前,首先对本申请实施例所涉及的名词进行解释:
RPi:只有信用卡大小的微型电脑,其系统基于Linux。
驱动程序:是一种可以使树莓派和外接设备进行相互通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制外接设备的工作,假如某外接设备的驱动程序未能正确安装,便不能正常工作。驱动程序实现了树莓派与所连接的外接设备的通信协议,具备能够对外接设备进行控制或者通信的程序代码
接下来,对本申请实施例的应用背景进行解释:
在嵌入式相关的领域中,树莓派有着广泛的应用场景,同时树莓派本身也有着丰富插槽和接口,可以连接各种不同类型的外接设备。控制这些外接设备时,树莓派所需要的驱动程序类型也十分多样繁杂。
目前,在RPi与外接设备连接后,RPi可以获取外接设备对应的驱动程序和驱动参数,RPi应用层的程序代码根据驱动参数对该驱动程序进行初始化,以使通过初始化后的驱动程序对外接设备进行控制或读取外接设备中存储的数据。
然而,现有技术中,在需要更换驱动程序或者需要对驱动程序中的程序代码进行修改时,同样需要修改应用层的程序代码,以使驱动程序能够正常运行,可能存在处理效率较低的问题。不仅如此,在修改过程中,存在较多不必要的代码替换和代码修改工作,较容易引入错误(英文:bug),增加了系统的不稳定性。
针对上述问题,本申请的发明构思如下:由于应用层的程序代码往往会和驱动程序的程序代码混杂在一起,应用层的程序代码与外接设备的通信方式深度绑定。因此,修改驱动程序的程序代码的同时,还需要修改应用层的程序代码,存在处理效率较低的问题。基于此,发明人发现,如果将驱动层和应用层的程序代码分隔开,通过驱动管理器对驱动程序进行初始化处理,那么在修改驱动程序的程序代码时,只需要单独修改驱动程序的程序代码即可,就能解决现有技术存在的处理效率较低的问题,从而减少修改过程中产生的bug,提高系统的稳定性。
示例性的,图1为本申请实施例提供的树莓派的架构示意图,用以解决上述技术问题。如图1所示,该树莓派的架构可以包括:驱动管理器11,至少一个驱动程序(如图1中的驱动程序12、驱动程序13、驱动程序14),事件总线15、至少一个应用层的程序代码脚本(如图1中的程序代码脚本16、程序代码脚本17、程序代码脚本18)。
在本申请实施例中,在树莓派启动后,控制驱动管理器11启动。在驱动管理器11启动后,可以通过网络,从树莓派对应的服务平台中获取配置好的驱动列表,还可以获取树莓派预先存储的配置文件,从配置文件中获取驱动列表。进一步的,通过驱动管理器11加载驱动列表,以使对驱动列表中的驱动程序进行初始化。
进一步的,根据初始化后的驱动程序在事件总线15中注册对应的第一事件监听器,同时,根据应用层的程序代码脚本在事件总线15中注册对应的第二事件监听器,第一事件监听器和第一事件监听器用于监听事件和派发事件。
可选的,在事件监听器监听到对应的事件后,根据事件与控制指令的映射关系,获取事件对应的控制指令,并根据该控制指令对外接设备或树莓派进行控制。
下面,通过具体实施例对本申请的技术方案进行详细说明。
需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请实施例提供的基于树莓派的外接设备控制方法实施例一的流程示意图。如图2所示,该基于树莓派的外接设备控制方法可以包括如下步骤:
S21、通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数,对每个驱动程序进行初始化处理,获取初始化后的驱动程序。
可选的,驱动管理器可以是现有技术中存在的用于对驱动程序进行管理的驱动管理器,还可以是工作人员根据实际需求编写程序代码获取的,本申请实施例对此不进行具体限制。
其中,驱动列表中包括驱动程序和对应的驱动参数,驱动列表中的驱动程序是与树莓派连接的外接设备对应的驱动程序。
示例性的,假设鼠标和键盘与树莓派连接,则驱动列表中的驱动程序则是鼠标对应的驱动程序和键盘对应的驱动程序。
在本实施例中,树莓派需要预先获取驱动列表,并通过驱动管理器对其进行加载。其中,可以通过以下方式预先获取驱动列表:
1),可以根据树莓派预先存储的配置文件,获取驱动列表。
2),还可以从树莓派对应的服务平台中获取驱动列表。
通过预先获取驱动列表,从而可以对驱动列表中每个驱动程序进行初始化处理,以使后续能够通过初始化后的驱动程序对外接设备进行控制。
S22、根据每个初始化后的驱动程序,在事件总线中注册对应的第一事件监听器。
其中,第一事件监听器用于监听事件总线中是否存在第一事件,不同第一事件监听器监听的第一事件不同。
示例性的,初始化后的驱动程序,第一事件监听器以及第一事件之间的映射关系可以通过表1进行表示。
表1
Figure BDA0003582797320000071
Figure BDA0003582797320000081
示例性的,如表1所示,根据驱动程序1在事件总线中注册事件监听器1,其中,事件监听器1用于监听事件1。根据驱动程序3在事件总线中注册事件监听器3,其中,事件监听器3用于监听事件3和事件4。
可以理解的是,表1中仅示出了部分初始化后的驱动程序,第一事件监听器以及第一事件之间的映射关系,在实际应用中,该映射关系还可以有其他的表现形式,此处不再赘述。
S23、在事件总线中的事件为任一第一事件监听器监听的第一事件时,将第一事件监听器确定为第一目标事件监听器,并根据预先获取的事件与控制指令的映射关系,获取第一事件对应的第一控制指令。
示例性的,事件与控制指令的映射关系可以通过表2进行表示。
表2
事件 控制指令
事件1 控制指令1
事件2 控制指令2
事件3 控制指令3
事件4 控制指令4
示例性的,如表2所示,在事件总线中的事件为事件1时,则将控制指令1确定为第一控制指令。
可以理解的是,表2中仅示出了部分事件与控制指令的映射关系,在实际应用中,该映射关系还可以有其他的表现形式,此处不再赘述。
为了方便理解,还可以将表1和表2进行合并,从而获取表3。
表3
Figure BDA0003582797320000082
Figure BDA0003582797320000091
进一步的,如表3所示,假设事件总线中的事件为事件1时,则将事件监听器1确定为第一目标事件监听器,控制指令1确定为第一控制指令。假设事件总线中的事件为事件3时,则将事件监听器3确定为第一目标事件监听器,控制指令3确定为第一控制指令。
S24、根据第一控制指令通过第一目标事件监听器对应的初始化后的驱动程序,对初始化后的驱动程序对应的外接设备进行控制。
示例性的,如表3所示,假设第一控制指令为控制指令3,则根据控制指令3通过驱动程序3对对应的外接设备进行控制。
示例性的,第一控制指令可以是获取外接设备中的数据,还可以是改变外接设备的工作状态,如更改外接设备中指示灯的颜色,还可以是改变外接设备与树莓派的连接状态,如断开树莓派与外接设备的连接。应理解,第一控制指令还可以包括其他内容和类型,可以根据树莓派的性能和实际使用需求进行确定,本申请实施例对此不进行具体限制。
本申请实施例提供的树莓派的外接设备控制方法,通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数,对每个驱动程序进行初始化处理,获取初始化后的驱动程序,根据每个初始化后的驱动程序,在事件总线中注册对应的第一事件监听器,在事件总线中的事件为任一第一事件监听器监听的第一事件时,将第一事件监听器确定为第一目标事件监听器,并根据预先获取的事件与控制指令的映射关系,获取第一事件对应的第一控制指令,根据第一控制指令通过第一目标事件监听器对应的初始化后的驱动程序,对初始化后的驱动程序对应的外接设备进行控制。通过驱动管理器和预先加载的驱动列表对驱动程序进行初始化处理,不需要调用应用层的程序代码,因此在修改驱动程序的程序代码时无需修改应用层的程序代码,提高了处理效率。
进一步的,上述实施例中,使用事件总线将应用层和驱动层的调用进行了隔离,使得应用层不需要获取驱动程序的工作信息,提高了系统整体的健壮性和模块化程度,方便由不同人员分别进行应用层和驱动层进行开发。在对驱动程序的程序代码进行修改时,减少了工作人员修改程序代码的工作量,从而减少了在修改过程中产生的bug,增加了系统的稳定性。
图3为本申请实施例提供的基于树莓派的外接设备控制方法实施例二的流程示意图。如图3所示,基于上述任一实施例,该基于树莓派的外接设备控制方法还可以包括如下步骤:
S31、响应于用户对树莓派的控制操作,生成控制操作对应的事件。
在本申请实施例中,应用层中存储有多个程序代码脚本,不同的程序代码脚本获取对应的控制操作,并根据控制操作生成对应的事件。
示例性的,在用户点击外接设备在树莓派显示界面中对应的图标时,树莓派调用该点击操作对应的程序代码脚本,生成对应的事件。
S32、将事件派发至事件总线中。
在一种具体的实现方式中,程序代码脚本生成对应的事件后,树莓派调用该程序代码脚本将该事件派发至事件总线中。
在本实施例中,事件可以为第一事件。
在上述实施例中,通过响应于用户对树莓派的控制操作,生成控制操作对应的事件,并将该事件派发至事件总线中,以使第一事件监听器对于事件总线中的第一事件进行监听,从而可以根据该第一事件对外接设备进行控制,提高了控制的准确度。
图4为本申请实施例提供的基于树莓派的外接设备控制方法实施例三的流程示意图。如图4所示,基于上述任一实施例,该基于树莓派的外接设备控制方法还可以包括如下步骤:
S41、在事件总线中的事件为任一预先注册的第二事件监听器监听的第二事件时,根据映射关系,获取第二事件对应的第二控制指令。
其中,不同第二事件监听器监听的第二事件不同。
其中,第二事件监听器是预先根据应用层中存储的程序代码脚本注册得到的。
应理解,本步骤的具体实现原理和实现方式可以参照S23,在此不在赘述。
S42、根据第二控制指令,对树莓派进行控制。
示例性的,第一控制指令可以是控制树莓派在显示界面上通过弹窗的方式显示文字,还可以是控制树莓派将外接设备中的数据与树莓派中预先存储的数据进行对比,还可以为控制树莓派将外接设备中的数据存储至树莓派中预先设定的存储路径中。应理解,第二控制指令还可以包括其他内容和类型,可以根据树莓派的性能和实际使用需求进行确定,本申请实施例对此不进行具体限制。
在上述实施例中,在事件总线中的事件为任一预先注册的第二事件监听器监听的第二事件时,根据事件与控制指令的映射关系,获取第二事件对应的第二控制指令,根据第二控制指令,对树莓派进行控制,提高了对树莓派控制的准确性。
图5为本申请实施例提供的基于树莓派的外接设备控制方法实施例四的流程示意图。如图5所示,在上述任一实施例中,该基于树莓派的外接设备控制方法还可以包括如下步骤:
S51、接收外接设备发送的工作状态信息。
示例性的,假设外接设备上存在按钮,在用户点击外接设备的按钮时,外接设备根据用户点击按钮的操作,获取外接设备的工作状态信息,并通过对应的驱动程序将该工作状态信息发送至树莓派。
示例性的,假设外接设备为指纹采集设备,在用户将手机放置于指纹采集设备的指纹采集区时,指纹采集设备获取用户的指纹信息,并将该指纹信息确定为外接设备的工作状态信息,并通过对应的驱动程序将该工作状态信息发送至树莓派。
S52、根据工作状态信息,生成对应的事件,并将事件派发至事件总线中。
其中,该事件可以为第二事件。
在上述实施例中,通过接收外接设备发送的工作状态信息,并根据工作状态信息,生成对应的事件,并将事件派发至事件总线中,为后续第二事件监听器监听第二事件,并生成执行第二事件对应的第二控制指令奠定了基础。
图6为本申请实施例提供的基于树莓派的外接设备控制方法实施例五的流程示意图。如图6所示,在上述任一实施例的基础上,该基于树莓派的外接设备控制方法还可以包括如下步骤:
S61、根据第二控制指令,生成控制结果。
示例性的,假设第二控制指令是控制树莓派将外接设备中的数据与树莓派中预先存储的数据进行对比,则在对比结束后生成控制结果。其中,对比结果可以为一致或不一致。
示例性的,假设第二控制指令是控制树莓派将外接设备中的数据存储至树莓派中的预先设定的存储路径中,则在存储结束后生成控制结果。其中,对比结果可以为存储成功或不成功。
S62、将控制结果在树莓派的屏幕中进行显示。
其中,可以将控制结果通过弹窗或浮层的形式在显示界面中进行显示,还可以将控制结果输出为表格,并将该表格在屏幕中进行显示。
上述实施例中,通过根据第二控制指令,生成控制结果,并将控制结果在树莓派的屏幕中进行显示,方便用户通过屏幕对控制结果查看,在控制失败时以便于用户进行重新操作。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图7为本申请实施例提供的基于树莓派的外接设备控制装置的结构示意图。如图7所示,该基于树莓派的外接设备控制装置包括:
获取模块71,用于通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数,对每个驱动程序进行初始化处理,获取初始化后的驱动程序,驱动列表中的驱动程序是与树莓派连接的外接设备对应的驱动程序;
注册模块72,用于根据每个初始化后的驱动程序,在事件总线中注册对应的第一事件监听器,第一事件监听器用于监听事件总线中是否存在第一事件,不同第一事件监听器监听的第一事件不同;
获取模块71,还用于在事件总线中的事件为任一第一事件监听器监听的第一事件时,将第一事件监听器确定为第一目标事件监听器,并根据预先获取的事件与控制指令的映射关系,获取第一事件对应的第一控制指令;
控制模块73,用于根据第一控制指令通过第一目标事件监听器对应的初始化后的驱动程序,对初始化后的驱动程序对应的外接设备进行控制。
在本申请实施例的一种可能设计中,通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数之前,获取模块71,还用于:
根据树莓派预先存储的配置文件,获取驱动列表;
或,
从树莓派对应的服务平台中获取驱动列表。
在本申请实施例的另一种可能设计中,装置还包括:
生成模块,用于响应于用户对树莓派的控制操作,生成控制操作对应的事件;
派发模块,用于将事件派发至事件总线中。
在本申请实施例的再一种可能设计中,获取模块71,还用于在事件总线中的事件为任一预先注册的第二事件监听器监听的第二事件时,根据映射关系,获取第二事件对应的第二控制指令,不同第二事件监听器监听的第二事件不同;
控制模块73,还用于根据第二控制指令,对树莓派进行控制。
可选的,装置还包括:
接收模块,用于接收外接设备发送的工作状态信息;
派发模块,还用于根据工作状态信息,生成对应的事件,并将事件派发至事件总线中。
本申请实施例提供的基于树莓派的外接设备控制装置,可用于执行上述任一实施例中的基于树莓派的外接设备控制方法,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外,这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图8为本申请实施例提供的树莓派的结构示意图。如图8所示,该树莓派可以包括:处理器81、存储器82及存储在存储器82上并可在处理器81上运行的计算机程序指令,处理器81执行计算机程序指令时实现前述任一实施例提供的基于树莓派的外接设备控制方法。
可选的,该树莓派的上述各个器件之间可以通过系统总线连接。
存储器82可以是单独的存储单元,也可以是集成在处理器中的存储单元。处理器的数量为一个或者多个。
可选的,树莓派还可以包括与其他设备进行交互的接口。
应理解,处理器81可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
系统总线可以是外接设备部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器可能包括随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(read-only memory,ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppy disk)、光盘(英文:optical disc)及其任意组合。
本申请实施例提供的树莓派,可用于执行上述任一方法实施例提供的基于树莓派的外接设备控制方法,其实现原理和技术效果类似,在此不再赘述。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述基于树莓派的外接设备控制方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器,电可擦除可编程只读存储器,可擦除可编程只读存储器,可编程只读存储器,只读存储器,磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
可选的,将可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,至少一个处理器可以从该计算机可读存储介质中读取该计算机程序,至少一个处理器执行计算机程序时可实现上述基于树莓派的外接设备控制方法。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

Claims (10)

1.一种基于树莓派的外接设备控制方法,其特征在于,包括:
通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数,对每个驱动程序进行初始化处理,获取初始化后的驱动程序,所述驱动列表中的驱动程序是与树莓派连接的外接设备对应的驱动程序;
根据每个初始化后的驱动程序,在事件总线中注册对应的第一事件监听器,所述第一事件监听器用于监听所述事件总线中是否存在第一事件,不同第一事件监听器监听的第一事件不同;
在所述事件总线中的事件为任一第一事件监听器监听的第一事件时,将所述第一事件监听器确定为第一目标事件监听器,并根据预先获取的事件与控制指令的映射关系,获取所述第一事件对应的第一控制指令;
根据所述第一控制指令通过第一目标事件监听器对应的初始化后的驱动程序,对所述初始化后的驱动程序对应的外接设备进行控制。
2.根据权利要求1所述的方法,其特征在于,所述通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数之前,所述方法还包括:
根据所述树莓派预先存储的配置文件,获取所述驱动列表;
或,
从所述树莓派对应的服务平台中获取所述驱动列表。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
响应于用户对所述树莓派的控制操作,生成所述控制操作对应的事件;
将所述事件派发至所述事件总线中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述事件总线中的事件为任一预先注册的第二事件监听器监听的第二事件时,根据所述映射关系,获取所述第二事件对应的第二控制指令,不同第二事件监听器监听的第二事件不同;
根据所述第二控制指令,对所述树莓派进行控制。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收外接设备发送的工作状态信息;
根据所述工作状态信息,生成对应的事件,并将所述事件派发至所述事件总线中。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述第二控制指令,生成控制结果;
将所述控制结果在树莓派的屏幕中进行显示。
7.一种基于树莓派的外接设备控制装置,其特征在于,包括:
获取模块,用于通过驱动管理器根据预先获取的驱动列表中每个驱动程序的驱动参数,对每个驱动程序进行初始化处理,获取初始化后的驱动程序,所述驱动列表中的驱动程序是与树莓派连接的外接设备对应的驱动程序;
注册模块,用于根据每个初始化后的驱动程序,在事件总线中注册对应的第一事件监听器,所述第一事件监听器用于监听所述事件总线中是否存在第一事件,不同第一事件监听器监听的第一事件不同;
所述获取模块,还用于在所述事件总线中的事件为任一第一事件监听器监听的第一事件时,将所述第一事件监听器确定为第一目标事件监听器,并根据预先获取的事件与控制指令的映射关系,获取所述第一事件对应的第一控制指令;
控制模块,用于根据所述第一控制指令通过第一目标事件监听器对应的初始化后的驱动程序,对所述初始化后的驱动程序对应的外接设备进行控制。
8.一种树莓派,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序指令,其特征在于,所述处理器执行所述计算机程序指令时用于实现如权利要求1至6任一项所述的基于树莓派的外接设备控制方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的基于树莓派的外接设备控制方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现如权利要求1至6任一项所述的基于树莓派的外接设备控制方法。
CN202210355960.4A 2022-04-06 2022-04-06 基于树莓派的外接设备控制方法、装置、设备及介质 Active CN114860321B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210355960.4A CN114860321B (zh) 2022-04-06 2022-04-06 基于树莓派的外接设备控制方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210355960.4A CN114860321B (zh) 2022-04-06 2022-04-06 基于树莓派的外接设备控制方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN114860321A true CN114860321A (zh) 2022-08-05
CN114860321B CN114860321B (zh) 2023-07-18

Family

ID=82629230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210355960.4A Active CN114860321B (zh) 2022-04-06 2022-04-06 基于树莓派的外接设备控制方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114860321B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115202763A (zh) * 2022-09-19 2022-10-18 大方智造(天津)科技有限公司 一种基于驱动的采集动态加载与调用方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5530741A (en) * 1978-08-25 1980-03-04 Hitachi Ltd Common bus monitor of data processing unit
JP2004054622A (ja) * 2002-07-19 2004-02-19 Hitachi Ltd コントローラおよび情報通信サービス方法
JP2012010330A (ja) * 2010-06-03 2012-01-12 Huawei Device Co Ltd 無線アクセスモジュール、データカード、及び無線アクセスモジュールとホストとの間の通信の方法
US8561028B1 (en) * 2009-05-12 2013-10-15 Adobe Systems Incorporated Methods and systems for debugging event-driven software applications
US20140365907A1 (en) * 2013-06-10 2014-12-11 International Business Machines Corporation Event driven adaptive user interface
CN104636076A (zh) * 2013-11-15 2015-05-20 中国电信股份有限公司 一种用于云存储的分布式块设备驱动方法和系统
CN106713045A (zh) * 2016-12-30 2017-05-24 上海浦东软件园汇智软件发展有限公司 一种部署终端设备的驱动组件的方法及设备
US10063425B1 (en) * 2012-03-29 2018-08-28 EMC IP Holding Company LLC Event-based in-band host registration
CN108897529A (zh) * 2018-06-19 2018-11-27 深圳众为兴技术股份有限公司 一种pci运动控制卡驱动的开发方法
CN108958817A (zh) * 2018-06-28 2018-12-07 北京无线电测量研究所 总线驱动方法、装置及存储介质
US20190236035A1 (en) * 2018-02-01 2019-08-01 Microsoft Technology Licensing, Llc Standardized device driver having a common interface
CN110308934A (zh) * 2018-03-22 2019-10-08 龙芯中科技术有限公司 Hpet驱动方法和装置、可读存储介质及电子设备
CN114037156A (zh) * 2021-11-09 2022-02-11 上海电信工程有限公司 基于弹性云的轨交大客流轨迹分析方法、终端及存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5530741A (en) * 1978-08-25 1980-03-04 Hitachi Ltd Common bus monitor of data processing unit
JP2004054622A (ja) * 2002-07-19 2004-02-19 Hitachi Ltd コントローラおよび情報通信サービス方法
US8561028B1 (en) * 2009-05-12 2013-10-15 Adobe Systems Incorporated Methods and systems for debugging event-driven software applications
JP2012010330A (ja) * 2010-06-03 2012-01-12 Huawei Device Co Ltd 無線アクセスモジュール、データカード、及び無線アクセスモジュールとホストとの間の通信の方法
US10063425B1 (en) * 2012-03-29 2018-08-28 EMC IP Holding Company LLC Event-based in-band host registration
US20140365907A1 (en) * 2013-06-10 2014-12-11 International Business Machines Corporation Event driven adaptive user interface
CN104636076A (zh) * 2013-11-15 2015-05-20 中国电信股份有限公司 一种用于云存储的分布式块设备驱动方法和系统
CN106713045A (zh) * 2016-12-30 2017-05-24 上海浦东软件园汇智软件发展有限公司 一种部署终端设备的驱动组件的方法及设备
US20190236035A1 (en) * 2018-02-01 2019-08-01 Microsoft Technology Licensing, Llc Standardized device driver having a common interface
CN110308934A (zh) * 2018-03-22 2019-10-08 龙芯中科技术有限公司 Hpet驱动方法和装置、可读存储介质及电子设备
CN108897529A (zh) * 2018-06-19 2018-11-27 深圳众为兴技术股份有限公司 一种pci运动控制卡驱动的开发方法
CN108958817A (zh) * 2018-06-28 2018-12-07 北京无线电测量研究所 总线驱动方法、装置及存储介质
CN114037156A (zh) * 2021-11-09 2022-02-11 上海电信工程有限公司 基于弹性云的轨交大客流轨迹分析方法、终端及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115202763A (zh) * 2022-09-19 2022-10-18 大方智造(天津)科技有限公司 一种基于驱动的采集动态加载与调用方法

Also Published As

Publication number Publication date
CN114860321B (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
CN108462760B (zh) 电子装置、集群访问域名自动生成方法及存储介质
US8838948B2 (en) Remote management of UEFI BIOS settings and configuration
US6658562B1 (en) Method, system, and program for customizing a basic input/output system (“BIOS”) configuration according to the type of user
CN103412769A (zh) 外接卡参数配置方法、设备以及系统
US20070168585A1 (en) Method and System for Remote Access to Keyboard Control in Legacy USB Mode
CN110888615A (zh) 用于Android系统双屏异显的多输入设备交互方法、装置及介质
CN108776587B (zh) 数据获取方法、装置、计算机设备以及存储介质
US20120005520A1 (en) Simplifying automated software maintenance of data centers
CN112198820B (zh) 一种中断服务实现方法、装置、设备及存储介质
CN111124288A (zh) 一种vpd存储管理方法、装置、设备及可读存储介质
CN113282351A (zh) 一种交换机启动方法、装置、电子设备和存储介质
CN112925718A (zh) 调用栈回溯方法、装置、设备和介质
CN114860321A (zh) 基于树莓派的外接设备控制方法、装置、设备及介质
CN110895518A (zh) Gpio接口的配置方法及系统
US20220129258A1 (en) Pushing a firmware update patch to a computing device via an out-of-band path
US6907521B2 (en) Enabling video BIOS and display drivers to leverage system BIOS platform abstract
GB2348989A (en) Determining the drive letter assignment of a media drive during initial system setup of a computer system
CN111736825B (zh) 一种信息展示方法、装置、设备和存储介质
CN108984238B (zh) 应用程序的手势处理方法、装置及电子设备
US10628285B1 (en) Dynamic configuration of availability of debugging messages
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
US20210354713A1 (en) Agent control device, agent control method, and storage medium storing agent control program
CN112261072B (zh) 一种服务调用方法、装置、设备和存储介质
CN114385537A (zh) 一种页槽号动态分配方法、装置、设备及介质
CN110908684B (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