蓝牙耳机和手机的具体蓝牙通信流程

蓝牙耳机和手机通信,不是只有一条"蓝牙连接"这么简单。实际上一副耳机和手机之间通常会同时跑好几个协议/通道:

text 复制代码
1. 经典蓝牙 BR/EDR:
   用来传音乐、通话、播放控制
   A2DP / AVRCP / HFP

2. BLE 低功耗蓝牙:
   用来做弹窗、配套 App 控制、电量显示、ANC 设置、OTA 等
   GAP / GATT

3. 如果是新一代 LE Audio:
   可能用 BLE Isochronous + LC3 传音频

大多数普通蓝牙耳机,尤其是传统 TWS 耳机,核心还是:

text 复制代码
听歌:A2DP
控制播放/音量:AVRCP
打电话:HFP
App 控制/电量/弹窗:BLE GATT

1. 手机和耳机之间不是 IP + 端口,而是蓝牙地址 + Profile

网络通信里你熟悉的是:

text 复制代码
IP 地址 + 端口号
例如:
192.168.1.10:8080

蓝牙里不是这样。

蓝牙设备靠:

text 复制代码
蓝牙地址 BD_ADDR
Service UUID
L2CAP PSM
RFCOMM Channel
Profile

例如:

text 复制代码
手机蓝牙地址:  11:22:33:44:55:66
耳机蓝牙地址:  AA:BB:CC:DD:EE:FF

手机连接耳机,不是连接 IP:Port,而是先发现耳机地址,然后查询它支持哪些蓝牙服务:

text 复制代码
A2DP Sink       支持播放音乐
AVRCP Target    支持播放控制
HFP HF          支持通话
Battery Service 支持电量读取
厂商私有服务     支持 App 控制

2. 总体通信架构图

传统蓝牙耳机大概是这样:

text 复制代码
手机 App / 系统音频 / 电话
        │
        ├── A2DP:音乐音频
        ├── AVRCP:播放/暂停/上一曲/下一曲/音量
        ├── HFP:电话通话
        └── BLE GATT:电量、弹窗、设置、OTA
        │
手机蓝牙协议栈
        │
蓝牙射频 2.4GHz
        │
耳机蓝牙协议栈
        │
        ├── A2DP Sink:接收音乐
        ├── AVRCP Controller/Target:控制播放
        ├── HFP HF:通话
        └── BLE GATT Server:给手机 App 读写配置
        │
音频解码 / DSP / DAC / 功放 / 喇叭

3. 第一次连接:配对 Pairing 流程

第一次使用耳机时,通常要进入配对模式。

比如耳机开盖后进入配对:

text 复制代码
耳机:AA:BB:CC:DD:EE:FF
手机:11:22:33:44:55:66

3.1 耳机进入可发现状态

耳机开始让自己可以被手机发现:

text 复制代码
耳机进入 Inquiry Scan / Page Scan
或者 BLE Advertising

手机蓝牙设置里开始搜索设备。

手机会看到:

text 复制代码
设备名:Vik Earbuds
地址:AA:BB:CC:DD:EE:FF
设备类型:Audio / Headset

3.2 手机点击连接耳机

用户在手机上点:

text 复制代码
Vik Earbuds

手机开始和耳机建立底层链路。

经典蓝牙里面大概是:

text 复制代码
手机                     耳机

Inquiry 扫描  ────────>  耳机响应设备信息

Page 连接    ────────>  建立 ACL 链路

Pairing      <───────>  配对认证

生成 Link Key <──────>  双方保存密钥

开启加密     <───────>  后续通信加密

3.3 配对成功后保存密钥

手机和耳机都会保存一个密钥,叫:

text 复制代码
Link Key

保存后,下次就不需要重新配对了。

下次开盖时流程变成:

text 复制代码
耳机广播/可连接
手机识别到这是以前配对过的设备
手机自动重连
用之前保存的 Link Key 加密连接

所以你平时看到的"自动回连",底层就是靠之前保存的配对信息。


4. 配对后:手机查询耳机支持什么服务

配对和底层连接建立后,手机会通过 SDP 查询耳机支持哪些服务。

SDP 全称:

text 复制代码
Service Discovery Protocol
服务发现协议

手机会问耳机:

text 复制代码
你支持哪些蓝牙服务?

耳机会告诉手机:

text 复制代码
我支持:
1. A2DP Sink:可以接收音乐
2. AVRCP:可以控制播放
3. HFP HF:可以作为通话耳机
4. 可能还有 Battery Service
5. 可能还有厂商私有 BLE 服务

