低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端 Android对外模模式(peripheral)的支持 从Android5.0开始才支持 关键术语和概念 以下是关键BLE术语和概念的摘要: 通用属性简档(GATT) - GATT简档是用于通过BLE链路发送和接收称为"属性"的短数据块的一般规范. 所有当前的低能量应用配置文件都基于GATT. 蓝牙SIG为低能量设备定义了许多配置文件 . 配置文件是设备在特定应用程序中的工作方式的规范. 请注意,设备可以实现多个配…
SDP的全称是Service Discovery Protocol,中文是服务发现协议.SDP(服务发现协议)是蓝牙协议体系中的核心协议,是蓝牙系统重要组成部分,是所有用户模式的基础.在蓝牙系统中.客户只有通过服务发现协议才能获得设备信息.服务信息及服务特征,才能在此基础上建立相互间的连接.通过这个协议,应用程序可以发现哪些服务可用以及服务的特性是什么. SDP服务器-客户端模型: 客户端通过发送SDP请求给服务器查询服务以及服务的属性. SERVICE RECORD包含了SDP Server的…
本文是关于 Newbe.Claptrap 项目主体内容的介绍,读者可以通过这篇文章,大体了解项目内容. 轮子源于需求 随着互联网应用的蓬勃发展,相关的技术理论和实现手段也在被不断创造出来.诸如 “云原生架构”.“微服务架构”.“DevOps” 等一系列关键词越来越多的出现在工程师的视野之中.总结来看,这些新理论和新技术的出现,都是为了解决互联网应用中出现的一些技术痛点: 更高的容量扩展性要求.在商业成功的基础前提下,互联网应用的用户数量.系统压力和硬件设备数量等方面都会随着时间的推移出现明显的增…
详解BLE连接建立过程https://www.cnblogs.com/iini/p/8972635.html 详解BLE 空中包格式—兼BLE Link layer协议解析https://www.cnblogs.com/iini/p/8977806.html 开发你的第一个BLE应用程序—Blinkyhttps://www.cnblogs.com/iini/p/8996025.html 手把手教你开发BLE数据透传应用程序.https://www.cnblogs.com/iini/p/90956…
基本概念和问题 1.蓝牙设计范式? 当手机通过扫描低功耗蓝牙设备并连接上后,手机与蓝牙设备构成了客户端-服务端架构.手机通过连接蓝牙设备,可以读取蓝牙设备上的信息.手机就是客户端,蓝牙设备是服务端. 手机做为客户端可以连接多个蓝牙设备,所以手机又可以叫中心设备(Central),蓝牙设备叫外围设备(Peripheral). 还有另外一个称谓:手机叫主设备(Master),蓝牙设备叫从设备(Slave). Android4.3 开始支持低功耗蓝牙,此版本只支持单模式:同时只能工作在中心设备模式或者…
背景 在学习BLE的过程中,积累了一些心得的DEMO,放到Github,形成本文.感兴趣的同学可以下载到源代码. github: https://github.com/vir56k/bluetoothDemo 什么是BLE(低功耗蓝牙) BLE(Bluetooth Low Energy,低功耗蓝牙)是对传统蓝牙BR/EDR技术的补充. 尽管BLE和传统蓝牙都称之为蓝牙标准,且共享射频,但是,BLE是一个完全不一样的技术. BLE不具备和传统蓝牙BR/EDR的兼容性.它是专为小数据率.离散传输的应…
0×00 前言 蓝牙(Bluetooth),一种无线技术标准,用来让固定与移动设备,在短距离间交换数据,以形成个人局域网(PAN).其使用短波特高频(UHF)无线电波,经由2.4至2.485 GHz的ISM频段来进行通信.1994年由电信商爱立信发展出这个技术.它最初的设计,是希望创建一个RS-232数据线的无线通讯替代版本. 蓝牙技术目前由蓝牙技术联盟(SIG)来负责维护其技术标准,这个联盟拥有超过20,000间公司成员,其成员的领域分布在电信.电脑.网络与消费性电子产品上. 蓝牙也是目前数码…
最近一段时间,因为产品的需要我做了一个基于低功耗蓝牙设备的Android应用,其中碰到了一些困难,使我深深体会到Android开发的难处:不同品牌,不同型号和不同版本之间的差异使得Android应用适配成为一个痛点,尤其是跟硬件相关的,每个厂商在实现Android API的时候,或多或少都会有些差别.这些区别,有些是明显的Bug,有些则是对API理解的差异造成的. 我的开发是基于Android 4.3+ 标准BLE API.Android 4.3之前厂商自己实现的API不在讨论之列.Androi…
深入浅出低功耗蓝牙(BLE)协议栈 BLE协议栈为什么要分层?怎么理解蓝牙"连接"?如果蓝牙协议只有ATT没有GATT会发生什么? 协议栈框架 一般而言,我们把某个协议的实现代码称为协议栈(protocol stack),BLE协议栈就是实现低功耗蓝牙协议的代码,理解和掌握BLE协议是实现BLE协议栈的前提.在深入BLE协议栈各个组成部分之前,我们先看一下BLE协议栈整体架构. 如上图所述,要实现一个BLE应用,首先需要一个支持BLE射频的芯片,然后还需要提供一个与此芯片配套的BLE协…
TI低功耗蓝牙(BLE)介绍 本文档翻译和修改自参考资料:CC2540Bluetooth Low Energy Software Developer’s Guide (Rev. B),部分图片直接引用自该文档,不一一说明.初稿,待修改. 一.概述 1.BLE蓝牙协议栈结构 附图6 BLE蓝牙协议栈结构图 分为两部分:控制器和主机.对于4.0以前的蓝牙,这两部分是分开的.所有profile(姑且称为剧本吧,用来定义设备或组件的角色)和应用都建构在GAP或GATT之上.下面由结构图的底层组件开始介绍…