服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - 在Linux系统中使用蓝牙功能的基本方法

在Linux系统中使用蓝牙功能的基本方法

2019-09-03 19:51开源中文社区 Linux

这篇文章主要介绍了在Linux系统中使用蓝牙功能的基本方法,包括利用rfkill进行蓝牙功能相关操作的内容,需要的朋友可以参考下

首先确定硬件上有支持蓝牙的设备,然后运行如下命令,就可以开到我们的蓝牙设备了:
 

复制代码
代码如下:
lsusb

在Linux系统中使用蓝牙功能的基本方法
运行hciconfig可以看到:
在Linux系统中使用蓝牙功能的基本方法
从上图可以看出,我们的蓝牙设备是hci0
运行hcitool dev可以看到我们的蓝牙设备的硬件地址
运行hcitoo --help 可以查看更多相关命令

 


然后我们激活它:
 

复制代码
代码如下:
sudo hciconfig hci0 up

 

要注意的是,激活前蓝牙必须是打开的,否则会出现如下错误:
在Linux系统中使用蓝牙功能的基本方法
然后我们开始扫描了:
 

复制代码
代码如下:
hcitool scan

在Linux系统中使用蓝牙功能的基本方法
可以看到,发现了我手机的蓝牙了~~

 


然后我们要开始连接了,连接阶段使用的主要命令是rfcomm:
运行rfcomm --help 可以查看用法

首先需要绑定目的蓝牙设备:
 

复制代码
代码如下:
sudo rfcomm bind /dev/rfcomm0 E0:A6:70:8C:A3:02

注意:上面的这个地址是目的蓝牙设备的硬件地址

 


接着我们连接它:
 

复制代码
代码如下:
sudo cat >/dev/rfcomm0

 

这是目的蓝牙主机就会弹出一个对话框要求输入pin码,随便输入一个,然后主机就会弹出一个对话框,只要输入的和刚才一致就可以通过验证。之后我们发现我的手机已经显示了成功配对的标记了。


在配对完成之后我们需要删除绑定(否则在下次使用时会提示设备正忙),命令如下:
 

复制代码
代码如下:
sudo rfcomm release /dev/rfcomm0

 


在 Linux 下使用 rfkill 软开关蓝牙及无线功能
很多计算机系统包含无线电传输,其中包括Wi-Fi、蓝牙和3G设备。这些设备消耗电源,在不使用这些设备时是一种能源浪费。

RFKill 是Linux内核中的一个子系统,它可提供一个接口,在此接口中可查询、激活并取消激活计算机系统中的无线电传输。当取消激活传输时,可使其处于可被软件重新激活的状态( 软锁定 )或软件无法重新激活的位置( 硬锁定 )。

RFKill 为内核子系统提供应用程序编程界面(API)。内核驱动程序被设计为支持RFKill使用这个API注册内核,并包含启用和禁用这个设备的方法。另外,RFKill提供用户程序可解读的通知以及用户程序查询传输状态的方法。

RFKill接口位于 /dev/rfkill,其中包含系统中所有无线电传输的当前状态。每个设备都在 sysfs 中注册当前RFKill状态。另外,在启用了RFKill的设备中每当状态更改时,RFKill会发出 uevents。

rfkill 是一个命令行工具,您可使用它查询和更改系统中启用了RFKill的设备。要获得这个工具,请安装 rfkill 软件包。

如果开机时在可以搜索到无线网络且输入密码正确但仍然无法接入的情况下,就可能是rfkill这个程序阻拦了接入,它是个用来控制无线网络及蓝牙的使用的软开关。

使用命令 rfkill list 获得设备列表,每个都包含与之关联的索引号 ,从 0 开始。

 

复制代码
代码如下:
rfkill list

在Linux系统中使用蓝牙功能的基本方法
您可以使用这个索引号让 rfkill 停使或者使用某个设备,例如:

 

 

复制代码
代码如下:
rfkill block 0

停用系统中第一个启用RFKill的设备。

 

您还可以使用 rfkill 阻断某一类设备,或者所有启用了RFKill的设备。例如:

 

复制代码
代码如下:
rfkill block wifi

停用系统中的所有Wi-Fi设备。要停用所有启用了RFKill的设备,请运行:

 

 

复制代码
代码如下:
rfkill block all

要重新使用设备,请运行 rfkill unblock。要获得 rfkill 可停用的完整设备类别列表,请运行 rfkill help。

延伸 · 阅读

精彩推荐
  • Linuxlinux top命令详解

    linux top命令详解

    这篇文章主要介绍了linux top命令详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    sparkdev5622022-03-01
  • Linux将 Linux 终端与 Nautilus 文件管理器结合起来

    将 Linux 终端与 Nautilus 文件管理器结合起来

    Nautilus 是 GNOME 桌面环境中的图形化文件浏览器。你可以使用它来访问和管理系统中的文件和文件夹。 尽管并非所有人都喜欢使用终端来管理文件和目录,...

    未知812023-08-08
  • Linux在Linux系统中创建新的亚马逊AWS访问密钥的方法

    在Linux系统中创建新的亚马逊AWS访问密钥的方法

    如何在Linux系统中创建新的亚马逊AWS访问密钥?我在配置一个需要访问我的亚马逊AWS帐号的应用时被要求提供AWS访问密钥ID和秘密访问密钥,我怎样创建一个...

    Linux教程网6182019-10-30
  • Linux理解 Linux/Unix 登录脚本的技巧

    理解 Linux/Unix 登录脚本的技巧

    有一些常见的情况,例如从Debian的包管理程序到Iaas的管理中,很多任务需要设置环境变量才能正常运行。 有时,程序通常只需要在 登陆时运行一次,例如...

    未知1042023-05-12
  • Linuxlinux设置tomcat自启动的方法

    linux设置tomcat自启动的方法

    这篇文章主要介绍了linux设置tomcat自启动的方法,需要的朋友可以参考下...

    Linux教程网8512021-10-10
  • Linuxssh 登录很慢该如何解决

    ssh 登录很慢该如何解决

    这篇文章主要介绍了ssh 登录很慢该如何解决的相关资料,这里提供了两种方法,DNS反向解析及关闭ssh的gssapi认证的解决办法,需要的朋友可以参考下...

    linuxeye9922021-12-16
  • LinuxLinux系统下无法卸载挂载的目录怎么办?

    Linux系统下无法卸载挂载的目录怎么办?

    我们在日常运维中经常性会遇到需要进行磁盘的扩容、卸载、挂载等操作,但是有时候这个系统上跑的应用并没有停止或者有其他的运维同事在操作这个目...

    今日头条10302020-12-30
  • Linuxlinux驱动程序开发详细介绍

    linux驱动程序开发详细介绍

    前提,一般来说内核代码的错误可能会引起一个用户进程的死亡,或者整个系统的瘫痪,更严重的后果,可能导致磁盘损伤~因此建议最好有一台实验机进行...

    Linux教程网5392019-12-17