iBeacon是一种通过低功耗蓝牙技术实现精准定位的设备,下面我们就看一下如何一步DIY一个iBeacon信号发射基站。
首先我们需要开启Intel Edison的蓝牙模块。
如果您了执行了hciconfig命令,但是没有找到蓝牙模块,那您只需要重新启动蓝牙模块。
执行这个命令:
$ rfkill unblock bluetooth
现在您可以命令hciconfig,会看到下面的信息:
root@edison:~# hciconfig
hci0: Type: BR/EDR Bus: UART
BD Address: 98:4F:EE:03:FF:19 ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING PSCAN
RX bytes:661 acl:0 sco:0 events:38 errors:0
TX bytes:1472 acl:0 sco:0 commands:38 errors:0
然后使用使用up命令激活蓝牙模块hci0
$ hciconfig hci0 up
现在您的Intel Edison就可以发现和连接(低功耗)蓝牙设备了,也可以经过一步设置,将Intel Edison DIY成iBeacon信号基站。
这里使用的是Node.js完成的这个项目。
Bleno应该是最佳的模块了,使用了这个软件模块,制作Beacon外围设备就相当的简单了。
首先我们先新建一个文件夹,命名维“index.js”:
$ touch index.js
然后用NPM安装Bleno模块:
npm install bleno
现在我们可以编辑index.js文件夹了,我们将下面的代码放到该文件夹里:
var bleno = require('bleno'),
uuid = 'e2c56db5dffb48d2b060d0f5a71096e0',
major = 1,
minor = 1,
measuredPower = -59;
bleno.startAdvertisingIBeacon(uuid, major, minor, measuredPower);
这就是所有的代码了,做完这些您的Intel Edison就是一个Beacon信号基站了。现在Intel Edison执行下面的程序,然后打开苹果或Android的APP(Beacon接收器)查询我们在上面赋予的UUID识别码——e2c56db5dffb48d2b060d0f5a71096e0:
$ node index.js
如果想了解更多iBeacon协议,您可以登录iBeacon的开发者页面。