intel程序猿笔记 发表于 2016-4-20 18:45:05

通过蓝牙* LE (BLE)从安卓*连接到英特尔® EDISON

蓝牙* LE (BLE) 通信因其低成本和低能耗等优势,被越来越多的用于商用产品和娱乐性应用。 如果希望实现 Android* 手机或平板电脑与英特尔l® Edison 或英特尔® Galileo 项目之间的通信,蓝牙* LE (BLE) 无疑是最佳选择。本文旨在为您介绍如何使用免费的软件工具和低成本、即时可用的硬件编写代码和连接硬件,以构建英特尔 Edison 与配备蓝牙 4.0 的 Android 设备之间的 BLE 通信。



什么是 BLE?蓝牙低能耗 (BLE),蓝牙 LE,或 BLE (也称智能蓝牙)是一种无线个域网技术,由蓝牙特别兴趣小组设计和市场推广。 它主要针对健康医疗、健身、安全、自动化和家庭娱乐等行业的应用。蓝牙 LE 最初由诺基亚于 2006 年推出,当时称为 Wibree。 2010 年,通过蓝牙版本 4.0 ,蓝牙 LE 加入了蓝牙标准的行业。相比于标准蓝牙连接,BLE 可显著降低设备的能耗,同时提供常规蓝牙的大部分连接性以及约一半的连接范围(大约 15 米/50 英尺)。 安装电池的设备如果使用蓝牙 LE,可在不充电或更换电池的情况下运行数年。 比如,Estimote 推出的 Beacon 设备宣称,其电池寿命可长达三 (3) 年(www.estimote.com)。
调试 Android 设备BLE 支持已添加至Android 4.3(API 级别:18)。 您需要运行 4.3 或更高版本的设备来通过 BLE 进行通信。如欲了解更多有关 Android BLE 的信息,请访问:https://developer.android.com/guide/topics/connectivity/bluetooth-le.html如果之前没有 Android 开发经验,您需要在手机或平板电脑上启用开发人员选项,然后将其用于运行和调试软件。 打开设置应用,滚动至底部,选择 “About device”,然后点击构建编号七 (7) 次,以解锁开发人员选项。
现在,设置下方应显示 Developer Options,请务必确认 “USB debugging”。
如欲了解更多有关 Android 开发人员选项的信息,请访问: http://developer.android.com/tools/device.html
安装软件并开始编写代码!面向英特尔® Galileo 的 Arduino IDE您需要下载专门准备的 Arduino IDE 版本,以将 Sketch 部署至英特尔 Edison 或 Galileo。 本文撰写之时,当前的版本为 1.5.3,位于:https://software.intel.com/zh-cn/get-started-arduino-install
英特尔® Edison 驱动程序您还需要从上述链接下载和安装英特尔 Edison 驱动程序。 它应该位于 “Driver Software” 下方页面的最后一个链接。 本文撰写之时,其版本为 1.0.0。如需其他说明,下列链接提供了有用的入门指南:software.intel.com/iot/getting-started
Android StudioAndroid Studio 是一款面向 Android 开发的全新 Java* IDE,基于 IntelliJ IDEA* (https://www.jetbrains.com/idea/)。 尽管目前还只是测试版,但它性能稳定,功能齐全。 如果您习惯使用面向 Android 开发的 Eclipse* 或 IntellliJ IDEA,那您应该可以轻松理解下列关于两者用法的演示。Android Studio 包含 Android SDK,可大幅简化安装流程。 只需下载、从压缩文件中提取内容,然后在 bin 文件夹中运行 studio.exe 即可。如欲了解更多有关 Android Studio 的信息,请访问: https://developer.android.com/sdk/installing/studio.html
Android SDK你可能需要下载其他 SDK 软件包。 为此,请在 Android Studio 的工具栏中点击 "SDK Manager"。 关于配置 Android SDK,我们在此不做介绍,请访问下列链接,了解更多
详情:https://developer.android.com/sdk/installing/adding-packages.html
如果之前安装过 Android SDK,您可以配置 Android Studio,并将其指向正确的路径,如图所示
在 Android Studio 中,点击 Configure -> Project Defaults -> Project Structure,并设置路径。
在 Android* Studio 中设置 SDK 路径测试英特尔® Edison在开始演示之前,请确保您能够运行 Blink 示例 sketch。 它位于 examples -> 01.Basics -> Blink 文件夹中的 Arduino IDE 下载软件包。
如欲了解更多信息,请参阅 Edison 入门指南:https://communities.intel.com/community/makers/edison/getting-started
Android Hello World安装 Android Studio 后,请确保您能够创建新项目,并在 Android 设备上运行该项目。
[*]连接 Android 设备和 PC
[*]打开 Android Studio
[*]选择 "New Project…"
[*]选择名称和位置,并点击 "Next" 3 次 (API 15/Blank Activity)
[*]点击 Finish,并等待项目创建完成(可能耗时 20 多秒)
[*]移动工具栏中的绿色 Play 图标
[*]选择您的设备,并按下 "OK"

如果所有步骤都正确,您的 Android 屏幕应显示 “Hello world!”
Android* Studio Hello World 应用BLE 工作原理?BLE 根据需要提供短数据包,然后关闭链路。 这是蓝牙 LE 实现低能耗的原因之一。 相比于常规蓝牙的传统配对方法,BLE 设备仅在需要收发信息时进行链接。BLE 的通信方式极其严密。 设备显示收发数据的服务,后者包含称之为特征的内容,以定义可共享的数据。 如需获取更多详情,特征可包含描述符,帮助定义数据。 例如,您可以拥有一项标记为 "Heart Rate Monitor" 的服务,该服务包含 "heart rate measurement" 等特征。大多数蓝牙 LE API 都支持搜索本地设备和发现有关这些设备的服务、特征和描述符。

大连林海 发表于 2016-4-20 20:21:41

程序员你好

tzlzy 发表于 2016-4-20 20:24:26

点赞点赞~~~

virtualwiz 发表于 2016-4-20 23:11:21

膜拜程序猿

dsweiliang 发表于 2016-4-21 08:15:04

点赞点赞
页: [1]
查看完整版本: 通过蓝牙* LE (BLE)从安卓*连接到英特尔® EDISON