操作系统中控制硬件设备的方法和模块技术方案

技术编号:14061287 阅读:68 留言:0更新日期:2016-11-27 18:15
一种操作系统中控制硬件设备的方法和模块,查找单元查找获取用于控制硬件设备动作的系统文件;码流获取单元获取用于修改系统文件的进程输出码流,进程输出码流包括用于控制硬件设备动作的编码序列;执行单元执行进程输出码流以控制硬件设备根据编码序列进行动作。本申请提供的操作系统中控制硬件设备的方法和模块通过修改用于控制硬件设备动作的系统文件,来对硬件设备进行控制,从而提高硬件设备的控制效率。

【技术实现步骤摘要】

本申请涉及电子设备操作系统的开发,具体涉及一种操作系统中控制硬件设备的方法和模块
技术介绍
目前,众多的电子设备上都安装有闪光灯,在很多情况下,用户具有使用闪光灯的需求,因此,如何在电子设备上实现闪光灯的控制,是本领域技术人员正在研究的问题。以安卓系统为例,当需要控制闪光灯的开关时,通常是先调用camera driver,利用camera自带的接口,通过设置camera的参数,来实现闪光灯的开关。而这种对闪光灯的控制方式,属于间接控制,其对闪光灯的调用具有一定的时间延迟。并且,这种控制方式在不同手机上表现不同,有的打开关闭闪光灯动作耗时比较小,闪烁速度比较快,时间短,效率高。而有的打开关闭闪光灯动作耗时比较长或长短不一,闪烁速度相对较慢,效率也较低。随着光通信的发展,例如可见光通信,需要使用电子设备上的闪光灯,通过控制闪光灯闪烁来实现信息的传输。而光通信的过程中,要求闪光灯闪烁的频率较快,目前的闪光灯控制速度难以达到光通信的要求。
技术实现思路
本申请提供了一种操作系统中控制硬件设备的方法和模块,解决了操作系统中对硬件设备控制效率低的问题。根据本申请的第一方面,本申请提供了一种操作系统中控制硬件设备的方法,包括:查找获取用于控制硬件设备动作的系统文件;获取用于修改所述系统文件的进程输出码流,所述进程输出码流包括用于控制硬件设备动作的编码序列;执行所述进程输出码流以控制硬件设备根据所述编码序列进行动作。根据本申请的第二方面,本申请提供了一种操作系统中控制硬件设备的模块,包括:查找单元,用于查找获取用于控制硬件设备动作的系统文件码流获取单元,用于获取用于修改所述系统文件的进程输出码流,所述进程输出码流包括用于控制硬件设备动作的编码序列;执行单元,用于执行所述进程输出码流以控制硬件设备根据所述编码序列进行动作。本申请提供的操作系统中控制硬件设备的方法和模块,查找单元查找获取用于控制硬件设备动作的系统文件;码流获取单元获取用于修改系统文件的进程输出码流,进程输出码流包括用于控制硬件设备动作的编码序列;执行单元执行进程输出码流以控制硬件设备根据编码序列进行动作。本申请提供的操作系统中控制硬件设备的方法和模块通过修改用于控制硬件设备动作的系统文件,来对硬件设备进行控制,从而提高硬件设备的控制效率。附图说明图1为本申请一种实施例中安卓系统中控制手机闪光灯的方法流程图;图2为本申请一种实施例中安卓系统中控制手机闪光灯的模块示意图。具体实施方式本申请实施例提供了一种操作系统中控制硬件设备的方法和模块,该操作系统可以是电子设备,例如手机、平板电脑等设备内的系统,硬件设备可以是闪光灯,或其他发光器件,或震动器、摄像头、传感器、麦克风等。为了便于对本申请进行说明,本申请实施例以硬件设备为手机闪光灯进行说明,相应的,硬件设备动作为闪光灯的开启或关闭。下面通过具体实施方式结合附图对本申请作进一步详细说明。实施例一请参考图1,本实施例提供了一种安卓系统中控制手机闪光灯的方法,包括下面步骤:步骤1.1:查找获取用于控制手机闪光灯开启或关闭的系统文件,通常,该系统文件为brightness系统文件,且其在手机内的存储路径通常为下面三种:sys/class/leds/torch/brightness;sys/class/leds/torch-light/brightness;sys/class/leds/flashlight/brightness。因此,本步骤中,可以直接查询上述三个路径,以查找到brightness系统文
件,在其他实施例中,也可以采用其他查找方法,例如,直接搜索整个手机存储;或者在查询上述三个路径后,依然没有查找到brightness系统文件,再搜索整个手机存储。步骤1.2:判断当前用户是否有修改brightness系统文件的权限,如果有,直接转到步骤1.4,如果没有,转到步骤1.3。步骤1.3:获取修改brightness系统文件的权限,通常,可以直接获取手机ROOT权限(超级用户权限),例如,采用手机刷机工具ROOT手机,以得到修改brightness系统文件的权限。步骤1.4:获取用于修改brightness系统文件的进程输出码流,进程输出码流包括用于控制闪光灯动作的编码序列。本实施例中,为提高闪光灯的控制效率,编码序列采用NRZI编码。步骤1.5:进入DOS命令模式。步骤1.6:执行进程输出码流以控制闪光灯根据编码序列进行动作,实现循环控制闪光灯的开和关。进程输出码流中采用ECHO命令来修改brightness系统文件,在其他实施例中,亦可以根据操作系统的不同,选择不同的修改命令。在编码序列中修改brightness系统文件,实现打开和关闭闪光灯的方式如下:Process p=Runtime.getRuntime().exec(“su”);//获得最高权限并进入dos命令模式DataOutputStream dos=new DataOutputStream(p.getOutputStream());//获得进程输出流//把1写入brightness文件打开闪光灯dos.writeByte(“echo 1>/sys/class/leds/torch/brightness”+”\\n”);dos.flush();//把0写入brightness文件关闭闪光灯dos.writeByte(“echo 0>/sys/class/leds/torch/brightness”+”\\n”);dos.flush();//退出dos命令模式dos.writeByte(“exit\\n”);dos.flush();在完成对闪光灯的控制后,操作系统退出DOS命令模式。步骤1.5中,可以是系统执行预先设置的指令,以进入DOS命令模式;也可以是,进程输出码流包括进入DOS命令模式的指令,系统执行进程输出码流时,进入DOS命令模式。需要说明的是,在某些实施例中,如果手机已设定为当前用户具有修改brightness系统文件的权限,则可以省略步骤1.2和步骤1.3,不对权限进行判断。实施例二请参考图2,本实施例提供了一种安卓系统中控制手机闪光灯的模块,包括查找单元201、权限获取单元202、码流获取单元203和执行单元204。查找单元201用于查找获取用于控制手机闪光灯开启或关闭的系统文件,通常,该系统文件为brightness系统文件,且其在手机内的存储路径通常为下面三种:sys/class/leds/torch/brightness;sys/class/leds/torch-light/brightness;sys/class/leds/flashlight/brightness。因此,查找单元201可以直接查询上述三个路径,以查找到brightness系统文件,在其他实施例中,也可以采用其他查找方法,例如,查找单元201直接搜索整个手机存储;或者在查询上述三个路径后,依然没有查找到brightness系统文件,再搜索整个手机存储。权限获取单元202判断当前用户是否有修改brightness系统文件的权限,如果没有本文档来自技高网
...
操作系统中控制硬件设备的方法和模块

