使用BLE來控制RPI3
- [導(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
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達(dá)中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗,暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術(shù)要求》國家標(biāo)準(zhǔn)編制 2024-08-29
- NRF52810藍(lán)牙數(shù)字耳機找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時前
- 12V汽車啟動電源項目BMS設(shè)計
預(yù)算:¥50000023小時前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時前
- PLC項目調(diào)試修改
預(yù)算:¥100001天前
- 起動電機控制器開發(fā)
預(yù)算:¥1100001天前