
我正在開發嵌入式系統,我需要掃描藍牙設備。我想用我自己的程式來做到這一點,我可以使用 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
然而,該軟體實際上未能成功連接到設備,至少對於該帖子的發布者來說是如此。