【技术保护点】
一种操作系统中控制硬件设备的方法,其特征在于,包括:查找获取用于控制硬件设备动作的系统文件;获取用于修改所述系统文件的进程输出码流,所述进程输出码流包括用于控制硬件设备动作的编码序列;执行所述进程输出码流以控制硬件设备根据所述编码序列进行动作。

【技术特征摘要】
1.一种操作系统中控制硬件设备的方法,其特征在于,包括:查找获取用于控制硬件设备动作的系统文件;获取用于修改所述系统文件的进程输出码流,所述进程输出码流包括用于控制硬件设备动作的编码序列;执行所述进程输出码流以控制硬件设备根据所述编码序列进行动作。2.如权利要求1所述的方法,其特征在于,查找获取用于控制硬件设备动作的系统文件之后,还包括:判断当前用户是否有修改所述系统文件的权限,在判断到没有时,先获取修改所述系统文件的权限。3.如权利要求2所述的方法,其特征在于,获取修改所述系统文件的权限,具体为:获取操作系统的ROOT权限。4.如权利要求1所述的方法,其特征在于,先进入DOS命令模式,再执行所述进程输出码流以控制硬件设备动作;执行完所述进程输出码流后,退出DOS命令模式。5.如权利要求1所述的方法,其特征在于,所述进程输出码流中采用ECHO命令来修改所述系统文件。6.一种操作系统中控制硬件设备的模块...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:深圳光启智能光子技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1