更改树莓派蓝牙设备名称?

Posted

技术标签:

【中文标题】更改树莓派蓝牙设备名称?【英文标题】:Changing raspberry pi bluetooth device name? 【发布时间】:2014-12-05 14:26:18 【问题描述】:

我正在尝试将树莓派的蓝牙名称更改为其他名称(IP 地址),这样当我扫描并配对我的 android 设备时,它会将此 ip 视为设备名称。它工作过一次,但随后又回到显示为“raspberrypi-0”

我已经尝试了 hciconfig set name 命令,还更改了 /etc/bluetooth/main.conf 中的设备名称,但我的设备看到的仍然是“raspberrypi-0”。它让我发疯,所以如果有人知道问题是什么,请帮忙!

【问题讨论】:

【参考方案1】:

如果您想永久更改蓝牙设备名称,您必须创建一个名为 /etc/machine-info 的文件,该文件应包含以下内容:

PRETTY_HOSTNAME=device-name

然后发出“服务蓝牙重启”

【讨论】:

【参考方案2】:

@Evangelos Nannos 答案仍然有效(BlueZ 5.50),但如果您想即时更改蓝牙别名,您可以尝试 bluetoothctl(在 Pi Zero W 运行 Raspbian StretchBlueZ 5.50)

设置新别名打开终端:

    pi@raspberrypi:~ $ bluetoothctl
    [bluetooth]# system-alias 'Your New BT Alias'
    Changing Your New BT Alias succeeded        
    [CHG] Controller AA:BB:CC:DD:EE:FF Alias: Your New BT Alias

使用 show 查看当前的蓝牙设置:

    [bluetooth]# show
    Controller AA:BB:CC:DD:EE:FF
    Name: Some_other_name #default or as PRETTY_HOSTNAME
    Alias: Your New BT Alias #alias will be shown when scanning for bt devices
    (...)

重置别名并返回使用系统设备名称:

    [bluetooth]# reset-alias

退出bluetootctl:

    [bluetooth]# quit

如果可发现(是),设备将在扫描过程中显示为您的新 BT 别名

请注意,别名将在重启后保留!

我已经使用 pexpect 来操作 bluetoothctl,bash 也可以。通过 pexpect 在 BlueZ 5.43 上注册代理时出现问题,必须升级到 5.50


替代命令(注意它不会返回响应):

    pi@raspberrypi:~ $ sudo hciconfig hci0 name 'New device name'

【讨论】:

【参考方案3】:

它将显示名称存储在 /var/lib/bluetooth/xx:xx:xx:xx:xx:xx/config 文件中。如果您想更改蓝牙显示(广播)名称,则需要按照以下步骤操作:

    删除 /var/lib/bluetooth/xx:xx:xx:xx:xx:xx/config 文件。 编辑 /etc/bluetooth/main.conf(例如:Name=%d-%h 到 Name=abcd-5) 服务蓝牙重启。

注意:如果这已经与其他一些BT设备配对,那么您需要删除配对才能看到相同设备的新BT名称(MAC)。

【讨论】:

【参考方案4】:

您也可以只禁用主机名插件并配置名称。

运行sudo vim /etc/systemd/system/bluetooth.target.wants/bluetooth.service 并附加--noplugin=hostname,如下所示:

ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=hostname

然后编辑蓝牙配置并设置您想要的名称: sudo vim /etc/bluetooth/main.conf

Name = YourNewName

【讨论】:

【参考方案5】:

只需按照以下步骤操作

第 1 步 - 在终端中编写以下代码

sudo nano /etc/machine-info

第 2 步 - 它将打开一个空白文件,现在将这一行写入其中

PRETTY_HOSTNAME=PutYourDeviceNameHere

第 3 步 - 现在重新启动蓝牙服务,或者您可以重新启动 Raspberry Pi

service bluetooth restart

sudo reboot

希望对你有用

【讨论】:

【参考方案6】:

使用hostnamectl 命令更改或设置您的蓝牙名称。

hostnamectl --pretty set-hostname <PutYourDeviceNameHere>

【讨论】:

以上是关于更改树莓派蓝牙设备名称?的主要内容,如果未能解决你的问题,请参考以下文章

树莓派蓝牙连接

树莓派树莓派3与手机之间蓝牙连接配置记录

树莓派3代B版和蓝牙BLE命令通讯

树莓派 3 BLE 设备

在 python 中使用树莓派蓝牙时遇到问题

Android 手机从蓝牙更改为 BLE 后无法连接到树莓派