可以类比 TCP 里的端口发现:

text 复制代码
TCP:
服务端开放 80 / 443 / 1883 端口

蓝牙:
耳机暴露 A2DP / AVRCP / HFP / GATT 服务

5. 听音乐时:A2DP 工作流程

听歌走的是 A2DP

A2DP 全称:

text 复制代码
Advanced Audio Distribution Profile
高级音频分发协议

角色是:

text 复制代码
手机:A2DP Source
耳机:A2DP Sink

意思是:

text 复制代码
手机是音频源头
耳机是音频接收端

5.1 A2DP 音乐链路流程

比如手机播放一首歌:

text 复制代码
手机音乐 App
    ↓
手机系统音频框架
    ↓
蓝牙 A2DP Source
    ↓
音频编码 SBC / AAC / aptX / LDAC
    ↓
AVDTP
    ↓
L2CAP
    ↓
ACL 蓝牙链路
    ↓
耳机蓝牙芯片
    ↓
A2DP Sink
    ↓
音频解码
    ↓
DSP 音效处理
    ↓
I2S / PCM
    ↓
DAC / 功放
    ↓
喇叭出声

图:

text 复制代码
手机                                         蓝牙耳机

音乐 App
  │
  │ PCM 原始音频
  ▼
A2DP Source
  │
  │ 编码成 SBC/AAC/aptX/LDAC
  ▼
AVDTP / L2CAP / ACL
  │  2.4GHz 蓝牙无线传输
  ├──────────────────────────────────────>
                                              A2DP Sink
                                                │
                                                │ 解码成 PCM
                                                ▼
                                              DSP / DAC / 喇叭

5.2 音频不是直接传 PCM

手机一般不会直接把 PCM 裸音频丢给耳机,而是先编码。

常见编码:

text 复制代码
SBC:蓝牙 A2DP 基础必选编码
AAC:苹果/部分安卓常用
aptX:高通方案常见
LDAC:索尼方案常见
LHDC:部分国产耳机常见

大概流程:

text 复制代码
音乐文件 / 流媒体
    ↓
手机解码成 PCM
    ↓
再编码成蓝牙音频编码,例如 SBC/AAC
    ↓
发给耳机
    ↓
耳机解码成 PCM
    ↓
播放

所以蓝牙耳机里通常有:

text 复制代码
蓝牙协议栈
音频 codec 解码器
DSP 音效算法
DAC 或外部 Codec
功放
扬声器

6. 播放控制:AVRCP 工作流程

你按耳机上的按钮:

text 复制代码
单击:播放/暂停
双击:下一曲
三击:上一曲
长按:音量加减/语音助手

这些通常走 AVRCP

AVRCP 全称:

text 复制代码
Audio/Video Remote Control Profile
音视频远程控制协议

它管的是:

text 复制代码
播放
暂停
上一曲
下一曲
音量
歌曲信息
播放状态

6.1 耳机控制手机播放暂停

比如你按一下右耳:

text 复制代码
耳机检测到按键
    ↓
耳机协议栈生成 AVRCP 命令
    ↓
发送 Play/Pause 命令给手机
    ↓
手机系统收到控制命令
    ↓
音乐 App 暂停/播放

图:

text 复制代码
蓝牙耳机                               手机

按键单击
  │
  ▼
AVRCP Controller
  │
  │ Play/Pause 命令
  ├──────────────────────────────>
                                      AVRCP Target
                                        │
                                        ▼
                                      音乐 App 暂停/播放

这里常见角色是:

text 复制代码
耳机:AVRCP Controller
手机:AVRCP Target

但是实际产品里,手机和耳机可能都同时支持 Controller/Target,因为还要处理音量、状态、歌曲信息等。


6.2 手机把歌曲信息发给耳机

有些耳机或车机能显示:

text 复制代码
歌曲名
歌手
播放进度
播放状态

这也可以通过 AVRCP 相关机制传递。

比如:

text 复制代码
手机当前播放:
歌名:Song A
歌手:Artist B
状态:Playing

耳机或车机可以获取这些媒体信息。


7. 打电话时:HFP 工作流程

打电话不是走 A2DP,而是走 HFP

HFP 全称:

text 复制代码
Hands-Free Profile
免提协议

角色:

text 复制代码
手机:Audio Gateway,简称 AG
耳机:Hands-Free,简称 HF

意思是:

