蓝牙 - BLE Basics

BLE Basics [ BLE基础 ]

需要了解的两个主要概念是 BLE 设备的两种模式:

Two major concepts to know about are the two modes of BLE devices:

* 广播模式(也称为通用访问配置文件 GAP)

* 连接设备模式(也称为通用属性配置文件 GATT)。

* Broadcasting mode (also called GAP for Generic Access Profile)

* Connected device mode (also called GATT for Generic ATTribute Profile).

GAP 模式用于广播外设广告,如 "我是一个名为 LEDBlue-19592CBC 的设备",以及在需要时,为了与专用设备建立连接,来广播相关信息。在需要时建立所需的广告信息。外围设备还可能广播一些其提供的可用服务信息。

GAP mode deals with broadcasting peripheral advertisements, such as "I'm a device named LEDBlue-19592CBC", as well as advertising information necessary to establish a dedicated device connection if desired. The peripheral may also be advertising available services.

GATT 模式处理两台设备连接后的通信和属性传输,如心脏监视器和手机之间。

GATT mode deals with communications and attribute transfer between two devices once they are connected, such as between a heart monitor and a phone.

Bluetooth LE Terms [ 相关术语 ]

  • GAP Mode [ GAP 模式 ]

1, Device Roles [ 设备角色 ]:

* 外围设备 - 播放广告的低功耗设备。外围设备的例子包括:心率监测器、智能手表、健身追踪器、iBeacon。

* 中心设备-"计算机 "主机,负责观察外设播放的广告。它通常是一个移动设备,如手机、平板电脑、台式机或笔记本电脑。

* Peripheral - The low-power device that broadcasts advertisements. Examples of peripherals include: heart rate monitor, smart watch, fitness tracker, iBeacon.

* Central - The host "computer" that observes advertisements being broadcast by the Peripherals. This is often a mobile device such as a phone, tablet, desktop or laptop.

2, Terms [ 术语 ]:

* 广播 - 在建立专用连接之前由外设发送的信息。附近的所有中心设备都能看到这些广告。外围设备发布广告时,可能会传输设备名称、功能描述和/或其他数据。中心设备可以查找要连接的正在广播的外围设备,并利用广播信息确定每个外围设备的功能(或提供的服务,详见下文)。

* Advertising - Information sent by the peripheral before a dedicated connection has been established. All nearby Centrals can observe these advertisements. When a peripheral device advertises, it may be transmitting the name of the device, describing its capabilities, and/or some other piece of data. Central can look for advertising peripherals to connect to, and use that information to determine each peripheral's capabilities (or Services offered, more on that below).

  • GATT Mode [ GATT模式 ]

Device Roles [设备角色] :

* 服务器 - 在连接模式下,设备可以扮演服务器的新角色,为客户端提供服务。它现在可以根据与之连接的客户端设备的要求发送和接收数据包。

* 客户端 - 在连接模式下,设备还可以扮演客户端的新角色,向服务器的一个或多个可用服务发送请求,以发送和接收数据包。

* Server - In connected mode, a device may take on a new role as a Server, providing a Service available to clients. It can now send and receive data packets as requested by the Client device to which it now has a connection.

* Client - In connected mode, a device may also take on a new role as Client that can send requests to one or more of a Server's available Services to send and receive data packets.

注意:在 GATT 模式下,设备在连接到其他设备时可以同时扮演服务器和客户端的角色。

NOTE: A device in GATT mode can take on the role of both Server and Client while connected to another device.

  • Terms [ 术语 ] :

1,配置文件 - BLE 设备可提供的预定义服务集合。例如,心率配置文件或骑行传感器(自行车电脑)配置文件。这些配置文件由蓝牙特殊兴趣小组(SIG)定义。对于不符合预定义配置文件的设备,制造商可创建自己的配置文件。例如,没有 "智能灯泡 "配置文件,因此 Magic Light 制造商创建了自己独特的配置文件。

1, Profile - A pre-defined collection of Services that a BLE device can provide. For example, the Heart Rate Profile, or the Cycling Sensor (bike computer) Profile. These Profiles are defined by the Bluetooth Special Interest Group (SIG). For devices that don't fit into one of the pre-defined Profiles, the manufacturer creates their own Profile. For example, there is not a "Smart Bulb" profile, so the Magic Light manufacturer has created their own unique one.

2,服务 - 服务器提供的功能。例如,心率监测臂带可能有单独的设备信息服务、电池服务和心率服务。每个服务都由称为 "特征 "的信息集合组成。就心率服务而言,两个特征是心率测量和身体传感器位置。外设会广播其服务。

2, Service - A function the Server provides. For example, a heart rate monitor armband may have separate Services for Device Information, Battery Service, and Heart Rate itself. Each Service is comprised of collections of information called Characteristics. In the case of the Heart Rate Service, the two Characteristics are Heart Rate Measurement and Body Sensor Location. The peripheral advertises its services.

