外付けUARTと衝突するだとか、あるいは消費電力やセキュリティの問題でBluetoothを無効化したいことってありますよね。
そういうときはraspbianのbootオプションが使えます。
実際のところ
RasPiのBluetoothを無効化するには、
boot設定の末尾に以下のようなコマンドで追記してやります。
$ sudo printf "# Disable Bluetooth\ndtoverlay=pi3-disable-bt\n" >> /boot/config.txt
何をしている?
上記コマンドではDT……つまりDevice Treeの設定を上書きしています。
説明書きを 読むと、いかのような説明があります。
Name: pi3-disable-bt
Info: Disable Pi3 Bluetooth and restore UART0/ttyAMA0 over GPIOs 14 & 15
N.B. To disable the systemd service that initialises the modem so it
doesn't use the UART, use 'sudo systemctl disable hciuart'.
Load: dtoverlay=pi3-disable-bt
Params: <None>また、その近くにBluetoothをmini-UART扱いに変更するコマンドもあります。
Name: pi3-miniuart-bt
Info: Switch Pi3 Bluetooth function to use the mini-UART (ttyS0) and restore
UART0/ttyAMA0 over GPIOs 14 & 15. Note that this may reduce the maximum
usable baudrate.
N.B. It is also necessary to edit /lib/systemd/system/hciuart.service
and replace ttyAMA0 with ttyS0, unless you have a system with udev rules
that create /dev/serial0 and /dev/serial1, in which case use
/dev/serial1 instead because it will always be correct. Furthermore,
you must also set core_freq=250 in config.txt or the miniuart will not
work.
Load: dtoverlay=pi3-miniuart-bt
Params: <None>WiFiは"pi3-disable-wifi"のようですね。
Name: pi3-disable-wifi Info: Disable Pi3 onboard WiFi Load: dtoverlay=pi3-disable-wifi Params: <None>