跳转到主要内容

一步到位,Intel Edison秒变iBeacon信号基站

editor 提交于

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信号基站。

二、DIY Beacon信号基站

这里使用的是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的开发者页面。

文章来源:英特尔quark开发者俱乐部