首頁 > 評測 > 使用BLE來控制RPI3

使用BLE來控制RPI3

BLE   RPI3   藍(lán)牙   樹莓派   
  • 作者:SATURN
  • 來源:21ic
  • [導(dǎo)讀]
  • 可穿戴設(shè)備大多都是通過藍(lán)牙來進行數(shù)據(jù)通信,實現(xiàn)設(shè)備間的數(shù)據(jù)交換。與Bluetooth Classic相比較而言,BLE的低功耗特性對于可穿戴設(shè)備而言,在電池消耗上更具優(yōu)勢。某種程度上可以說,BLE成就了今天的可穿戴市場,反過來,可穿戴市場的崛起,讓BLE更具生命力了!

接下來是控制LED燈的代碼,如下

LedCharacteristic.prototype.onWriteRequest = function(data, offset, withoutResponse, callback) {

console.log('LedCharacteristic write request: ' + data.toString('hex') + ' ' + offset + ' ' + withoutResponse);

if(data.readUInt8(0) == 0) {

console.log('led off');

led.write(0); //led off

} else {

console.log('led on');

led.write(1);

}

callback(this.RESULT_SUCCESS);

};

當(dāng)手機端通過藍(lán)牙向LedCharacteristic寫入一個0值的時候,關(guān)閉LED燈;反之,當(dāng)用戶寫入非0值,則點亮LED燈。注意這里的data,這是一個byte型數(shù)組,這里也沒有檢測數(shù)組的長度,簡單的取第一個字節(jié)值并進行判斷,然后使用mraa庫來控制GPIO輸出狀態(tài)。

就是這么簡單。

看看實際測試的結(jié)果,控制臺輸出如下

NRF CONNECT的掃描結(jié)果如下

注意這里的UUID值,與代碼中的UUID值是一致的。

向LedCharacteristic寫入0x01值,代表點亮LED燈。

RPI上的LED燈顯示效果

測試沒有問題,就可以寫個簡單的APP來控制RPI3了。

雖然現(xiàn)在還只有GPIO操作,不過借助mraa庫及upm庫,可以為RPI添加大量的外設(shè),包括氣壓計、溫濕度計、LCD屏等等,只限于你的想像力。

不過在使用其它外設(shè)之前,記得打開相關(guān)的驅(qū)動支持,使用raspi-config命令就可以實現(xiàn),如下圖

只點個燈,是有點太簡單了,不過只要燈點亮了,各種應(yīng)用也就不遠(yuǎn)了!

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開放投稿

熱門標(biāo)簽
項目外包 more+