是否可以在不執行 bluetoothd 守護程式的情況下掃描藍牙裝置?

是否可以在不執行 bluetoothd 守護程式的情況下掃描藍牙裝置?

我正在開發嵌入式系統,我需要掃描藍牙設備。我想用我自己的程式來做到這一點,我可以使用 hci_get_route() 並支援來自 BlueZ devel 的 hci 函數。但是,掃描僅在藍牙運作時有效。是否有可能在不需要藍牙在背景運行的情況下執行此操作?

更新:

根據harrymc的回答,我能夠在沒有bluetoothd甚至systemd運行的情況下進行藍牙掃描。然而,我確實需要載入以下核心模組(核心 5.19):

hci_uart
btusb

只要這些模組在啟動時加載,我所需要做的就是運行這個:hciconfig hci0 up然後我就可以掃描藍牙設備。我不需要運行 hciattach。我的筆記型電腦使用英特爾藍牙適配器(lsusb 報告供應商/產品為 8087:0033)。

答案1

貼文 Linux 連接藍牙裝置的命令 可能是相關的。

這篇未回覆的貼文使用 HCI 的詳細資訊如下。

設定藍牙硬體:

sudo modprobe hci_uart
sudo modprobe btbcm
sudo hciattach /dev/ttyAMA0 bcm43xx 921600 noflow -

掃描設備:

sudo hcitool scan

然而,該軟體實際上未能成功連接到設備,至少對於該帖子的發布者來說是如此。

相關內容