iBeaconを受信するアプリを実装していたんだけど、発信機器を持っていなかったのでテストできない。。
と思ったらここを発見
たった6行!最も簡単にiBeaconの電波を「発信」する方法
- 環境
Bluetooth Low Energy(BLE, Bluetooth4.0)が搭載されたMac製品
Macbook Pro, Macbook Pro Retina, Macbook Airなどなど
最近の製品なら大抵OK
なんと最近のMacなら大抵iBeaconの発信可能とのことだったので、おうちのMacからiBeaconを発信できるようにするまで。
環境
-
node.js 10.5.0 Current-> node.js v8.11.3 LTS -
Sierra v10.12.6-> macOS High Sierra v10.13.5
順番
1.node.jsの準備
- node.jsを複数バージョン切り替えられるようにインストール
- 上記リンクを参照してnodebrew(nodeのパッケージ管理モジュール)を導入することを強くオススメする。
- (node.jsのページから最新pkgをインストール&ダウンロードしたところ
bleaconとのバージョンの相性が良くなく、かつnodeを直インストールしてしまったためバージョン切り替えも容易ではなかった。。。)
2.bleaconをnpmでインストール
- bleaconはnodeでホゲホゲするとiBeaconを発信できるようになる便利なモジュールらしい。。
- そのままインストールするとその場にnode_modulesディレクトリを作成してしまうので
参照サイト通りに適当なディレクトリを作成してインストール。
mkdir ~/ibeacon
cd ~/ibeacon
npm install bleacon
このあとめちゃくちゃエラーでた。(後述)
出なかった方は次へどうぞ!
3.iBeaconを発信するためのスクリプト作成
Bleacon = require('bleacon');
var uuid = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';
var major = 0;
var minor = 0;
var measuredPower = -59;
Bleacon.startAdvertising(uuid, major, minor, measuredPower);
4.完成!発射!
node sender.js
本編は以上
【番外編】エラー発生
1度目のチャレンジ ~npm install bleacon~
めっちゃ怒られた。なんだこれ。
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
この後には、わたしあなたが何言ってるかわかりません的なエラーがわさわさ。
xcodeがインストールされてないかコマンドラインツールがないときに出そうなメッセージ・・・
あれ?xcode入れてるんだけど!と思ったけど
xcode-select --install
すると
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
なるほど。ごめんな。ソフトウェアアップデートしないと使えないのね。
ということでサボりまくってたMacOSのアップデートをかける(ほんとに開発者かよ)
Sierra v10.12.6 -> High Sierra v10.13.5
アプデ後安心して起動すると、AndroidStudioからまた怒られる。。
OSアプデでgitコマンド使えなくなっとるやん!!!!
なので再度このコマンド叩いてインストール。。。
xcode-select --install
xcode-select: note: install requested for command line developer tools
あれま!command line developer tools死んどる!なるほどな!!!
GUI出て来てくれたのでコマンドラインツール無事インストール!!!!!!!!!
2度目のチャレンジ ~npm install bleacon~
やっぱりだめだ。
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! bignum@0.11.0 install: `node-gyp configure build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bignum@0.11.0 install script.
どうやら bignum
というものをわかっていないみたい。
調べるとnodeのバージョンを下げないとbignum
さんを理解できないことがあるらしい。
気を取り直してnodeのバージョンをRecommended版にダウン。
node.js v10.5.0 Current -> node.js v8.11.3 LTS
.......
+ bleacon@0.5.1
added 4 packages in 14.184s
成功した〜!
たった6行!最も簡単にiBeaconの電波を「発信」する方法 このページをかなり参考にさせてもらいました。
ほんとに開発者なの!?並みの環境の整ってなさだったけど、
私みたいな人がどこかにいる(いるよね?)と信じて忘備録的な感じで。。。
次は、ほんとに発信できてたの?実践編
アプリでも受信してみる?の記事書きたい