text 复制代码
手机是电话网关
耳机是免提设备

7.1 HFP 包含两部分

HFP 里有两条重要通道:

text 复制代码
1. 控制通道:
   RFCOMM 上跑 AT 命令

2. 语音音频通道:
   SCO / eSCO 链路上传双向语音

可以画成:

text 复制代码
手机                                         耳机

HFP AG                                      HFP HF
  │                                           │
  │ AT 命令控制通道,走 RFCOMM                │
  ├───────────────────────────────────────────┤
  │                                           │
  │ SCO/eSCO 语音通道                         │
  ├───────────────────────────────────────────┤

7.2 来电话时具体发生什么

假设手机来电:

text 复制代码
手机收到蜂窝网络来电
    ↓
手机通过 HFP 控制通道通知耳机
    ↓
耳机响铃/播放提示音
    ↓
用户按耳机接听
    ↓
耳机通过 AT 命令告诉手机接听
    ↓
手机建立 SCO/eSCO 语音链路
    ↓
双向语音开始

具体一点:

text 复制代码
手机 AG                                 耳机 HF

来电
  │
  │ RING / 来电状态通知
  ├────────────────────────────────────>

                                      耳机响铃提示

用户按耳机接听
                                      AT+ATA
  <────────────────────────────────────┤

建立 SCO/eSCO 语音链路
  ├════════════════════════════════════┤

手机下行语音 ─────────────────────────>
耳机麦克风上行语音 <──────────────────

7.3 通话音频怎么走

通话音频和听歌不同。

听歌:

text 复制代码
A2DP
高音质
单向:手机 -> 耳机
延迟可以稍高

通话:

text 复制代码
HFP
双向语音
手机 -> 耳机:对方说话
耳机 -> 手机:你的麦克风声音
低延迟
音质比 A2DP 低

HFP 常见语音编码:

text 复制代码
CVSD:传统窄带语音
mSBC:宽带语音,俗称高清通话的一种基础方式

所以你会发现:

text 复制代码
听音乐时音质好
一进入电话/语音聊天,音质可能变差

原因是手机从 A2DP 音乐通道切换到了 HFP 通话通道。


8. 为什么打电话时音乐音质会变差?

因为模式切换了。

听音乐时:

text 复制代码
手机 -> 耳机
A2DP
SBC/AAC/aptX/LDAC
高码率
单向音频

打电话时:

text 复制代码
手机 <-> 耳机
HFP
CVSD/mSBC
低延迟双向语音
同时要用麦克风

蓝牙经典音频里,传统 HFP 不是为高保真音乐设计的,而是为实时语音通话设计的。

所以:

text 复制代码
A2DP:适合听音乐
HFP:适合打电话

9. 电量显示、弹窗、降噪设置:BLE GATT 流程

很多耳机连接手机时,除了经典蓝牙,还会开一个 BLE 通道。

BLE 常用于:

text 复制代码
1. 开盖弹窗
2. 左右耳电量
3. 充电盒电量
4. ANC 降噪模式设置
5. 通透模式设置
6. 触摸按键功能设置
7. 固件 OTA 升级
8. 查找耳机
9. EQ 设置

9.1 BLE 角色

通常:

text 复制代码
耳机:BLE Peripheral + GATT Server
手机:BLE Central + GATT Client

流程:

text 复制代码
耳机 BLE 广播
    ↓
手机扫描到耳机
    ↓
手机连接 BLE
    ↓
手机发现 GATT 服务
    ↓
手机读写 Characteristic

9.2 读取电量例子

假设耳机有一个 GATT 服务:

text 复制代码
Service UUID:厂商私有服务
Characteristic UUID:电量特征值

手机读取:

text 复制代码
手机 GATT Client                      耳机 GATT Server

Read Battery Characteristic ────────>
                                  查询当前电量

<────────────────────────────────────
Response:
左耳 85%
右耳 82%
盒子 60%

9.3 设置降噪模式例子

手机 App 里点:

text 复制代码
开启 ANC 降噪

手机通过 BLE 写耳机的某个 Characteristic:

text 复制代码
手机 GATT Client                      耳机 GATT Server

Write ANC Mode = ON ────────────────>
                                  耳机切换 DSP 参数
                                  开启降噪算法

<────────────────────────────────────
Write Response / Notify 状态

9.4 BLE GATT 不负责传统音乐音频

这个要注意。

传统蓝牙耳机里:

text 复制代码
音乐不是 BLE GATT 传的
通话也不是 BLE GATT 传的

