更改树莓派蓝牙设备名称?
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 Stretch 和 BlueZ 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>
【讨论】:
以上是关于更改树莓派蓝牙设备名称?的主要内容,如果未能解决你的问题,请参考以下文章