先週くらいにラズパイでLINE Beaconが作れるという「LINE Simple Beacon」が公開されたらしい。
ちょうどラズパイを手に入れたので作ってみた。

(1)LINEBOTアカウントに対するHWIDの発行
・LINE BOTアカウントを作成しておく
・HWIDの発行
https://admin-official.line.me/beacon/register#/
から「LINE Simple Beaconの払い出し」を選択
アカウントを選択して「HWIDの発行」を押す

(2)ラズパイにbluezをインストール
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev

(3)Bluetooth設定用のバッチ作成
ラズパイを再起動するとBluetoothの設定をやり直さないといけないためバッチにする。
俺の知識がないだけでもっといいやり方があるかもしれない。
HWIDは(1)で発行したものを2桁区切りにして設定する。
作成後にバッチを起動する。
============ここから===========
#!/bin/sh
HWID=’** ** ** ** **’
ADVERTISE_DATA="13 02 01 06 03 03 6F FE 0B 16 6F FE 02 ${HWID} 7F 00"
sudo hciconfig hci0 up
sudo hcitool -i hci0 cmd 0x08 0x0008 ${ADVERTISE_DATA}
sudo hciconfig hci0 leadv 3
============ここまで===========

(3)携帯端末でLINEの設定
・携帯端末から、(1)でHWIDを発行したBOTアカウントに友達登録する
・携帯端末LINEの「設定」->「プライバシー設定」から「Beaconを利用する」にチェックを入れる

(4)動作試験
設定した携帯端末をラズパイ(Beacon)に近づけると、BOTアカウントで設定されたwebhookアドレスへ通知される。


とりあえずbeaconを検知するところ(Type:Enter)は簡単にできる。
でもbeacon圏外に出たという通知(Type:Leave)がうまく行ってるのかわからない・・・
家の中でしか試してないから、単純に電波圏外に出ていないだけかもしれないけど

コメント