BLE GATT 主要传:

text 复制代码
控制命令
状态
电量
配置
少量数据

传统音乐和通话主要走:

text 复制代码
A2DP / HFP

10. 一次完整连接过程:从开盖到听歌

下面把流程完整串起来。

10.1 耳机开盖

text 复制代码
耳机上电
    ↓
读取 Flash 里保存的配对记录
    ↓
发现之前连过手机 11:22:33:44:55:66
    ↓
进入回连模式

耳机可能同时做两件事:

text 复制代码
1. 经典蓝牙尝试回连手机
2. BLE 开始广播,让手机或 App 发现

10.2 手机发现耳机

如果之前配对过,手机系统可能自动发现并回连:

text 复制代码
手机蓝牙后台扫描/监听
    ↓
发现耳机
    ↓
根据配对记录发起连接

10.3 建立经典蓝牙 ACL 链路

先建立基础链路:

text 复制代码
手机                         耳机

建立 ACL 链路  <──────────>  成功
认证加密      <──────────>  成功

ACL 可以理解为经典蓝牙里的普通数据链路,A2DP、AVRCP、HFP 的控制部分很多都基于它承载。


10.4 建立 Profile 连接

手机接着连接多个 Profile:

text 复制代码
1. A2DP:准备传音乐
2. AVRCP:准备播放控制
3. HFP:准备电话通话

大概:

text 复制代码
手机                         耳机

连接 A2DP  ────────────────>  A2DP Sink 就绪
连接 AVRCP ────────────────>  播放控制就绪
连接 HFP   ────────────────>  通话控制就绪

10.5 手机开始播放音乐

text 复制代码
手机音乐 App 播放
    ↓
手机系统选择蓝牙耳机作为音频输出
    ↓
A2DP Start
    ↓
手机编码音频
    ↓
蓝牙发送
    ↓
耳机接收解码
    ↓
喇叭播放

流程图:

text 复制代码
手机音乐 App
  │
  ▼
系统音频路由选择蓝牙耳机
  │
  ▼
A2DP Source 编码 SBC/AAC/aptX
  │
  ▼
蓝牙 ACL 链路发送音频包
  │
  ▼
耳机 A2DP Sink 解码
  │
  ▼
DSP / DAC / 喇叭

11. 听歌过程中按耳机按键

比如用户双击右耳下一曲:

text 复制代码
耳机按键/触摸检测
    ↓
耳机 MCU/蓝牙 SoC 判断为"下一曲"
    ↓
通过 AVRCP 发送 Next 命令
    ↓
手机收到 AVRCP 命令
    ↓
音乐 App 切到下一首
    ↓
手机继续通过 A2DP 发新歌音频

图:

text 复制代码
耳机                                   手机

双击右耳
  │
  ▼
AVRCP: NEXT
  ├──────────────────────────────────>
                                      音乐 App 下一曲
                                      A2DP 继续发音频
  <═══════════════════════════════════

12. 听歌时突然来电话

这个流程很典型。

text 复制代码
当前状态:
A2DP 正在播放音乐
AVRCP 可控制播放
HFP 已连接但未通话

来电话后:

text 复制代码
手机收到来电
    ↓
暂停或降低 A2DP 音乐
    ↓
通过 HFP 通知耳机来电
    ↓
耳机播放铃声/提示音
    ↓
用户按耳机接听
    ↓
HFP 建立 SCO/eSCO 语音链路
    ↓
开始双向通话

流程图:

text 复制代码
手机                                  耳机

A2DP 音乐播放中
════════════════════════════════════>

来电
  │
  │ HFP RING / call status
  ├─────────────────────────────────>

                                    用户按耳机接听

  │ HFP AT+ATA
  <─────────────────────────────────┤

建立 SCO/eSCO 语音链路
  ══════════════════════════════════

手机下行语音 ───────────────────────>
耳机麦克风上行语音 <────────────────

挂断后:

text 复制代码
SCO/eSCO 语音链路关闭
    ↓
HFP 回到空闲
    ↓
手机恢复 A2DP 音乐播放

13. TWS 左右耳之间怎么通信?

TWS 耳机还多一个问题:

text 复制代码
手机怎么同时给左耳和右耳传声音?

常见有几种方案。


13.1 传统主从转发模式

早期或普通 TWS 常见:

text 复制代码
手机只连接主耳
主耳再把另一声道转发给副耳

例如:

