中国总决赛
√
全球总决赛
√
学习进度
完成
省赛
√
能力分类
主要子系统
能力模型
蓝牙以及基础profile的概念
本部分主要考察基础通信BT/NFC,蓝牙以及基础profile的概念。
蓝牙
蓝牙技术是一种无线通信技术,可以在短距离内传输数据。它是由爱立信公司于1994年提出的,使用2.4 GHz的ISM频段,可以在10米左右的距离内进行通信。可以用于连接手机、耳机、音箱、键盘、鼠标、打印机等各种设备。特点是低功耗、低成本、简单易用。目前已经发展到了第五代,支持更高的数据传输速率和更广的覆盖范围。
常见的蓝牙涉及模块
ACCESS接入模块
蓝牙接入模块,提供了开关蓝牙以及获取蓝牙开关状态等接口功能。使用蓝牙功能需要通过该模块打开蓝牙,在蓝牙开关状态正确的条件下使用其他功能。 详情请参考@ohos.bluetooth.access API参考。
CONNECTION连接模块
蓝牙连接模块,提供了设备发现、配对连接、获取本端及外设信息的接口功能。使用和外设交互的功能,需要使用该模块提供的能力和外设配对、连接成功,才能继续进行后续的数据传输等功能。 详情请参考@ohos.bluetooth.connection API参考。
BLE模块(低功耗蓝牙)
BLE是Bluetooth Low Energy的缩写,意为“低功耗蓝牙”。它是一种能够在低功耗情况下进行通信的蓝牙技术,与传统蓝牙相比,BLE的功耗更低,适用于需要长时间运行的低功耗设备,如智能手表、健康监测设备、智能家居等。 详情请参考@ohos.bluetooth.ble API参考。
SOCKET模块(串口协议)
SPP是Serial Port Profile(串口协议)的缩写,是一种蓝牙协议,用于在蓝牙设备之间建立串行通信连接。通过SPP,蓝牙设备可以像使用串口一样进行数据传输,例如传输文件、文本等。 详情请参考@ohos.bluetooth.socket API参考。
A2DP模块(高级音频分发配置文件)
A2DP是Advanced Audio Distribution Profile的缩写,即高级音频分发配置文件。它是一种蓝牙协议,允许无线传输高品质音频流,例如音乐或语音通话,同时支持双向通信,因此可以用于耳机、扬声器、汽车音响等设备。 详情请参考@ohos.bluetooth.a2dp API参考。
HFP模块(免提模式)
HFP模块是指蓝牙耳机或车载蓝牙设备中的Hands-Free Profile,即“免提模式”。HFP允许用户通过蓝牙连接手机或其他蓝牙设备,实现免提通话和语音控制等功能。 详情请参考@ohos.bluetooth.hfp API参考。
HID模块(人机接口设备)
HID是Human Interface Device的缩写,即人机接口设备。在蓝牙中,HID模块是一种允许用户通过蓝牙连接键盘、鼠标、游戏手柄等人机接口设备的模块。用户可以通过HID模块将这些设备连接到蓝牙主机上,实现无线控制和输入。 详情请参考@ohos.bluetooth.hid API参考。
PAN模块(个人区域网络)
PAN(Personal Area Network)是个人区域网络的缩写,是一种无线通信技术,用于将设备连接到一个小范围的网络中。例如可以将手机、电脑、打印机等设备连接到一个PAN网络中,实现文件的共享和打印。 详情请参考@ohos.bluetooth.pan API参考。
gatt模块(通用属性)
GATT是指蓝牙技术中的通用属性(Generic Attribute),它是一种用于在蓝牙低功耗设备之间传输数据的协议。GATT协议定义了一套通用的属性和服务框架,用于描述蓝牙设备之间的通信,同时蓝牙设备可以向其他设备提供服务,也可以从其他设备获取服务。详情请参考@ohos.bluetooth.ble API参考。
spp模块(串口协议)
SPP是Serial Port Profile(串口协议)的缩写,是一种蓝牙协议,用于在蓝牙设备之间建立串行通信连接。通过SPP,蓝牙设备可以像使用串口一样进行数据传输,例如传输文件、文本等。详情请参考@ohos.bluetooth.socket API参考。
接口说明
- import需要的access模块。
- import { access } from '@kit.ConnectivityKit';
- import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit';
- import {abilityAccessCtrl, Context, PermissionRequestResult } from '@kit.AbilityKit';
- 在module.json5文件中添加需要使用的ACCESS_BLUETOOTH权限,调用requestPermissionsFromUser接口获取用户授权的ACCESS_BLUETOOTH权限。
- 需要SystemCapability.Communication.Bluetooth.Core系统能力。
蓝牙开发指导
蓝牙设置开发指导
- 蓝牙设置主要提供了开启蓝牙、关闭蓝牙、获取蓝牙状态的方法,帮助开发者实现基本蓝牙功能。
- 需要SystemCapability.Communication.Bluetooth.Core系统能力。
接口名 | 功能描述 |
enableBluetooth() | 开启蓝牙。 |
disableBluetooth() | 关闭蓝牙。 |
getState() | 获取蓝牙开关状态。 |
on(type: ‘stateChange’) | 订阅蓝牙设备开关状态事件。 |
off(type: ‘stateChange’) | 取消订阅蓝牙设备开关状态事件。 |
广播与扫描开发指导
广播与扫描,主要提供了蓝牙设备的开启广播、关闭广播、开启扫描、关闭扫描方法,通过广播和扫描发现对端蓝牙设备,实现低功耗的通信。
通用属性协议开发指导
通用属性协议是GATT(Generic Attribute)的缩写,它是一种用于在蓝牙低功耗设备之间传输数据的协议,定义了一套通用的属性和服务框架。通过GATT协议,蓝牙设备可以向其他设备提供服务,也可以从其他设备获取服务。
主要场景有:
- 连接server端读取和写入信息。
- server端操作services和通知客户端信息。
串行通信开发指导
SPP是Serial Port Profile(串口协议)的缩写,是一种蓝牙协议,用于在蓝牙设备之间建立串行通信连接。通过SPP,蓝牙设备可以像使用串口一样进行数据传输,例如传输文件、文本等。
主要场景有:
- 服务端向客户端写入数据。
- 通过socket连接对端设备。
WLAN
无线局域网(Wireless Local Area Networks,WLAN),是通过无线电、红外光信号或者其他技术发送和接收数据的局域网,用户可以通过WLAN实现结点之间无物理连接的网络通讯。常用于用户携带可移动终端的办公、公众环境中。
WLAN系统为用户提供接入WLAN网络功能(STA模式)、点对点的数据传输功能(P2P模式)和热点分享功能(AP模式),让应用可以通过WLAN和其他设备互联互通。
WLAN的实现原理是通过无线电磁波在空间中传输信息,当前使用的频段是WLAN网络功能。WLAN网络架构分WLAN网络功能两部分,有线侧是指AP上行到Internet的网络使用以太网协议,无线侧是指STA到AP之间的网络,使用802.11协议。
WLAN的三种模式
- STA模式——WLAN网络功能
STA模式即工作站模式,可以理解为某网络中的一个工作站即客户端。当某设备具备该功能时,它可以连到另外的一个路由网络中,如家用路由器,通常用于提供网络的数据上行服务。 详情请参考@ohos.wifiManager API参考。
- P2P模式——点对点的数据传输功能
P2P模式也为Wi-Fi Direct;Wi-Fi Direct 是一种点对点连接技术,它可以在两台 STA 之间直接建立 TCP/IP 链接,并不需要AP的参与;其中一台STA会起到传统意义上的AP的作用,称为Group Owner(GO),另外一台station则称为Group Client(GC),像连接AP一样连接到GO。 详情请参考@ohos.wifiManager API参考。
- AP模式——热点分享功能
AP模式为加入无线局域网的成员设备(即客户端)提供下行数据业务,它提供以无线方式组建无线局域网WLAN,相当于WLAN的中心设备。 详情请参考@ohos.wifiManager API参考。
NFC
NFC英文全称Near Field Communication,近距离无线通信。NFC服务提供NFC开关控制、NFC标签读写、NFC卡模拟等业务功能。
电子设备可以通过NFC通信技术和NFC标签通信,从标签中读取数据,或写入数据到标签。(在13.56MHz频率运行,通信距离一般在10厘米距离内)
NFC标签可能会支持一种或多种通信技术,具体技术如下:
- NfcA (也称为 ISO 14443-3A)
- NfcB (也称为 ISO 14443-3B)
- NfcF (也称为 JIS 6319-4)
- NfcV (也称为 ISO 15693)
- IsoDep
- NDEF
- MifareClassic
- MifareUltralight
模块介绍
- NFC开关
NFC开关模块,提供了打开NFC和关闭NFC功能。打开或关闭NFC的应用程序,需要声明权限"ohos.permission.MANAGE_SECURE_SETTINGS",该权限只有系统应用才能声明。因此,只有系统应用才能打开或关闭NFC。 详情请参考@ohos.nfc.controller API参考。
- NFC标签读写
NFC标签读写模块,提供了NFC标签的发现和分发给应用程序,以及应用程序通过NFC标签读写接口访问NFC标签的能力。应用程序需要按照规定的格式来声明NFC标签读写能力,只有声明后应用程序才能收到NFC标签的分发。 详情请参考@ohos.nfc.tag API参考。
- NFC卡模拟
NFC卡模拟模块,提供了NFC的刷卡业务,电子设备和读卡器触碰完成刷卡。应用程序需要按照规定的格式来声明NFC卡模拟能力,只有声明后应用程序才能够具备刷卡能力。 详情请参考@ohos.nfc.cardEmulation API参考。
场景介绍
- NFC标签前台读写
前台读写是指在触碰NFC标签之前,用户先在电子设备上打开特定的应用程序,用户明确想使用所打开的应用程序和NFC标签进行读写操作。用户打开应用程序在前台,并且进入应用的刷卡页面之后,电子设备触碰NFC标签,只会把读取到的卡片分发给前台应用。
- NFC标签后台读写
后台读写是指不打开特定的NFC标签应用程序,电子设备触碰发现NFC标签后,根据NFC标签的技术类型,分发给能够处理的应用程序。如果能匹配到多个应用程序,则弹出应用选择器列举出应用列表给用户手动选择。用户选择指定的应用后,自动跳转到应用程序的NFC标签读写卡页面。
- 标签读写约束条件
不管是前台读写,还是后台读写,电子设备能够发现NFC标签的前提条件是设备必须是亮屏和解锁状态。
DeviceProfile子系统
DeviceProfile是设备硬件能力和系统软件特征的管理器,典型的Profile有设备类型、设备名称、设备OS类型、OS版本号等。
DeviceProfile提供快速访问本地和远端设备Profile的能力,是发起分布式业务的基础。主要功能如下:
- 本地设备Profile的查询、插入、删除。
- 远程设备Profile的查询。
- 跨设备同步Profile。
- 订阅远程Profile变化的通知。