低功耗蓝牙BLE [学习笔记]
手机设备会区分 "connecting" and "pairing" ,前者可以自动连接,后者则需要请求。
BLE不再有pairing的麻烦,能直接连上目标设备,并开启服务自动发送数据功能。
开发蓝牙程序,主要是两块:连接和数据解析。
1. Connect 连接。
1.1) How to know service UUID?
https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx
1.2) How to know Characteristics UUID?
https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicsHome.aspx
1.3) How to know Descriptors UUID?
https://developer.bluetooth.org/gatt/descriptors/Pages/DescriptorsHomePage.aspx
如果不在上述列表,那么Service是custom service,只能通过相关文档或者遍历尝试了。
2. Data parsing 数据解析。
GATT Specifications
https://developer.bluetooth.org/gatt/Pages/default.aspx
其中,Units/Format Types/GATT Namespace Descriptors 三个是基本命名规则等,可以不看。
想知道某个角色模型:(Sample: https://developer.bluetooth.org/TechnologyOverview/Pages/HRP.aspx)
Web site -> GATT Specifications -> Bluetooth specifications -> "Overview Page" column
角色模型,Service组成都在这里了。
具体查阅某个Characteristics的数据格式,还是跟查UUID一样:
https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicsHome.aspx
===================================
参考:
一个很好的例子,手机与BLE串口设备通信,用串口小助手辅助调试:
(http://blog.csdn.net/hellogv/article/details/24267685)
Callback及基本介绍:http://www.xlgps.com/article/114904.html
一个很好的给官方的翻译页面,http://blog.csdn.net/qinxiandiqi/article/details/40741269
给出很好的介绍及新旧两种连接方式: http://blog.davidvassallo.me/2015/09/02/ble-health-devices-first-steps-with-android/
各种Callback 函数的总结: http://www.cnblogs.com/liqw/p/4031437.html
一些很好的翻译及介绍: http://www.race604.com/gatt-connect/
http://www.race604.com/gatt-profile-intro/
https://learn.adafruit.com/introduction-to-bluetooth-low-energy?view=all
====================================
关于开发板的开发,C语言开发的:
http://china.cypress.com/blog/100-projects-100-days
http://china.cypress.com/blog/100-projects-100-days/project-045-pulse-oximetry-heart-rate-monitor
BLE 设备有6 tytes 的唯一地址标识。
====================================
低功耗蓝牙BLE [学习笔记]的更多相关文章
- 低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端
低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端 Android对外模模式(peripheral)的支持 从Android5.0开始才支持 关键术语和概念 以下是关键BLE术语和 ...
- 深入浅出低功耗蓝牙(BLE)协议栈
深入浅出低功耗蓝牙(BLE)协议栈 BLE协议栈为什么要分层?怎么理解蓝牙"连接"?如果蓝牙协议只有ATT没有GATT会发生什么? 协议栈框架 一般而言,我们把某个协议的实现代码称 ...
- 使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发具体解释
转载请注明来源: http://blog.csdn.net/kjunchen/article/details/50909410 使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发具体 ...
- 深入浅出讲解低功耗蓝牙(BLE)协议栈
详解BLE连接建立过程https://www.cnblogs.com/iini/p/8972635.html 详解BLE 空中包格式—兼BLE Link layer协议解析https://www.cn ...
- 低功耗蓝牙BLE之连接事件、连接参数和更新方法
转自:http://blog.csdn.net/zzfenglin/article/details/51304084 连接事件 在一个连接当中,主设备会在每个连接事件里向从设备发送数据包.一个连接事件 ...
- Android低功耗蓝牙(BLE)开发的一点感受
最近一段时间,因为产品的需要我做了一个基于低功耗蓝牙设备的Android应用,其中碰到了一些困难,使我深深体会到Android开发的难处:不同品牌,不同型号和不同版本之间的差异使得Android应用适 ...
- Android 低功耗蓝牙BLE 开发注意事项
基本概念和问题 1.蓝牙设计范式? 当手机通过扫描低功耗蓝牙设备并连接上后,手机与蓝牙设备构成了客户端-服务端架构.手机通过连接蓝牙设备,可以读取蓝牙设备上的信息.手机就是客户端,蓝牙设备是服务端. ...
- Ti CC2540蓝牙模块学习笔记整理
接触CC2540几天,终于有了初步的理解,现将笔记整理如下,只是皮毛,如有错误,还请指正,还有好多没闹明白的地方,以后应该还会继续向里面更新~ 一.整体 1.TI的蓝牙平台支持2种协议栈/应用配置:单 ...
- Android 蓝牙 BLE 开发笔记
最近公司头戴换了一块蓝牙4.0 BLE模块,所以我们Android组要适配 BLE.Android BLE 需要 4.3 以上系统,api 还是非常简单的, 第一步就是扫描, 扫描到设备后就可以连接了 ...
随机推荐
- mvc-3模型和数据(2)
寻址引用 源代码现存的问题:当保存或通过find()查找记录时,所返回的实例并没有复制一份,因此对任何属性的修改都会影响原始资源:这里我们只想当调用update()方法时才会修改资源 //由于Mode ...
- HashMap两种遍历数据的方式
HashMap的遍历有两种方式,一种是entrySet的方式,另外一种是keySet的方式. 第一种利用entrySet的方式: Map map = new HashMap(); Iterator i ...
- BZOJ1092 : [SCOI2003]蜘蛛难题
按时间一步一步模拟. 每一次,首先将所有没有水但是可以被灌到水的管子标记为有水,然后求出有水的管子里水面高度的最小值. 如果$a$号管有水且最小值为$b$,那么说明此时蜘蛛碰到了水. 如果有管子溢出且 ...
- 使用HttpsURLConnection发送POST请求
重写X509TrustManager private static TrustManager myX509TrustManager = new X509TrustManager() { @Overri ...
- Win 8 App开发框架解析
开发前准备: Windows 8 RTM MSDN订阅用户下载地址: https://msdn.microsoft.com/zh-cn/subscriptions/securedownloads/hh ...
- TYVJ P1074 武士风度的牛 Label:跳马问题
背景 农民John有很多牛,他想交易其中一头被Don称为The Knight的牛.这头牛有一个独一无二的超能力,在农场里像Knight一样地跳(就是我们熟悉的象棋中马的走法).虽然这头神奇的牛不能跳到 ...
- 搭建你的第一个Django应用程序
首先你要确保你机器上面安装了python:Python开发_python的安装 python的相关学习资料:http://www.cnblogs.com/hongten/tag/python/ 其次, ...
- Qt Creator Shortcuts 快捷键大全
编号 快捷键 功能 1 Esc 切换到代码编辑状态 2 F1 查看帮助(选中某一类或函数,按下F1,出现帮助文档) 3 F2 在光标选中对象的声明和定义之间切换(和Ctrl+鼠标左键一样的效果,选中某 ...
- IOS第六天(3:scrollView 图片轮播器)
IOS第六天(3:scrollView 图片轮播器) #import "HMViewController.h" #define kImageCount 5 @interface H ...
- maven相关概念
1.maven仓库分为:本地仓库,远程仓库.远程仓库分为私服.中央仓储和其他公共库. 2.mvn clean install 部署到本地仓库 3.mvn clean deploy 部署到远程仓储 4. ...