蓝牙

byte轻骑兵8 天前
linux·arm开发·蓝牙·bluez·电脑蓝牙
如何定制BlueZ编译:开启/关闭BLE/音频模块的编译参数配置在BlueZ二次开发中,90%的开发者陷入了三个致命误区:①直接全量编译导致体积臃肿(bluetoothd可达3.2MB);②不知道BLE与音频模块的依赖关系,单独关闭某模块引发编译报错;③不清楚哪些参数互斥、哪些必须联动,盲目裁剪导致功能失效。本文基于BlueZ 5.87的configure.ac源码,系统解析所有编译参数的工作原理、依赖关系、裁剪效果,彻底掌握BlueZ编译裁剪体系,实现最小化定制编译。
K成长日志8 天前
网络·物联网·网络协议·嵌入式·蓝牙·iot·ble
BLE链路层空口包--数据物理信道PDU连接建立之后,BLE通信便从广播信道切换到了数据物理信道。数据物理信道(Data Physical Channel)PDU是蓝牙通信中的核心组成部分,它负责在已建立的连接上高效、可靠地传输数据。
byte轻骑兵9 天前
音视频·蓝牙·蓝牙耳机·le audio·低功耗蓝牙音频
蓝牙PBP公共广播协议:解锁LE Audio的公共音频新生态在蓝牙技术从个人音频向公共音频领域延伸的过程中,传统的音频广播方式始终存在着发现效率低、兼容性差、音质体验单一等问题。感应线圈(T-coil)作为公共音频的传统解决方案,仅能适配助听器设备,且音质表现有限;而蓝牙基础音频协议(BAP)和通用音频协议(CAP)虽实现了LE Audio的广播能力,却让接收端难以快速识别音频配置。在这样的背景下,蓝牙SIG推出了公共广播协议(Public Broadcast Profile,PBP),专为公共场景的音频广播打造,通过标准化的配置标识和高效的发现机制,让蓝牙LE
byte轻骑兵15 天前
linux·arm开发·蓝牙·bluez·电脑蓝牙
BlueZ源码编译环境配置全指南:Linux桌面原生编译 + 嵌入式ARM交叉编译 + 定制裁剪与调试实战网上大部分BlueZ教程停留在apt install bluez的层面,真正需要在嵌入式平台落地、做Profile定制、定位协议栈问题的工程师,绕不开源码编译这一关。本文将完整编译体系、交叉编译依赖层级处理、最小系统裁剪、全阶段排错方法论一次性讲透,目标是直接落地解决工作中的编译、移植、裁剪问题。
piaoyiren17 天前
stm32·单片机·嵌入式硬件·蓝牙·超声波测距·直流电机
基于 STM32F103 蓝牙遥控云台超声波避障小车本系统为蓝牙遥控智能探测小车,搭载 SG90 舵机云台带动 HC-SR04 超声波传感器,实现多角度环境测距;支持手机蓝牙单字符指令远程控制小车运动、云台定位、云台自动往复扫描;搭载三色 LED 分级距离报警、0.96 寸 OLED 双页面状态显示;定时向上位机回传障碍物距离、舵机角度、危险预警信息。
K成长日志21 天前
物联网·嵌入式·蓝牙·iot·ble·无线·通信
BLE链路层空口包--LE Uncoded PHY在BLE协议栈中,链路层(Link Layer)定义了唯一一种空中包(Air Interface Packet)格式。然而,根据物理层的不同,这个统一格式在具体实现上又分为LE Uncoded PHY和LE Coded PHY两种变体。本文将深入剖析LE未编码物理层(LE Uncoded PHY)的空口包结构——这也是BLE最基础、最常用的包格式。
TengTaiTech25 天前
蓝牙·qcc·混音
打破ANC的“静默牢笼”:基于QCC3095实现主动降噪与侧音共存的音频方案主动降噪(ANC)技术通过产生反相声波,为我们营造了一个近乎完美的静谧空间。然而,这种技术也带来了一个常被忽视的副作用——“堵耳效应”(Occlusion Effect)。
TengTaiTech1 个月前
蓝牙·qcc
重构无线音频边界:基于高通QCC3056的新一代蓝牙音频发射器深度解析在消费电子音频领域,蓝牙发射器始终扮演着一个低调却至关重要的角色——它是连接传统音源与无线耳机的桥梁,是打破有线束缚的关键一环。然而,市面上绝大多数蓝牙发射器产品仍停留在“能用”而非“好用”的层面:延迟高、音质损耗大、连接不稳定、兼容性差,这些问题长期困扰着追求极致体验的音频用户。
HiDev_1 个月前
蓝牙·ble·蓝牙连接·ble 蓝牙广播·蓝牙hci command
BLE Legacy 连接【读取当前连接所使用 PHY 类型 HCI_LE_Read_PHY command】这部分内容讲的是 HCI_LE_Read_PHY command,也就是 BLE 中用于读取当前连接所使用 PHY 类型 的 HCI 命令。
HiDev_1 个月前
蓝牙·ble·蓝牙连接·ble 蓝牙广播·蓝牙hci command
BLE Legacy 连接【断开连接 Disconnect command】下面这部分讲的是 HCI_Disconnect command,也就是:注意:它不是 LE Controller commands 里的命令,而是在:
K成长日志1 个月前
网络·物联网·网络协议·嵌入式·蓝牙·ble
BLE协议之设备地址BLE设备地址(Bluetooth Device Address,BD_ADDR)是一个48位(6字节) 的标识符,用于在蓝牙低功耗网络中唯一识别一个设备。
HiDev_1 个月前
蓝牙·ble·ble 蓝牙广播·蓝牙hci command·蓝牙广播扫描
HCI 功能规范【5.1. Correctness】这部分内容属于 HCI data formats 章节中的 Correctness,主要讲的是:在 HCI 层中,Controller 返回给 Host 的参数值必须是“正确的”,也就是说,Controller 上报的事件参数、返回参数,必须真实、准确地反映当前发生的事情。
HiDev_1 个月前
蓝牙·ble·ble 蓝牙广播·蓝牙hci command
HCI 功能规范【4.2. Controller to Host data flow control】这部分是 4.2 Controller to Host data flow control,讲的是:Controller 向 Host 发送 HCI Data Packet 时,也可能需要流控,避免 Host 侧的数据缓冲区被 Controller 发来的数据撑爆。
HiDev_1 个月前
蓝牙·ble·ble 蓝牙广播·蓝牙hci command
HCI 功能规范【4.4. Command flow control】这部分是 4.4 Command flow control,讲的是:Host 向 Controller 发送 HCI Command 时,也需要流控。Host 不能无限制地连续发送 HCI Command,而是要根据 Controller 返回的 Num_HCI_Command_Packets 参数来判断还能不能继续发命令。
欢乐熊嵌入式编程2 个月前
物联网·wifi·esp32·蓝牙·wifi协议·ap热点
WIFI通信协议全解析18: ESP32 作为 AP 热点:打造自己的“微型路由器”(附完整实战代码)“谁说 ESP32 只能连 WiFi?”它不仅能蹭别人家的网,还能自己当老板,建立一个属于自己的 WiFi 世界。
YF02112 个月前
android·蓝牙
Android BLE 信号强度获取与 底层原理深度解析在上一篇文章中,我们讨论了蓝牙信号强度 RSSI 的负数含义,理解了它代表接收功率小于 1 毫瓦时的对数表达。然而,对于一个 Android 开发者来说,仅仅知道 RSSI 的意义远远不够——我们需要知道如何在代码中获取它,以及它背后的扫描和连接机制是如何工作的。
Refrain_zc2 个月前
java·蓝牙
无触摸屏场景下的蓝牙交互:Android 纯按键蓝牙扫描配对与 A2DP/Headset 连接常规手机 App 蓝牙页面都是触屏点击,但电视、车机、工控机、机顶盒等非触屏这类设备没有触控,完全依赖上下左右 DPAD 按键 + 焦点切换来操作。
sweet丶2 个月前
ios·蓝牙
iOS 蓝牙开发深入总结N年前在一个支付公司做过2.5年的蓝牙开发,当时的项目是通过蓝牙连接mpos机进行刷卡支付。APP中业务交互逻辑是比较复杂,当时APP的核心难以解决的痛点:逻辑比较混乱,很难从头到尾排查清楚一个完整流程。同时也会出现偶现的不好解决的bug---当时项目的架构是将蓝牙与VC交互放到了基类VC中,机具蓝牙交互则使用了多个单例通过代理和通知监听实现,由于是单例所以会偶现VC未正常释放也会出现UI响应在不该出现的页面。
liuniu08183 个月前
蓝牙·gap
GAP-初始
jiang_bluetooth3 个月前
蓝牙·信号处理·射频·pa·lna
蓝牙典型射频架构剖析如上图经典的零中频(Zero-IF)蓝牙射频收发架构图,下面按从天线到数字基带的完整信号流,逐模块拆解工作原理,并说明这种架构在蓝牙中的优势与特点。