text 复制代码
手机  <────蓝牙经典链路────>  右耳主耳  <────私有链路────>  左耳副耳

流程:

text 复制代码
手机把立体声音频发给右耳
右耳播放右声道
右耳把左声道转发给左耳
左耳播放左声道

图:

text 复制代码
手机
  │
  │ A2DP 立体声音频
  ▼
右耳主耳
  ├── 播放右声道
  └── 转发左声道 ─────> 左耳副耳
                         └── 播放左声道

缺点:

text 复制代码
主耳耗电更快
主耳延迟更重
左右耳同步难度高

13.2 双耳分别和手机通信

一些新方案会让手机和左右耳都建立某种连接,降低单主耳压力。

概念上类似:

text 复制代码
手机
 ├────────> 左耳
 └────────> 右耳

但具体实现和芯片厂商、手机系统、耳机方案强相关。

很多 TWS 同步技术是厂商私有的,例如高通、恒玄、络达、苹果等都有自己的方案。


13.3 左右耳同步要解决什么?

TWS 难点不只是收到声音,还要:

text 复制代码
1. 左右耳同时播放,不能一边快一边慢
2. 延迟要低
3. 主副耳切换
4. 单耳入盒/出盒检测
5. 左右耳电量同步
6. 通话时麦克风选择
7. 降噪参数同步

所以 TWS 耳机里面除了手机通信,还有:

text 复制代码
耳机左/右之间通信
主副耳角色管理
音频同步算法
电量和状态同步

14. 蓝牙耳机里的协议栈分层

传统蓝牙耳机大概这样:

text 复制代码
应用层:
耳机业务逻辑、按键、入耳检测、电量、ANC、提示音

Profile 层:
A2DP / AVRCP / HFP / BLE GATT / OTA Profile

协议层:
AVDTP / AVCTP / RFCOMM / SDP / ATT / GATT / SMP

适配层:
L2CAP / HCI

控制器:
Baseband / Link Manager / Link Layer / PHY

硬件:
2.4GHz RF / PA / LNA / 天线

更具体一点:

text 复制代码
音乐:
A2DP
  ↓
AVDTP
  ↓
L2CAP
  ↓
HCI / Controller
  ↓
Radio

播放控制:
AVRCP
  ↓
AVCTP
  ↓
L2CAP
  ↓
HCI / Controller
  ↓
Radio

通话控制:
HFP
  ↓
RFCOMM
  ↓
L2CAP
  ↓
HCI / Controller
  ↓
Radio

通话语音:
HFP Audio
  ↓
SCO / eSCO
  ↓
Baseband
  ↓
Radio

App 控制:
BLE GATT
  ↓
ATT
  ↓
L2CAP
  ↓
BLE Link Layer
  ↓
Radio

15. 传统蓝牙音频和 BLE 的区别

很多人容易混:

text 复制代码
蓝牙耳机连接手机,是 BLE 吗?

答案是:

text 复制代码
不一定。
传统听歌和打电话主要是经典蓝牙 BR/EDR。
BLE 多用于控制和状态。

对比:

功能 常用协议
听音乐 A2DP,经典蓝牙
播放/暂停/下一曲 AVRCP,经典蓝牙
电话通话 HFP,经典蓝牙
电量显示 HFP/BLE GATT/厂商协议都有可能
App 设置 ANC/EQ BLE GATT 常见
开盖弹窗 BLE 广播 + 厂商协议常见
固件 OTA BLE GATT 或经典蓝牙私有通道都有可能
新 LE Audio BLE Isochronous + LC3

16. 新一代 LE Audio 简单说明

新一点的蓝牙音频可能支持 LE Audio

LE Audio 不再是传统 A2DP/HFP 那套,而是基于:

text 复制代码
Bluetooth LE
Isochronous Channels
LC3 编码

典型特点:

text 复制代码
1. 使用 LC3 音频编码
2. 支持低功耗音频
3. 支持广播音频 Auracast
4. 支持更标准化的多设备音频
5. 左右耳同步机制更现代

简单理解:

text 复制代码
传统蓝牙耳机:
经典蓝牙 BR/EDR + A2DP/HFP

LE Audio 耳机:
BLE + LC3 + Isochronous Channel

不过目前大量耳机仍然是传统 A2DP/HFP 为主,BLE 只是辅助控制。


17. 从嵌入式开发角度,你真正要关心哪些事件?

如果你在耳机固件里做开发,通常会关心这些状态机事件:

