Node.js에서 Parrot의 미니 드론 BLE 정보 찾기
#RESAS
드론을 Node.js에서 제어하는 기사를 과거에 작성했지만 코드가 오래되었으므로 다시 작성합니다.
비 프로그래머에서도 코피페로 OK! JavaScript를 사용하여 Drone을 날리자.
현재 Parrot의 미니 드론 Mambo을 찾습니다.
필자의 환경
준비
npm init -y
npm i --save noble
코드
scan.js
'use strict';
const noble = require('noble');
const MINIDRONES_IDENTIFER = ['Maclan_','Mambo_','RS_']; //対応機種によって増えていく
let counter = 0;
//ParrotのMinidroneを見つける
const findParrotDrone = (localName) => {
if(localName === undefined)return false;
for(let i = 0, len = MINIDRONES_IDENTIFER.length; i < 10; i++){
if(localName.indexOf(MINIDRONES_IDENTIFER[i]) === 0){
return true;
}
}
return false;
}
//周辺のBLE機器を検索
const startScan = () => {
noble.startScanning();
noble.on('discover', (peripheral) => {
counter++;
let mes = '';
if (!('localName' in peripheral.advertisement)) return; //localNameがあるか判断
if(findParrotDrone(peripheral.advertisement.localName)) mes += `発見→`; //localNameでParrotのデバイスを検索
mes += `${counter}台目: ${peripheral.advertisement.localName} | ${peripheral.uuid} | RSSI ${peripheral.rssi}`;
console.log(mes);
});
}
if (noble.state === 'poweredOn') {
startScan();
} else {
noble.on('stateChange', startScan);
}
실행
Mambo의 전원을 켜 둡시다.
$ node scan.js
1台目: undefined | xxxxxxxxxxxxxxxxxxxxxxxxxx | RSSI -62
2台目: undefined | xxxxxxxxxxxxxxxxxxxxxxxxxx | RSSI -63
発見→3台目: Mambo_XXXXX | zzzzzzzzzzzzzzzzzzzzzz | RSSI -62
4台目: undefined | xxxxxxxxxxxxxxxxxxxxxxxxxx | RSSI -62
zzzzzzzzzzzzzzzzzzzzzz
라고 쓰고 있는 곳이 드론의 UUID입니다.
Reference
이 문제에 관하여(Node.js에서 Parrot의 미니 드론 BLE 정보 찾기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/n0bisuke/items/a9cd09ea70cec216ee10텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)