SwiftUI Bluetooth 01 一篇文章入门掌握蓝牙编程(教程含代码)

时间:2024-04-14 20:12:01

看完后您将能够制作下面的界面

实战需求

为此解决设备直接蓝牙通信需求,苹果公司推出了Core Bluetooth框架,该框架可以与许多现实世界中的设备进行通信,例如心率传感器,数字恒温器和健身器材。您还可以通过Core Bluetooth来链接BLE(低功耗蓝牙)设备。

在本教程中,我们将学习Core Bluetooth框架的关键概念以及如何在SwiftUI使用蓝牙。我们将通过经典例子带领大家初步掌握蓝牙编程能力。下面我们学习一下基础知识

基础知识

首先,让我们花点时间讨论一些特定于蓝牙的术语:中心,外围设备,服务和特性。

Centrals and Peripherals

蓝牙设备可以分为Centrals*设备和Peripherals外围设备:

  • *:从蓝牙设备接收数据的对象。
  • 外围设备:发布要由其他设备使用的数据的蓝牙设备。
    日常使用中,iOS设备将成为中心设备,从外围设备接数据。

Advertising Packets

蓝牙外围设备以broadcast广播包的形式广播其拥有的某些数据。这些数据包可以包含外围设备的名称和主要功能等信息。它们还可以包括与外围设备可以提供哪种数据有关的额外信息。

中心的工作是扫描这些广告数据包,识别它发现相关的任何外围设备,并连接到各个设备以获取更多信息。

Services and Characteristics

Advertising packet广播报文包很小,不能包含大量信息。为了共享更多数据,*需要连接到外围设备。

外设的数据分为Services服务和Characteristics特征:

  • Services服务:描述外围设备的特定功能或特征的数据和相关行为的集合。例如,心率传感器具有心率服务。一个外围设备可以具有多个服务。

  • Characteristics特征:提供有关外围设备服务的更多详细信息.
    每个服务和特征都由一个UUID表示,该UUID可以是16位或128位值。

实战代码