跳转到主要内容
editor 提交于

本指南将介绍如何创建可运行于英特尔® Galileo 或英特尔® Edison 开发板的蓝牙* 智能/低能耗 (BLE) 外设应用。该应用的用户可将开发板以 BLE 外设的方式进行宣传。他们还可通过包含相应特征的服务来读写数据。

在这种情况下,移动设备将充当中央设备,扫描和连接 BLE 外设设备(您的开发板),并读写该设备的数据。关于运行于开发板的 BLE 外设应用的源代码,请访问:https://github.com/gomobile/iotapp-template-ble-peripheral。关于运行于移动设备的 BLE 中央移动应用的源代码,请访问:https://github.com/gomobile/sample-ble-central

移动设备和嵌入式开发板之间的蓝牙低能耗通信可为两者提供交付系统,帮助您在中央设备和外设设备之间进行数据传输。

如欲了解蓝牙低能耗通信概述,请参阅蓝牙应用开发简介。

由于移动设备和开发板之间的所有通信均通过蓝牙低能耗模块完成,因此它们不必连接相同的无线网络。但英特尔 XDK IoT Edition 和开发板必须连接相同的网络。

<strong>要求</strong>

1、您已安装英特尔® XDK IoT Edition 并将其连接至英特尔® Galileo 或英特尔® Edison 开发板。具体步骤请参阅英特尔® XDK IoT Edition 入门。
2、您的开发板必须通过相同的网络连接至系统。开发板连接步骤请参阅英特尔® XDK IoT Edition 入门。
3、您的开发板必须包含蓝牙模块:
4、对于英特尔® Edison 开发板:蓝牙模块已内置于开发板。
5、对于英特尔® Galileo 开发板:您需要购买并安装可兼容 BLE 产品,比如 Grove* - BLE。
6、支持蓝牙低能耗模块的移动设备。如欲获取受支持设备列表,请访问 http://www.bluetooth.com/Pages/Bluetooth-Smart-Devices-List.aspx

借助 BLE 外设功能创建新项目
本部分将介绍如何使用示例代码通过 BLE 宣告开发板的存在。如果代码已准备好并处于运行状态,您还可以通过 BLE 中央设备读写数据。

如欲了解设计考虑事项,包括有关该项目的详细技术信息,请访问 https://github.com/gomobile/iotapp-template-ble-peripheral#design-consi…。该项目在带有 Arduino* 扩展板的英特尔® Edison 开发板上进行了测试。

1、运行英特尔 XDK IoT Edition。

2、在左上方点击“Projects”选项卡。

3、点击“Start a New Project”。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1070-1001.p…; alt=""></center>

4、在“Internet of Things Embedded Application”下方点击“Templates”。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1071-1002.p…; alt=""></center>

5、在右侧点击“(BLE) BLE-Peripheral”。点击“Continue”。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1072-1003.p…; alt=""></center>

6、在“Project Name”字段中输入项目名称,然后点击“Create”。新项目打开。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1073-1004.p…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1074-1005.p…; alt=""></center>

<strong>在开发板上启用 BLE</strong>

注:您可以使用英特尔 XDK IoT Edition 中的“SSH Terminal”或“Serial Terminal”选项卡连接开发板。

1、在 SSH 或串行终端连接中,输入以下命令:
rfkill unblock bluetooth
hciconfig hci0 up

2、输入以下命令,在 vi 文本编辑器中打开 base-feeds.conf 文件:
vi /etc/opkg/base-feeds.conf

3、在 base-feeds.conf 中插入以下行:
src/gz all http://repo.opkg.net/edison/repo/all
src/gz edison http://repo.opkg.net/edison/repo/edison
src/gz core2-32http://repo.opkg.net/edison/repo/core2-32

保存更改,并退出编辑器。如欲了解更多关于 vi 编辑器的信息,请访问 http://www.cs.colostate.edu/helpdocs/vi.html

4、如欲成功运行 bleno Node.js 包,请输入以下命令:
rfkill unblock bluetooth
killall bluetoothd
hciconfig hci0 up

现在,您应该可以在项目中使用 BLE。

<strong>上传并在开发板上运行 BLE 外设应用<、strong>

本部分将介绍如何构建、上传和运行 Node.js* 应用,以在开发板上通过蓝牙低能耗模块通知、读取并写入数据。在本部分结束之际,您的开发板将充当 BLE 外设设备。

1、在英特尔 XDK IoT Edition 右下角点击“Install/Build”图标Install/Build icon。如果提示选择上传还是创建您的项目,请点击“Build”。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1075-1006.p…; alt=""></center>

2、项目创建完成后,会显示构建完成消息。点击“Upload”图标,将项目上传至您的开发板。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1076-1007.p…; alt=""></center>

3、点击“Run”图标以运行项目。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1077-1008.p…; alt=""></center>

注:如果底部的控制台窗口显示无法找到 MRAA 的消息,必须更新开发板的 MRAA 通用库。具体方法是:在英特尔 XDK IoT Edition 右下方点击“Manage your daemon/IoT device”图标,然后选择“Update libraries on board”。

<strong>创建 BLE-Central 移动伴侣应用</strong>

本部分将介绍如何创建 BLE-Central 移动伴侣应用,以支持您使用移动设备连接 BLE 外设设备。这款混合 HTML5 应用可支持您通过服务和特征读写外设的数据。

1、点击“Projects”选项卡。
2、在左侧菜单的底部点击“Start a New Project”。
3、在“HTML5 Companion Hybrid Mobile or Web App”下方展开“Samples and Demos”。点击“General”。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1078-1009.p…; alt=""></center>

4、在“General”的右下方选择“HTML5 and Cordova”。选择“BLE-Central”。点击“Continue”。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1079-1010.p…; alt=""></center>

5、在“Project Name”字段中输入项目名称,然后点击“Create”。新项目打开。

<strong>将 BLE-Central 应用部署于移动设备</strong>

本部分将介绍如何在移动设备上部署 BLE-Central 伴侣应用。由于该项目使用 Bluetooth Low Energy Cordova* 插件,因此您必须将其部署于移动设备。它无法在英特尔 XDK IoT Edition 或英特尔® App Preview 移动应用中进行测试。

完成这些步骤后,您将可以扫描 BLE 外设设备,通过其特定服务 UUID 的方式将其连接至设备,并使用特征 UUID 读写数据。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1080-1011.p…; alt=""></center>

1、在“Build”选项卡选择待构建的对象,然后点击“Build”。
2、按照屏幕上的步骤在移动平台上构建应用。

<strong>使用应用</strong>

本部分将介绍如何使用移动设备上的 BLE 中央应用,以将该应用连接至开发板,并进行数据读写。

1、在应用中选择“Scan”,扫描您的开发板。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1081-1012.p…; alt=""></center>

2、蓝牙设备列表如下所示。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1082-1013.p…; alt=""></center>

3、如要连接开发板,请输入设备的“Peripheral UUID”和“Characteristic UUID”。点击“Done”。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1083-1014.p…; alt=""></center>

4、如要读写数据,或断开与开发板的连接,请选择相应的图标。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1084-1015.p…; alt=""></center>

5、例如,选择“Read Data”可查看开发板的 "Hello, World!" 消息。
<center><img src="http://intel.eetrend.com/files/2016-03/wen_zhang_/100001239-1085-1016.p…; alt=""></center>

文章来源:<a href="https://software.intel.com/zh-cn/articles/creating-a-bluetooth-low-ener…;英特尔开发人员专区

创建蓝牙* 低能耗应用