Androidのメモとか

ポキオの日記です。今日も遅延してない。

Raspberry PiのBLEをNode.jsから叩いてチョッパヤでスキャンする

うわーかんたん。

ポキオ Raspberry Pi BLE Central noble

noble導入して速攻Scan余裕でした

RPi上のBLEを叩いてみようと、ふと思ったんですが、ちょっと面倒なのかなと思ってやってみたところ、意外と簡単だったのでメモ。

github.com

nobleを入れるだけでした。

BLEデバイスのスキャンができるまで

Raspberry PiでNode.jsのセットアップが整っている状態で、まずは必要な要素をapt installする。

$ sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev

なにか聞かれてもYしとく。これだけ。

あとは、よしななディレクトリをつくって、

$ npm init -y
$ npm install noble

nobleをインストール。index.jsみたいなテキトーなJSファイル作って、

var noble = require('noble')

noble.on('discover', function(peripheral){
    console.log(peripheral)
})

noble.startScanning()

こんな感じでScanして、その結果をconsole出力するだけのコードを書く。あとは、node index.jsすると、周辺にあるBLEデバイスのScan結果が、バァーっとターミナルに表示されます。これでおしまい。

本当に簡単でした

あとは、テキトーにPeripheralに接続して、ReadなりWriteなりすればOK。Androidとは違ってPromiseとか駆使すれば、コールバックの嵐にはならなそう。これは使えるぞ・・・!

[asin:B07446WLQV:detail]

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。