3,特性 - 特性是数据值或属性以及相关元数据(如人类可读的名称)的容器。特性可以可读、可写或两者兼有。例如,"心率测量特征 "可以给客户端设备提供的信息是心率测量值报告,具体内容为一个数字,以及单位字符串 "bpm"(表示每分钟心跳次数)。Magic Light 服务器有一个灯泡 RGB 值特性,中心设备可以写入该特性来改变颜色。每个特性都有一个通用唯一标识符(UUID),即 16 位或 128 位 ID。

3, Characteristic - A Characteristic is a container for the value, or attribute, of a piece of data along with any associated metadata, such as a human-readable name. A characteristic may be readable, writable, or both. For example, the Heart Rate Measurement Characteristic can be served up to the Client device and will report the heart rate measurement as a number, as well as the unit string "bpm" for beats-per-minute. The Magic Light Server has a Characteristic for the RGB value of the bulb which can be written to by the Central to change the color. Characteristics each have a Universal Unique Identifier (UUID) which is a 16-bit or 128-bit ID.

4,数据包 - 设备传输的数据。BLE 设备和主机以称为数据包的小单元形式传输和接收数据。

4, Packet - Data transmitted by a device. BLE devices and host computers transmit and receive data in small bursts called packets.

参考:

1,Adafruit

Understanding BLE | BLE HID Keyboard Buttons with CircuitPython | Adafruit Learning System

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/450962.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

halcon中的坐标系相关

一、定义 世界坐标系:真实世界中物体实际位置(三维) 相机坐标系:以镜头光心为原点,光轴为Z轴(三维) 图像物理坐标系:以成像图像中心维原点(二维) 像素坐标系…

如何计算两个指定日期相差几年几月几日

一、题目要求 假定给出两个日期,让你计算两个日期之间相差多少年,多少月,多少天,应该如何操作呢? 本文提供网页、ChatGPT法、VBA法和Python法等四种不同的解法。 二、解决办法 1. 网页计算法 这种方法是利用网站给…

数据中心机房建设的关键痛点及解决方案

随着信息技术的飞速发展,数据中心机房已成为企业信息系统的核心。然而,在机房系统的建设过程中,投资及运行维护成为项目管理的关键痛点。合理的投资决策和高效的运维管理是确保机房系统经济性和可靠性的重要因素。本文将探讨机房系统建设的投…

学习Spring的第十三天

Repository : 注解Dao层 Service : 注解Service层 Controller : 注解Web层 值得注意的是 : 当业务中出现一个bean三层都不属于时 , 我们用Component进行注解 Bean依赖注入注解开发 : Value : 可把zhangsan注解进username属性 Value("zhangsan")private String …

debian12 解决 github 访问难的问题

可以在 /etc/hosts 文件中添加几个域名与IP对应关系,从而提高 github.com 的访问速度。 据搜索了解(不太确定),可以添加这几个域名:github.com,github.global.ssl.fastly.net,github.global.fa…

Linux 多线程 | 线程的操作、线程库、线程ID

Linux进程和线程 进程是资源分配的基本单位线程是调度的基本单位线程共享进程数据,但是也有自己的一部分数据:线程ID(LWP)、一组寄存器、栈、errno、信号屏蔽字、调度优先级 进程的多个线程共享 同一地址空间,因此Text Segment、Data Segment都是共享的…

Linux(一)

介绍 常见的操作系统(windows、IOS、Android、MacOS, Linux, Unix); 一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可;目前很多企业级的项目(c/c/php/python/java/go)都会部署到 Linux/unix 系统上。 吉祥物 …

遗失的源代码之回归之路的探索与实践

背景 最近比较突然被安排接手一个项目,该项目的情况如下 原生和RN结合的混合开发模式组件化开发,有很多基础组件以及业务组件但是在梳理项目依赖时发现了个别组件源码不全的情况,于是写了个cli用于对比两个版本产物文件,生成差异结果以便于快速进行源码找回恢复。 结果如下…

2、安全开发-Python-Socket编程端口探针域名爆破反弹Shell编码免杀

用途:个人学习笔记,欢迎指正! 目录 主要内容: 一、端口扫描(未开防火墙情况) 1、Python关键代码: 2、完整代码:多线程配合Queue进行全端口扫描 二、子域名扫描 三、客户端,服务端Socket编程通信cmd命…

SpringCloud-微服务项目架构

在当今软件开发领域,微服务架构正成为构建灵活、可伸缩、独立部署的应用的首选,微服务架构作为一种灵活而强大的设计模式,通过将系统拆分为独立的、自治的服务,使得应用更容易维护、扩展和升级。本文将探讨微服务项目架构的关键特…

数据在内存中的存储(上)

1. 整数在内存中的存储 整数的2进制表示方法有三种:即原码、反码和补码 三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位最 高位的一位是被当做符号位,剩余的都是数值位。 正…

流畅的Python(七)-函数装饰器和闭包

一、核心要义 主要解释函数装饰器的工作原理,包括最简单的注册装饰器和较复杂的参数化装饰器。同时,因为装饰器的实现依赖于闭包,因此会首先介绍闭包存在的原因和工作原理。 二、代码示例 1、变量作用域规则 #!/usr/bin/env python # -*-…