raspberry pi藍牙4.0低功耗

raspberry pi上有兩個USB口,前面的文章已經用了一個USB wifi適配器實現了一個加載機,今天用另一個USB口鏈接藍牙適配器,在raspberry pi上實現藍牙功能。硬件上在網上買了一個ORICO的藍牙適配器,該適配器支持bluetooth4.0標準。在個人raspberry pi上經過命令$lsusb能夠看到以下內容:網站

Bus 001 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)進程

該內容表示系統已經識別出藍牙適配器。另外經過命令$lsmod | grep "btusb"能夠看到以下內容:ci

btusb                  15521  0
bluetooth             221259  21 bnep,btusb開發

該內容表示內核部分已經正確加載usb藍牙適配器的驅動模塊。至於藍牙協議棧內核模塊,能夠經過/proc/config.gz文件查看相應的藍牙協議棧是否編譯進內核或編譯成模塊。it

bluez-5以上的版本支持藍牙4.0的低功耗模式,raspbian的最新鏡像(2013-12-20)源上的bluez版本是4.99。所以須要經過源代碼編譯。從bluez的官方網站上下載最新的bluez-5.13。編譯bluez-5.13時須要在raspberry pi上安裝以下開發包:libglib2.0-dev,libdbus-1-dev,libudev-dev,libical-dev,libreadline-dev。在編譯選項上添加--disable-systemd選項(不須要systemd)。編譯且安裝後在/usr/local/libexec/bluetooth目錄下有一個bluetoothd守護進程,該進程用於raspberry pi與其餘藍牙設備之間通訊的服務。io

安裝後使用$hciconfig命令能夠查看當前藍牙適配器的狀況:編譯

hci0:   Type: BR/EDR  Bus: USB
        BD Address: 00:1A:7D:DA:71:13  ACL MTU: 310:10  SCO MTU: 64:8
        DOWN
        RX bytes:5362 acl:0 sco:0 events:124 errors:0
        TX bytes:1229 acl:0 sco:0 commands:78 errors:0event

能夠看到當前的藍牙適配器處於關閉狀態。經過命令$sudo hciconfig hci0 up啓用藍牙適配器。硬件

hci0:   Type: BR/EDR  Bus: USB
        BD Address: 00:1A:7D:DA:71:13  ACL MTU: 310:10  SCO MTU: 64:8
        UP RUNNING PSCAN
        RX bytes:5933 acl:0 sco:0 events:155 errors:0
        TX bytes:1877 acl:0 sco:0 commands:109 errors:0下載

在藍牙適配器開啓後,經過命令$sudo hcitool lescan能夠查找周圍支持低功耗藍牙設備。

相關文章
相關標籤/搜索