Raspberry Pi 3의 블루투스에서 BLE Peripheral (bleno)를 사용해보십시오.
마에오키
조금 앱의 대항으로서 BLE Peripheral 을 구현(에뮬레이션)할 필요가 있었지만, iOS/Android라면 MAC 주소 주위의 보안 고려나, Android끼리라면 궁합이 나온다고 하는 불치의 병등이 있어, 스마트폰으로 한다 무리가 있다고 생각했다.
또, 현장에서 실제로 앱의 테스트를 하려고 하면, Mac의 에뮬레이션이라든지, 파라로 하는 것에 적합하지 않기 때문에 어쩐지라는 상태였다.
「Raspberry Pi 3 Model B」발표 알림
htps : //등 sp 밧 ry-피.ぃ c. 이 m/네 ws/파게/응 wp. 이 d/24
그런 때, Raspberry Pi 3 선생님에게 Bluetooth 4.0/Wifi가 내장되었다고 하는 것으로, node.js/bleno당으로 실장하면 하드의 사양 차이도 적고 조달도 편하고 현실적이지? 라고 생각했다.
다만, 부끄러워하면서 bleno 자체 처음이고, Raspberry Pi 3에서 Peripheral 키메타라는 이야기도 별로 발견되지 않았기 때문에, 일단 최소한으로 시험해 보았다.
전제
시시
nodebrew로 node.js 설치
Mac에 익숙하다는 이유로 깊이 생각하지 않고 nodebrew를 설치
여기 편 참조
Raspberry Pi에 nodebrew로 Node.js 설치
ぃ tp // 코 m / 윤기 / ms / 아 1225154445520dc2db3
참조가 잘 전환되지 않았으므로 일단 재부팅 한 후 nodebrew에서 node.js를 설정하십시오.
$ nodebrew install-binary v4.4.3
$ nodebrew use v4.4.3
bleno용 모듈군
htps : // 기주 b. 코 m / 씨데에 p stri / b ぇ 의 말대로 설정
$ sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
BLE Peripheral 샘플
bleno의 샘플을 그대로 copipe 해 돈이라도 좋지만, 무엇을 실장하지 않으면 안 되는지를 파악하고 싶었기 때문에, 최소한의 내용으로 굳이 단숨 통관으로 써 보았다.
package.json
{
"name": "bleno-sample",
"version": "1.0.0",
"description": "bleno sample for rspi3",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"bleno": "^0.4.0"
}
}
index.js
var bleno = require('bleno');
var name = 'raspberrypi';
var serviceUuids = ['180F'];
var primaryService = new bleno.PrimaryService({
uuid: '180F',
characteristics: [
new bleno.Characteristic({
uuid: '2A19',
properties: ['read'],
value: new Buffer([100])
})
]
});
bleno.on('stateChange', function(state) {
console.log('stateChange: '+state);
if (state === 'poweredOn') {
bleno.startAdvertising(name, serviceUuids, function(error){
if (error) console.error(error);
});
} else {
bleno.stopAdvertising();
}
});
bleno.on('advertisingStart', function(error){
if (!error) {
console.log('start advertising...');
bleno.setServices([primaryService]);
} else {
console.error(error);
}
});
내용은, BatteryService/BatteryLevel만의 향기로운 느낌으로.
샘플 실행
장치 놀리기 때문에 sudo에서 실행
$ sudo node index.js
stateChange: poweredOn
start advertising...
iOS의 LightBlue에서 보면 이런 느낌.
Android의 B-BLE이라고 이렇게.
대체로 좋은 것처럼.
결과
Reference
이 문제에 관하여(Raspberry Pi 3의 블루투스에서 BLE Peripheral (bleno)를 사용해보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uzuki_aoba/items/346e28b6e9170ce85a6c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)