text 复制代码
1. 开机
2. 进入配对模式
3. 被手机发现
4. 手机发起连接
5. 配对成功/失败
6. ACL 连接成功
7. A2DP 连接成功
8. AVRCP 连接成功
9. HFP 连接成功
10. A2DP 开始播放
11. A2DP 暂停
12. HFP 来电
13. HFP 接听
14. SCO/eSCO 建立
15. 通话结束
16. BLE GATT 连接
17. 手机 App 写配置
18. 断开连接
19. 回连
20. 入盒/出盒
21. 左右耳主副切换

在代码里通常就是一堆 callback/event,例如:

text 复制代码
BT_EVENT_ACL_CONNECTED
BT_EVENT_ACL_DISCONNECTED
BT_EVENT_A2DP_CONNECTED
BT_EVENT_A2DP_STREAM_START
BT_EVENT_A2DP_STREAM_SUSPEND
BT_EVENT_AVRCP_PLAY
BT_EVENT_AVRCP_PAUSE
BT_EVENT_HFP_CONNECTED
BT_EVENT_HFP_RING
BT_EVENT_HFP_CALL_ACTIVE
BT_EVENT_SCO_CONNECTED
BT_EVENT_BLE_CONNECTED
BT_EVENT_GATT_WRITE

不同芯片平台名字不一样,但逻辑差不多。


18. 最完整的一条主线

你可以把手机和蓝牙耳机通信过程记成这条线:

text 复制代码
第一次使用:
耳机进入配对模式
    ↓
手机扫描发现耳机
    ↓
手机连接耳机
    ↓
双方配对,生成 Link Key
    ↓
手机通过 SDP 查询耳机服务
    ↓
建立 A2DP / AVRCP / HFP 连接
    ↓
可能再建立 BLE GATT 连接
    ↓
开始正常使用

听音乐:
手机音乐 App
    ↓
A2DP 编码音频
    ↓
蓝牙发送
    ↓
耳机解码播放

按键控制:
耳机按键
    ↓
AVRCP 命令
    ↓
手机控制音乐 App

打电话:
手机来电
    ↓
HFP 通知耳机
    ↓
用户接听
    ↓
建立 SCO/eSCO
    ↓
双向语音

App 控制:
手机 App
    ↓
BLE GATT 写 Characteristic
    ↓
耳机修改 ANC/EQ/按键配置

19. 最简单总结

text 复制代码
手机和蓝牙耳机之间通常不是一个协议,而是一组协议同时工作。

A2DP:
    手机给耳机传音乐。

AVRCP:
    耳机控制手机播放、暂停、上一曲、下一曲、音量。

HFP:
    手机和耳机进行电话通话,控制用 AT 命令,语音走 SCO/eSCO。

BLE GATT:
    手机 App 读取电量、设置降噪、EQ、按键、做 OTA 等。

SDP:
    手机查询耳机支持哪些服务。

配对 Pairing:
    手机和耳机建立安全关系,保存密钥,下次自动回连。

TWS:
    还要处理左右耳之间的同步、转发、主副耳切换。

一句话记:

text 复制代码
听歌走 A2DP,
按键控制走 AVRCP,
打电话走 HFP,
电量和 App 设置多半走 BLE GATT,
第一次连接要配对,
配对后靠密钥自动回连。
相关推荐
侠客工坊19 小时前
移动端 RPA 的架构重构:基于侠客工坊多模态视觉大模型的自动化调度系统压测复盘
人工智能·智能手机·重构·架构·rpa·数字员工·侠客工坊
花先锋队长1 天前
鸿蒙6.1加持菜鸟App:地理围栏+实况窗,靠近驿站自动提醒,取件不再遗漏
华为·智能手机·harmonyos
开开心心就好1 天前
无品牌限制的手机电视投屏工具推荐
科技·游戏·智能手机·edge·电脑·逻辑回归·powerpoint
suki_lynn1 天前
云手机应用场景和实际用途
智能手机·云计算·手机·安卓
wanhengidc1 天前
显卡服务器具体是指什么
运维·服务器·网络·安全·智能手机
wanhengidc2 天前
云手机 高振畅玩不踩坑
运维·服务器·安全·web安全·智能手机
SmartRadio2 天前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
非凡ghost2 天前
可拓浏览器:给手机浏览器装上“外挂“!2W+拓展+AI搜索,玩出无限可能!
windows·智能手机·音视频·firefox
SmartRadio2 天前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信 (采用Arduino代码框架)
开发语言·智能手机·esp32·长距离wifi