本发明涉及驱动,尤其是涉及一种设备驱动方法、装置及电子设备。
背景技术:
1、在云仓库、云质检等网络应用的场景下,需要实时地通过网络监控仓储的物流情况,或展示物品的品质、样貌、外观等情况,因此需要驱动的硬件设备也变得丰富多样,比如画面展示需要摄像头或镜头模组拍照或录制、对展示物品进行重量称重需要天平或电子秤等设备。
2、目前各种硬件设备在接入时,接口标准不一致、硬件设备配套的参数不兼容,导致云仓库和云质检机构中的硬件设备无法适应网络系统的上层功能,甚至无法驱动边缘硬件设备,无法实现云仓库和云质检的用户需求。
技术实现思路
1、为解决不同设备接口标准不一致、或无法接入现有云仓库或云质检平台的技术问题,本发明提供了一种设备驱动方法、装置及电子设备。具体地,公开了如下技术方案:
2、第一方面,本发明实施例提供了一种设备驱动方法,该方法应用客户端,客户端包括至少一个功能类模块,每个所述功能类模块下包括至少一个功能子模块,且每个功能类模块用于识别一种设备的设备类别,每个所述功能子模块用于驱动其所在设备类别下的终端设备,且每个所述功能子模块所驱动的终端设备不同,设备驱动方法包括:
3、接收调用参数,所述调用参数中包括:目标设备的设备标识、设备类别和驱动指令;
4、根据设备类别和预设的第一映射关系,在至少一个功能类模块中查找与第一设备类别相匹配的目标功能类模块,第一映射关系为客户端支持驱动的设备类别与各个功能类模块之间的关系;
5、利用目标功能类模块,根据设备标识和第二映射关系在至少一个功能子模块中查找目标功能子模块,其中,第二映射关系为目标功能类模块下的每个功能子模块与不同设备标识之间的关系;
6、通过目标功能子模块向目标设备发送驱动指令,驱动指令用于驱动目标设备执行所述驱动指令对应的任务。
7、结合第一方面,在一种可能的实现方式中,根据所述设备标识和第二映射关系在所述至少一个功能子模块中查找目标功能子模块,包括:根据所述设备标识在至少一个功能子模块中查找与设备标识相匹配的功能子模块,作为目标功能子模块。
8、结合第一方面,在另一种可能的实现方式中,所述客户端还包括宿主进程,接收宿主进程发送的调用参数之前,还包括:启动宿主进程;扫描宿主进程的程序目录,获得至少一个功能类模块;根据接口规范对至少一个功能类模块进行加载,加载后建立第一映射关系。
9、可选的,接口规范为websocket协议接口规范。
10、结合第一方面,在又一种可能的实现方式中,客户端中还包括核心守护进程,启动宿主进程,包括:判断当前正在运行的进程中是否有与宿主进程的进程名相同的进程;如果是,则关闭正在运行的宿主进程,并查找到宿主进程文件,启动宿主进程文件;如果否,则查找并启动宿主进程文件。
11、结合第一方面,在又一种可能的实现方式中,方法还包括:确定每个所述功能类模块中的功能子模块,并加载每个功能子模块。
12、进一步地,确定每个所述功能类模块中的功能子模块,包括:轮询每个功能子模块,调用导出函数,并获得导出函数被调用后返回的虚函数;判断虚函数中内容是否与当前功能类模块的类别相同;如果相同,则确定当前功能子模块是当前功能类模块中的一个功能子模块。
13、结合第一方面,在又一种可能的实现方式中,至少一个功能类模块包括相机类模块、串口类模块和软件管理类模块;
14、通过目标功能子模块向目标设备发送驱动指令,以驱动目标设备执行所述驱动指令对应的任务,包括:
15、当目标功能类模块为相机类模块时,通过目标功能子模块向摄像头发送第一驱动指令,第一驱动指令用于驱动摄像头拍摄照片或录像;
16、当目标功能类模块为串口类模块时,通过目标功能子模块向天平发送第二驱动指令,第一驱动指令用于驱动天平执行测量操作;
17、当目标功能类模块为软件管理类模块时,通过目标功能子模块向操作系统发送第三驱动指令,第三驱动指令用于启动软件的管理功能。
18、结合第一方面,在又一种可能的实现方式中,所述方法还包括:拉起核心守护进程后,从云端获取配置信息;根据所述配置信息判断是否需要在客户端更新所述至少一个功能类模块和/或所述至少一个功能子模块,如果是,则利用配置信息更新至少一个功能类模块和/或至少一个功能子模块。
19、第二方面,本发明实施例提供了一种设备驱动装置,该装置包括:
20、接收单元,用于接收调用参数,所述调用参数中包括:目标设备的设备标识、设备类别和驱动指令;
21、第一查找单元,用于根据所述设备类别和预设的第一映射关系,在所述至少一个功能类模块中查找与所述设备类别相匹配的目标功能类模块,第一映射关系为所述装置支持驱动的设备类别与各个功能类模块之间的关系;
22、第二查找单元,用于利用所述目标功能类模块,根据所述设备标识和第二映射关系在所述至少一个功能子模块中查找目标功能子模块,其中第二映射关系为目标功能子模块下的每个功能子模块与不同设备标识之间的关系;
23、发送单元,用于通过所述目标功能子模块向所述目标设备发送所述驱动指令,以驱动所述目标设备执行所述驱动指令对应的任务。
24、第三方面,本发明提供了一种电子设备,包括:存储器和处理器,存储器和处理器之间通信连接,存储器中存储有计算机程序指令,处理器通过执行所述计算机程序指令,从而执行上述第一方面或其对应的任一实现方式中的设备驱动方法。
25、此外,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实现方式中的设备驱动方法。
26、本发明提供的设备驱动方法、装置及电子设备,在设备接入时,通过宿主进程统一对外提供接入标准,将用户输入的调用参数,如设备名称、设备类别和驱动指令,下发给待驱动的目标功能类模块,目标功能类模块再根据这些调用参数查找到具体可驱动设备的目标功能子模块,最后由目标功能子模块向其连接的终端设备下发驱动指令,实现对目标终端设备的调用。本方法解决设备兼容问题,实现对边缘设备的驱动调用,满足用户在云仓库或云质检机构的调用需求。
1.一种设备驱动方法,其特征在于,所述方法应用客户端,所述客户端包括至少一个功能类模块,每个所述功能类模块下包括至少一个功能子模块,且每个所述功能类模块用于识别一种设备的设备类别,每个所述功能子模块用于驱动其所在设备类别下的终端设备,且每个所述功能子模块所驱动的终端设备不同,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述设备标识和第二映射关系在所述至少一个功能子模块中查找目标功能子模块,包括:
3.根据权利要求1所述的方法,其特征在于,所述客户端还包括宿主进程,所述接收调用参数之前,还包括:
4.根据权利要求3所述的方法,其特征在于,所述客户端中还包括核心守护进程,所述启动所述宿主进程,包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:确定每个所述功能类模块中的功能子模块,并加载每个所述功能子模块;
6.根据权利要求1-5任一项所述的方法,其特征在于,所述至少一个功能类模块包括相机类模块、串口类模块和软件管理类模块;
7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
8.一种设备驱动装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器相连接;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令;