1、目的因最近面试,总有人问到BLE协议栈,据此,记录学习BLE协议栈的过程。2 协议概述所谓协议,即将指定的字节按照一定的顺序排列起来,以便他人使用自己的设备时,能通过该协议同其他设备进行通信。协议一特点,就是有固定的帧格式,通过该格式发送,接收者通过解读帧格式,进而得到信息内容;3 BLE连接过程3.1 前言 一般通信协议,一类通信是直接发生数据,当设备接送到数据时,直接对数据进行解析,当接受
转载
2023-10-05 09:46:24
463阅读
本篇博客根据韦大仙视频,整理所得。先上框图:ATT层从ATT开始看,在上篇博客讲的医院结构里面有个检验室,检验室可以得到各项结果,但是它并不知道这些结果代表什么含义。类比的在BLE协议栈里面,ATT定义了各种属性、属性的操作方法,但是这些属性有什么作用,能给用户提供什么服务,它并不知道。举例如下:假设有两个蓝牙设备,一个是手机,一个是手环,此手环戴在手上可以监测心跳。在ATT这一层,手环提供数据,
转载
2024-01-14 21:11:00
95阅读
前言这段时间参与了一款与蓝牙外设交互的项目, 以前没有涉及过数据传输方面的开发, 踩了不少坑, 同时也学到了很多东西. 此时, 项目也即将进入尾声, 有时间把这些记录一二. 本人才疏学浅, 如有错误,大佬轻喷.BLE4.0开发这方面网上的Demo一大堆, 暂时不做太多的赘述, 只对坑点做一个摘要.需求使然, 要对设备的接近远离有一个比较精确的计算, 使用的方案是对蓝牙的信号强度进行分析. 然而,
转载
2023-07-05 23:15:34
186阅读
TI的蓝牙4.0BLE协议栈为BLE-CC254x-1.4.0,即现在的版本是1.4版本的。可以从TI官方下载或从附件中下载安装,默认是安装在C盘中。因为上一篇博文提到进行空中固件升级,当时没有安装在C盘下,死活生成不了bin文件,改在C盘下生成了。所以,我个人建议,还是默认安装吧,也占不了多大空间。TI蓝牙4.0BLE协议栈的结构如下图所示:由控制器和主机两部分构成,分层的思想很明晰。控制器包括
转载
2024-01-13 21:29:30
314阅读
分层思想无论是OSI七层模型,还是在BLE协议,为了能快速理解,可以利用分而治之的思想把大问题分割成多个小问题。各层向上提供服务,向下提供兼容。从整体来看,低功耗蓝牙体系的整体结构主要分为三个部分:主机host,控制器,以及基于此向上提供的应用层。主机就是开发接触比较多的软件栈部分,用来管理设备间通讯以及如何利用无线电提供服务。控制器就是负责发送和接收无线电信号,以及如何把携带信息的数据包翻译成无
转载
2023-10-05 09:51:26
1045阅读
BLE 技术是 Bluetooth SIG 规定的一套通信协议, 在协议变成具体的代码之前, 都只存在文档中, TI、 Nordic、 CSR 等厂商, 根据 SIG 发布的 BLE 技术协议, 配合自身的芯片开发了一整套源码, 并且这套源码经过了 SIG 的测试, 服务 BLE 协议。 这套源码就叫做协议栈, 协议栈是协议的实现。 不同的芯片厂商都有各自的协议栈, 而这不同的协议栈, Blu
转载
2023-09-23 01:45:01
232阅读
蓝牙4.0BLE协议栈介绍问题:什么是BLE协议栈?BLE协议栈与BLE协议的关系? 顾名思义,人类之间需要一种语言才能沟通,机器之间,电子之间也有一个标准,也就是作为通讯标准,也就是通讯协议。 协议:定义了一系列通讯标准,通讯双方都按照这一标准,进行数据通讯。 协议栈:协议的具体实现形式,实现的函数库,固件库。 把个个协议集合到了一起,以函数库的形式实现,并用这些给用户提供一些应用层的A
转载
2023-12-25 13:50:08
112阅读
大家好,我是亮亮,这是我总结的协议传值封装的方法,不喜勿喷哦! 问题:如果A页面跳转B,B需要回传值至A页面,怎么回传? 当然,回传有很多方式,诸如协议,通知,Block,AppDelegate等等。但协议是最安全,也是最符合面向对象语言风格的一种值回传方式。 一般协议回传的做法是在B类的.h文件中声明协议和协议方法(1),然后声明协议属性(2),在B中的.m中调用协议方法(3)。 再回到A类中遵
转载
2024-06-12 10:53:32
66阅读
1. 前言蓝牙是个奇葩的家伙:它总是以后来者的身份出现,很喜欢打仗,而且还不落下风(有点像某讯的风格)。90年代末期和Wi-Fi的无线标准之争如此,当前和802.15.4系(ZigBee、RF4CE、Thread等)的IoT之争,也如此。标准之争,不是本文的议题,我们要思考的问题是:蓝牙有何长处,可以支撑它四处征战?答案是“灵活性”。本文将以用于支持IPv6的IPSP(Internet Proto
转载
2023-12-21 10:45:46
187阅读
在大系统应用中,系统会拆分为多个子系统来实现,尤其是分布式应用。在具体实现过程中,子系统间的通讯尤为重要。目前主要有两种典型的方法: 一、基于消息实现 系统之间通讯时,向外发送消息形式可以是字节流、字节数组、甚至是对象;系统接收到相关的消息后进行相应的业务处理。 消息通信基于网络协议实现,常用的协议有TCP/IP、UDP/IP。 TCP/IP是一种可靠的网络数据传输协议,其是有连接传输,具有可靠
转载
2023-11-24 10:46:13
130阅读
蓝牙协议是通信协议的一种,一般而言,我们把某个协议的实现代码称为协议栈(protocol stack),BLE协议栈就是实现低功耗蓝牙协议的代码,理解和掌握BLE协议是实现BLE协议栈的前提。当前的蓝牙协议分为基础率/增强数据率(BR/EDR)和低耗能(LE)两种技术类型,本文将重点介绍BLE(Bluetooth Low Energy)。 1、BLE低功耗蓝牙协议栈框架要实现
转载
2023-06-02 10:47:53
459阅读
蓝牙Mesh协议 总览Bearer Layer(承载层)Network Layer(网络层)Low Transport Layer(下层传输层)Upper Transport Layer(上层传输层)Access Layer(访问层)Foundation Model Layer(基础模型层)/Model Layer(模型层) 总览学习蓝牙Mesh,绕不开学习协议。蓝牙Mesh协议由7部分组成:
转载
2024-02-11 07:34:37
113阅读
协议栈的实现方式采用分层的思想,控制器部分包括:物理层、链路层、主机控制接口层;主机部分包括:逻辑链路控制及自适应协议层、安全管理层、属性协议层、通用访问配置文件层、通用属性配置文件层;上层可以调用下层提供的函数来实现需要的功能。 物理层(Physical Layer)是1Mbps自适应跳频的GFSK射频,工作于免许可证的2.4GHz ISM(工业、科学和医疗)频段。这一层可以是软件AP
转载
2024-02-01 11:02:29
61阅读
启动过程完成后立即进入main_func函数。该函数在进入主循环while(1)之前,只调用了system_init()函数。system_init()函数里面包含了对看门狗、时钟、外设、检查和读取蓝牙物理地址、BLE的初始化等等。BLE初始化部分具体包含init_pwr_and_clk_ble()、rwip_clear_interrupts ()、rwip_init()等。这些函数是固化代码,不
转载
2023-09-25 07:08:17
213阅读
系统设计通过使用CC2541芯片所具有的蓝牙4.0 BLE协议实现蓝牙设备的互联以及无线数据的发送。TI公司推出的蓝牙4.0 BLE协议栈[9]包含两部分:主机和控制器。协议栈的实现方式采用分层的思想,控制器部分包括物理层、链路层、主机控制接口层;主机部分包括逻辑链路控制及自适应协议层、安全管理层、属性协议层、通用访问配置文件层、通用属性配置文件层;上层可以调用下层提供的函数来实现需要的功能。蓝牙
转载
2023-11-09 16:24:41
93阅读
1. Mesh数据加密流程 ① AccessPDU由Opcode+Payload组成,在UTransport层进行加密,形成EncUTransportPDU,由EncAccessPDU+TransMIC组成。 ② LTrans层将加密后的EncUTransportPDU和未加密的ControlPDU分包后,形成LTransportPDU。 ③ Network层将目的地址DST+LTransport
转载
2024-04-06 19:51:13
69阅读
写在前面:写在前面:本文参考了 BLE4.0 低功耗蓝牙 协议 总结 ,对其进行了缩减,整理出了个人能理解的感觉比较基本的内容,有问题请随时跟我沟通 个人QQ:993650814. BLE 4.0 协议知识点总结(一) 请参考如下链接 BLE 4.0 协议知识点总结(一)1、连接事件(CONNECT REQ)报文的组成: CONNECT RE
转载
2024-09-03 21:01:05
142阅读
# iOS BLE(蓝牙低功耗)开发基础
蓝牙低功耗(BLE)是一种无线技术,旨在实现短距离、低功耗的设备连接。它广泛应用于健康监测、运动追踪和智能家居等领域。在本篇文章中,我们将通过实例讲解iOS平台中BLE的使用,并包含示例代码、流程图和关系图,以帮助理解BLE的基本概念。
## 什么是BLE
BLE允许设备以极低的功耗进行频繁的小数据传输,适合电池供电的设备。相比传统蓝牙,BLE的连接
原创
2024-09-12 07:25:08
154阅读
# JAVA BLE协议科普
## 什么是BLE协议
BLE(Bluetooth Low Energy,蓝牙低功耗)是一种无线技术,旨在简化蓝牙设备之间的连接与通信。BLE常用于物联网设备,因为它能够在较低的功耗下保持长时间的连接。根据设备的需求,BLE可以在连接模式和非连接模式间切换,以确保最佳的能耗效率。
## BLE协议的工作原理
BLE协议分为多个部分,主要包括广告、连接、数据传输
原创
2024-08-07 06:59:06
540阅读
一,Bluetooth Low Energy协议基本组成蓝牙系统核心架构可分为三个方面:BLE Application和BLE Host 属于应用层APIHCI(Host Controller Interface)为中间层BLE Controller为底层蓝牙芯片 其中在HOST层有的两个比较核心的协议:ATT、GATT1,ATT(Attribute Protocol)该协议将数据以属性(Attr
原创
2021-04-16 14:01:45
4333阅读