BLE基础知识(一)

简介: 前面通过《蓝牙基础知识(一)》和《蓝牙基础知识(二)》两篇,我们了解了一些蓝牙的基本概念。之前说过蓝牙分为BR/EDR和BLE,接下来,我们先来看看BLE的内容。

前言

前面通过《蓝牙基础知识(一)》和《蓝牙基础知识(二)》两篇,我们了解了一些蓝牙的基本概念。之前说过蓝牙分为BR/EDR和BLE,接下来,我们先来看看BLE的内容。


BLE工作频段和信道

BLE工作在2400-2483.5 MHz频段,有40个信道,关系如下:2021050611130777.png

有3个用于广播(37 ~ 39),另外37个为通用信道(0 ~ 36)。


BLE设备状态

BLE设备在链路层定义了7种状态:

  • 待机状态(Standby)
  • 广播状态(Advertising)
  • 扫描状态(Scanning)
  • 初始化状态(Initiating)
  • 连接状态(Connection)
  • 同步状态(Synchronization)
  • 同步广播状态(Isochronous Broadcasting)

设备状态图:

20210506111528882.png

目前我们只关注前5种

  • Standby : 开机上电就是这种状态。说简单点就是不工作。
  • Advertising:就是在发送一些广播数据包,告诉其他设备一些信息,方便其他设备来查找自己或连接自己。当然,并不是所有广播设备都是可连接或可扫描的。
  • Scanning:扫描正在进行广播的设备。
  • Initiating:就是对其他设备发起连接。
  • Connection:连接状态就没什么好多说的了。

从上图我们可以看到,一个设备进入Connection状态,之前的状态要么是Advertising, 要么是Initiating。从Initiating到Connection状态的设备就变成主设备,从Advertising到Connection状态的设备就变成从设备。毕竟是人家主动发起连接嘛!


GAP

GAP: GENERIC ACCESS PROFILE ,通用接入规范。

GAP是蓝牙中最基本的profile,所有蓝牙设备都必须实现。无论是经典蓝牙,还是BLE,都得实现。GAP连接了各个层,描述了设备发现、连接建立、安全、认证、关联模型和服务发现的行为和方法。

20210506111708262.png

通过上图我们可以看到,GAP是其他Profile的基础。


LE中,GAP定义了四种角色:Broadcaster, Observer, Peripheral, Central


  • Broadcaster:仅有发射器,设备使用广播包进行数据广播。Broadcaster不支持连接。
  • Observer:仅有接收器,Broadcaster的互补设备,接收Broadcaster的广播数据,Observer也不支持连接。
  • Peripheral:支持单一连接。
  • Central:支持多连接,是所有连接的发起者。

我们平常用得比较多的就是Peripheral和Central 。Peripheral一般就是非常小或者简单的低功耗设备,用来提供数据,比如智能手环。Central相对比较强大,用来连接其他Peripheral设备,比如手机等。




相关文章
|
XML 物联网 API
Android Ble蓝牙App(五)数据操作
Android Ble蓝牙App(五)数据操作
2150 0
|
物联网
低功耗蓝牙(BLE)设备常用的4种角色
对于主从设备的其它说法,大家需要了解一下。对于Central和Peripheral有多种说法,上面我们说的是主从,还有客户端/服务端,中心设备/外围设备,我们这里简单介绍一下,客户端(Client)对应上面的Central,接收数据;服务端(Server)对应上面的额Peripheral,提供数据,这个需要和网站的服务器/客户端区别一下;中心设备(Central)和外围设备(Peripheral),其实上面叫中心设备和外围设备。上面主设备(Master)和从设备(Slave)应该对应主/从。这个根据个人习惯,主/从用的比较多,如果在蓝牙中提到这些知道就行了。
1865 0
|
存储 安全 算法
【BLE】 BLE配对绑定保姆级介绍
实现蓝牙通信安全,除了paring/bonding这种底层方式,用户也可以在应用层去实现相同功能,两者从功能上和安全性上没有本质区别,只不过应用层自己实现的话,需要自己选择密码算法,密钥生成,密钥交换等,如果你不是这方面的专家,你的应用就有可能会存在安全漏洞。设备跟手机绑定成功后,手机再次重连这个设备时,就会自动跳过service discovery过程,换句话说,配对的时候手机会把设备所有服务和characteristic的handle保存下来,二次重连的时候,直接用以前保存的handle值去操作设备。
5810 1
【BLE】 BLE配对绑定保姆级介绍
|
负载均衡 网络虚拟化 C++
|
1月前
|
人工智能 Linux API
OpenClaw 8大核心命令:解决90%日常使用问题+全平台部署与大模型API配置指南
在日常使用OpenClaw(Clawdbot)的过程中,大部分用户都会频繁遇到各类问题:上下文溢出导致对话中断、历史会话堆积造成系统卡顿、网关无故崩溃、配置出错无法定位、命令运行报错等。这些问题看似琐碎,却会直接影响使用体验,甚至导致任务中断、数据无法正常加载。实际上,只要掌握8条最核心的系统命令,就能解决日常90%以上的使用难题,快速恢复系统稳定运行。本文基于2026年最新版本,完整讲解OpenClaw 8条高频救命命令的使用场景与执行方法,同时补充阿里云云端部署、MacOS/Linux/Windows11本地部署全流程,以及阿里云千问大模型API、免费Coding Plan API的详细配
1739 2
|
1月前
|
人工智能 API 网络安全
OpenClaw 零基础全解:定义 + 用途 + 完整部署教程 + 避坑指南(新手友好版)
OpenClaw是一款开源、本地优先的AI自动化代理引擎(MIT协议),以自然语言驱动,支持文件操作、浏览器自动化、多IM交互等真实任务执行。强调隐私可控、强执行、多入口接入、模型灵活适配与开源可扩展,是面向开发者与企业的自托管AI数字员工。
|
物联网 API 数据库
一文带你认识蓝牙 GATT 协议
正所谓磨刀不误砍柴工,我们有必要先深入的学习一下 GATT 以及 GATT 相关的一些知识。 本文我们就来了解一下 蓝牙 GATT 到底是什么?同时了解下我们使用的 ESP32-C3 GATT示例的工程的代码结构。
9481 5
一文带你认识蓝牙 GATT 协议
|
算法 网络协议 物联网
|
API Android开发 芯片
蓝牙基础知识(二)
接着上一篇《蓝牙基础知识(一)》,我们继续看看蓝牙的更多的内容。
|
网络协议 安全 物联网
蓝牙基础知识(一)
最近刚好一直在研究蓝牙相关的内容,所以想来和大家一起分享。首先我们依然以基础概念开始,因为一头扎进代码,只会让你不知所措!