低功耗蓝牙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 还是非常简单的, 第一步就是扫描, 扫描到设备后就可以连接了 ...
随机推荐
- &1的用法
看到不少大神都喜欢用&1来判断一些东西,但是作为渣渣的我总是不理解这个&1到底是有什么作用. 今天写了程序看了一下,其实是判断奇偶用的. 如果是奇数,其结果为1,偶数结果为false. ...
- SU suchart命令学习
- Xamarin Android提示找不到资源属性定义
Xamarin Android提示找不到资源属性定义 错误信息:”Resource.Attribute”未包含”actonBarSize”的定义Xamarin Android经常会出现找不到资源属性的 ...
- aaaaaaaaaaaaaa
方法和事件的区别是? For(var 0 in file) Foreach(var i=0;i<length.i++) Git stash Git pull –rebase origin bra ...
- DP/最短路 URAL 1741 Communication Fiend
题目传送门 /* 题意:程序从1到n版本升级,正版+正版->正版,正版+盗版->盗版,盗版+盗版->盗版 正版+破解版->正版,盗版+破解版->盗版 DP:每种情况考虑一 ...
- 洛谷 P1118 数字三角形游戏 Label:dfs
题目描述 有这么一个游戏: 写出一个1-N的排列a[i],然后每次将相邻两个数相加,构成新的序列,再对新序列进行这样的操作,显然每次构成的序列都比上一次的序列长度少1,直到只剩下一个数字位置.下面是一 ...
- Windows环境下Redis
Redis 是一个高性能的key-value数据库, 使用内存作为主存储,数据访问速度非常快,当然它也提供了两种机制支持数据持久化存储.比较遗憾的是,Redis项目不直接支持Windows,Windo ...
- 静态页分页功能js代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- java执行时的两个常见问题(无法加载主类)
问题1:javac不是内部或者外部命令 问题2:找不到或无法加载主类*** 这两个问题都和jdk的配置有关,一个是path一个是classpath.path:去哪里找编译或运行等工具(必须设置),cl ...
- String对象的方法
Function Description Example CompareTo() Compares one string to another ("Hello").CompareT ...