![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝牙
文章平均质量分 73
饭小粒
蓝牙&Android&iOS&EN
展开
-
蓝牙BQB认证流程分享
产品具有蓝牙功能并且想要在产品外观上打上蓝牙标志(Bluetooth logo),必须通过一个叫做BQB认证(Bluetooth Qualification Body)的认证。Bluetooth SIG的主要目的之一是帮助成员确保所有产品都具有适当的资格并符合蓝牙许可协议。这促进了产品互操作性,并增强了Bluetooth品牌的优势,使所有SIG成员受益。2.样品数量:2台成品,2台工程样机(进入BQB测试模式)。1.认证周期:1-2周;原创 2024-03-06 08:34:27 · 270 阅读 · 0 评论 -
解构蓝牙地址以及蓝牙MAC地址查询
因为Random Address的设备地址不是固定分配的,而是在设备启动后随机生成的,而且会根据一定的周期发生变化。”,这个时候就想着,如果可以从地址信息中能解析出某些有用的信息,帮助我们筛选就好了。1) 从Bluetooth Address的构成来看,属于设备商自己定义的部分,只有LAP part,即最多只能定义2^24 = 16777216个设备地址?目前看来,最主要的解决方式是,每家公司多申请一些OUI,比如Apple就申请了几十个之多,当然大厂不差钱,哈哈。2) 怎样通过地址,查询到厂商的信息呢?转载 2022-10-10 09:49:05 · 3788 阅读 · 0 评论 -
蓝牙DID协议讲解 Bluetooth Device ID
第四篇:传统蓝牙host介绍,主要介绍传统蓝牙的协议栈,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP等等一系列的协议吧。第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等。第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。转载 2022-10-09 15:07:03 · 1517 阅读 · 0 评论 -
通过此方法可以揭秘iPhone与其他蓝牙产品的交互流程啦,iPhone蓝牙HCI log的抓取方式详解
至此,你通过ATS可以看HCI的交互了,但是有一个弊端,这个主要是用来开发IAP2的,所以HCI的交互没有像Ellisys/Frontline/Wireshark协议显示那么齐全,所以最佳的的作用应该是看linkkey,解密air log,直接通过air log来看交互流程!第四篇:传统蓝牙host介绍,主要介绍传统蓝牙的协议栈,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP等等一系列的协议吧。转载 2022-10-09 11:42:33 · 1190 阅读 · 0 评论 -
BLE常用UUID 16bit和128bit
蓝牙核心规范制定了两种不同的UUID,一种是基本的UUID,一种是代替基本UUID的16位UUID。为了进一步简化基本UUID,每一个蓝牙技术联盟定义的属性有一个唯一的16位UUID,以代替上面的基本UUID的‘x’部分。WriteWithout Response:写属性,从字面意思上看,只是写,不需要返回写的结果,这个属性的特点是不需要应用层返回,完全依靠协议层完成,速度快,但是写入速度超过协议处理速度的时候,会丢包。UUID 可以简单理解为编号,唯一的编号,用于区分不同的个体。比如经典的9527。转载 2022-09-29 16:13:41 · 3012 阅读 · 0 评论 -
C语言goto out语句
原文链接:https://blog.csdn.net/weixin_39657978/article/details/120804165。注意:使用 goto 语句可能会造成程序层次不清晰,可读性差,故在实际编程中,应尽量少使用或避免使用 goto 语句。//例子中语句标识是pos_1//感觉这个语句“;out://注意“:”这个结尾的,out也是一个语句标识。//例子中是pos_1 //语句标号//语句标识。printf("请输入一个正整数:");//out是一个语句标识。转载 2022-09-07 16:11:40 · 418 阅读 · 0 评论 -
__attribute__((packed))详解
内存对齐的问题,也与系统是64位还是32位有关。变量的长度,在不同的系统之间会有差别,如同是Linux2.6.18的平台,在64位系统中,指针的长度为8个字节,而在32位系统中,指针又是4个字节的长度---此处只是举个例子,很少有人会将指针作为数据发送出去。下面的例子中,my-packed-struct类型的变量数组中的值会紧凑在一起,但内部的成员变量s不会被“pack”,如果希望内部的成员变量也被packed的话,my-unpacked-struct也需要使用packed进行相应的约束。转载 2022-09-07 15:17:36 · 1659 阅读 · 0 评论 -
Ubuntu下git的安装与使用
Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便。 首先,确认你的系统是否已安装git,可以通过git指令进行查看,如果没有,在命令行模式下输入sudo apt-get install git命令进行安装。 安装完成后进行git配置,输入指令git config --global user.name "xxx"和git config --global user.email "你的邮箱地址" 配...转载 2022-01-26 11:33:15 · 813 阅读 · 0 评论 -
苹果手机(ios系统)蓝牙BLE的一些特点
摘自<BluetoothDesignGuidelines.pdf>文档1. pairing:苹果手机无法主动发起SMP配对流程,可通过以下两种方式发起配对流程:(1)从端主动发起配对流程;(2)从端在收到主端ATT指令后,返回SMP FAIL(错误码看SIG规范)给苹果手机,则苹果会重新发起配对流程。2. Connection Parameters:苹果的连接间隔默认为30ms,如果要更新,需要满足如下要求,且最小可以申请到20ms,如果蓝牙服务带HID服务,则可转载 2021-08-11 15:38:38 · 2134 阅读 · 0 评论 -
蓝牙BLE数据包格式汇总
蓝牙BLE数据包格式汇总以蓝牙4.0为例说明:BLE包格式有:广播包、扫描包、初始化连接包、链路层控制包(LL层数据包)、逻辑链路控制和自适应协议数据包(即L2CAP数据包)等;其中广播包又分为:定向广播包和非定向广播包;逻辑链路控制和自适应协议数据包又分为:ATT指令包、信令指令包、SMP包;1. 首先,所有的包都符合如下格式:2. 广播包:3. 非定向广播包:4. 定向广播包:5. 扫描包:6. 初始化连接包:7. 链路层数据包:转载 2021-08-11 15:36:21 · 4267 阅读 · 0 评论 -
Value-for-SWIFT-VERSION-cannot-be-empty
去 Build Settings 设置下Swift版本就行了转载 2021-02-03 20:46:12 · 866 阅读 · 0 评论 -
NSBluetoothAlwaysUsageDescription 提交被拒
被拒提交以后构建显示正在处理中,等几分钟会自动消失,构建不成功Apple发送邮件提示:ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSBluetoothAlwaysUsageDescription k转载 2021-02-03 20:33:23 · 614 阅读 · 0 评论 -
传统蓝牙L2CAP的连接流程(以被连接为例)
一. 声明本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等第四篇:传统蓝牙host介绍,主要转载 2021-01-19 16:49:23 · 1213 阅读 · 0 评论 -
蓝牙音频双剑客(二)--高质量音频分布协议(A2DP) 连接播放音乐断开流程(被连接)介绍
零. 概述主要介绍下蓝牙协议栈(bluetooth stack)传统蓝牙音频协议之高质量音频分布协议(A2DP) 连接播放音乐断开流程(被连接)介绍一. 声明本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等第三篇:传统蓝牙.转载 2021-01-19 16:47:01 · 1137 阅读 · 0 评论 -
蓝牙的音频通路
如上图:音频通路1:Audio->L2CAP->ACL->HCI->Baseband,a2dp音频走这种方式;音频通路2:Audio->Voice->SCO/eSCO->HCI->Baseband,hfp、hsp蓝牙通话走这种方式;音频通路3:Audio->Voice->PCM->Baseband,hfp、hsp蓝牙通话走这种方式;蓝牙通话的方式有音频通路2、音频通路3,这两种方式表现在硬件连接的差异上,音频通路2方式,音频数据是走.转载 2021-01-19 16:40:36 · 1202 阅读 · 0 评论 -
蓝牙协议分析工具Wireshark/Frontline/Ellisys的使用
一. 声明本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等第四篇:传统蓝牙host介绍,主转载 2021-01-19 16:29:15 · 4744 阅读 · 0 评论 -
nordic对苹果性能测试
环境: app采用nrf connect或lightblue均可; nordic从端采用nrf52840开发板pca10056; 说明与规定: (1)鉴于手机app无法主动连续快速发送多包数据,故只测试了上行数据,即nordic从端notify发送给苹果手机数据,连续发送1000包。但一般BLE上行和下行速率基本一致,所以手机发送的速率应和nordic发送给手机的速率应该是一致的。 (2)苹果8及以上的手机支持蓝牙5.0,这之前的手机硬件不支持蓝牙5.0; (3)看最大通讯速率值..转载 2021-01-19 16:25:01 · 202 阅读 · 1 评论 -
蓝牙RFCOMM协议
零. 概述本文章主要讲下蓝牙RFCOMM协议(bluetooth rfcomm)的帧格式,包括Address,Control,Length Indicator,Information,FCS等一. 声明本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,转载 2021-01-14 19:15:02 · 1633 阅读 · 2 评论 -
蓝牙L2CAP剖析(一)
关键字:bluetooth 蓝牙协议 HCI剖析 HCI概述 HCI笔记 LMP L2CAP SDP RFCOMM作者:zhongjun本着互相学习的目的,来分享此一系列的文章,欢迎转载,请注明作者,尊重版权,谢谢文章有不当处请指正,共同学习此系列目前这样打算:LMP剖析 + 模拟源码:蓝牙LMP剖析(一)蓝牙LMP剖析(二)HCI剖析 + 模拟源码:蓝牙HCI剖析(一)蓝牙HCI剖析(二)蓝牙HCI剖析(三)L2CAP剖析 + 模拟源码蓝...转载 2021-01-14 17:27:43 · 317 阅读 · 0 评论 -
低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端
Android对外模模式(peripheral)的支持从Android5.0开始才支持关键术语和概念以下是关键BLE术语和概念的摘要:通用属性简档(GATT) - GATT简档是用于通过BLE链路发送和接收称为“属性”的短数据块的一般规范。 所有当前的低能量应用配置文件都基于GATT。 蓝牙SIG为低能量设备定义了许多配置文件 。 配置文件是设备在特定应用程序中的工作方式的规范。 请注意,设备可以实现多个配置文件。 例如,设备可以包含心率监视器和电池水平检测器。 属性协议(ATT) -G转载 2021-01-08 19:17:06 · 721 阅读 · 0 评论 -
蓝牙协议分析(7)_BLE连接有关的技术分析
1. 前言了解蓝牙的人都知道,在经典蓝牙中,保持连接(Connection)是一个相当消耗资源(power和带宽)的过程。特别是当没有数据传输的时候,所消耗的资源完全被浪费了。因而,对很多蓝牙设备来说(特别是功耗敏感的设备),希望在无数可传的时候,能够断开连接。但是,由于跳频(hopping)以及物理通道(Physical Channel)划分的缘故,经典蓝牙连接建立的速度实在难以忍受(要好几秒)。对那些突发的数据传输来说,几秒钟的连接延迟,简直是灾难。因此,蓝牙SIG制订BLE规范的时候,充分考虑转载 2021-01-08 15:25:48 · 753 阅读 · 1 评论 -
Ellisys Bluetooth Sniffer文档 (EEN-BT02) - Bluetooth分析教程
Ellisys Bluetooth分析教程介绍本文将提供有关Ellisys蓝牙分析软件的快速演练。样本捕获评估Ellisys蓝牙分析软件的最简单方法是查看随安装提供的预捕获文件。可以从 “文件” 菜单 > “加载样本” 加载这些样本捕获。我们将从HfpSco.btt示例开始,该示例包含耳机和手机之间的流量。Ellisys协议概述Ellisys概述是该软件的核心视图。这些视图将显示捕获的流量在协议层中的分组,直到最高层。每种媒介(经典蓝牙BR/EDR,低能耗和HCI)..转载 2021-01-08 14:33:54 · 1636 阅读 · 0 评论 -
蓝牙BLE OTA升级
5. Bluetooth LE OTA UpdateIn this section, we are going to introduce the current BLE OTA Update method also propose a new implementation here to optimize the OTA Update procedure.BLE OTA Update procedure consists of two parts, OTA Client and OTA server转载 2021-01-07 20:37:37 · 1326 阅读 · 2 评论 -
关于蓝牙开发必须知道的概念及开发中的常见的问题
蓝牙技术凭借其普遍性与简洁性改变了设备之间的无线通信。由于其功耗与成本较低,在健康医疗、体育健身、家庭楼宇自动化、信标等应用领域的发展过程中发挥着至关重要的作用。蓝牙给我们带来很多方便,不过对于一些新手,在进行蓝牙开发之前,有必要对其相关的知识有详细的了解,这里主要介绍一些蓝牙应用开发的知识点和开发流程。一、蓝牙开发必须知道的概念1.central和peripheral蓝牙在应用开发过程中,有两种角色,分别是central和peripheral,中文就是中心和外设。比如手机去连接智能设备转载 2021-01-07 20:32:00 · 590 阅读 · 0 评论 -
如何测试蓝牙设备的延时
蓝牙设备的延时准确测量很复杂,但是这里有个小工具,自己动手就可以做,数据一出胜过嘴炮。1.首先去下载安装superpowered latencyios,安卓版的都有。Test iOS and Android Audio Latency with Superpowered Latency Test Appsuperpowered.com2.断开蓝牙设备,先测试自己手机系统的声音处理延时。点蓝色按钮就好。比如我的老一加升级到9以后稍微丢人。不过貌似比某大厂还是好点3.连转载 2020-12-14 12:38:45 · 9971 阅读 · 0 评论 -
蓝牙速率详细分析和提升方式【附IOS,安卓速率测试报告】
还在困惑BLE低功耗蓝牙数据传输率有多快?这并非是一个人的问题,即使谷歌百度搜索会出现很多不完整的答案。每个操作系统和设备都有自己的限制,例如连接间隔和每个间隔的数据包数量。另外,你是否知道使用iOS,可以每一个连接间隔可以发送4个数据包,而且HID设备的可以在一个连接间隔发送10个数据把,从而把速率提高2.6倍?如果你想了解清楚你可以通过BLE与iPhone,Android设备或Mac通信多快,下面的内容讲会一一解析你的疑问。误区蓝牙PHY 标称数据传送率是1M/bp...转载 2020-12-14 12:30:35 · 5442 阅读 · 4 评论 -
BLE(低功耗蓝牙)中ATT协议简介
BLE ATT(Attribute Protocol)BLE属性协议,它是处于L2CAP协议层与GATT之间的一层属性操作协议。ATT协议在BLE协议框架在了解ATT前有必要先了解GATT,GATT(Generic Attribute Profile),通用属性协议,在GATT之上即是我们的应用程序,通过GATT统一属性格式和属性访问接口,对于APP开发来讲操作对象就变成了对一个个定义的属性进行读写。BLE协议数据交换框架对于GATT本身,可以简单的理解为一种...转载 2020-11-28 16:57:15 · 3456 阅读 · 2 评论 -
蓝牙学习笔记之SMP协议(十四)
目录写在前面SM规范简述安全管理器加密工具配对流程安全属性IO功能加密密钥大小配对算法低功耗蓝牙安全密钥和值的定义分发密钥的生成密钥分配安全管理器会话协议介绍命令格式写在前面安全规范协议,主要是描述LE控制器设备配对、认证、加密等过程进行规定,同时也对相关算法进行了说明。低功耗蓝牙的安全管理经历了几个阶段,LE传统配对方式和安全连接。这篇协议基本上是参考蓝牙核心协v5.0议进行的翻译,并且只选取了我认为重要的部分,如果需要深入详转载 2020-11-28 16:49:12 · 3886 阅读 · 0 评论 -
GATT服务搜索流程(一)
GATT的规范阅读起来还是比较简答, 但是这样的规范在代码上是如何实现的呢?下面就分析一下bluedroid 协议栈关于GATT的代码流程。BLE的设备都是在SMP之后进行ATT的流程的交互。从代码的实现中发现也是在SMP结束之后做回调的执行过程中进行GATT的搜索流程,SMP结束之后的回调函数是bta_dm_ble_smp_cback/******************************************************************************.转载 2020-11-28 16:44:13 · 1161 阅读 · 0 评论 -
Android Bluetooth HCI log 详解
0. 引子对于蓝牙开发者来说,通过HCI log可以帮助我们更好地分析问题,理解蓝牙协议,就好像网络开发一定要会使用Wireshark分析网络协议一样。本篇主要介绍HCI log的作用、如何抓取一份HCI log,并结合一个实际的例子来说明如何分析HCI log。1. HCI log 介绍1.1 HCI log 作用HCI log是用来分析蓝牙设备之间的交互行为是否符合预期,是否符合蓝牙规范。在日常的开发中,通常使用HCI log来做这样几件事: 分析Bug:蓝牙打开后搜索不到设备转载 2020-10-22 20:24:00 · 5385 阅读 · 6 评论 -
不同手机的HCI log的保存差异
阅读目录必要操作 华为G9 Plus 三星 S7e 测试总结回到顶部必要操作找到“设置”--“开发者选项”,打开“启用蓝牙HCI信息收集日志”选项:回到顶部华为G9 Plus打开cmd窗口,输入:adb pull /data/log/bt稍等片刻,日志就可以抓取出来了,抓取出来的btsnoop log保存在当前用户的文件夹中(我的保存在C:\Users\nisha_chen\bt目录下):然后把后缀名改成cfa,也可以不改,...转载 2020-10-22 20:19:49 · 2093 阅读 · 2 评论 -
vivo手机里的log是什么意思?
vivo手机log是记录了系统和软件运行情况的日志文件,可用来分析使用手机过程中遇到的一些问题。log意即日志,通常是系统或者某些软件对已完成的某种处理的记录,以便将来作为参考,它并没有固定的格式,通常是文本文件,可以用记事本打开以查看内容,当然很可能是其它格式,直接打开就是乱码。大部分的log可以从文件名看出它的作用,比如uninstall.log或是error.log,当然前者通常是软件安装过程中生成的记录,以便将来卸载的时候可以提供给卸载程序使用,后者通常是用来记录一些软件运行中的错误信息等等。转载 2020-10-22 20:14:04 · 5675 阅读 · 0 评论 -
BLE(3)—— 空口数据包组成
基于 BLE 5.1 协议 Core Spec。BLE 在空中进行数据传送,在 Spec 中称之为 Air Interface packets,俗称空口包。既然是数据包,就一定要遵循一定的数据格式,本章来分析空口数据包的最基本的组成格式。早在 BLE 4.2 的时代,仅仅支持 1M 的 symbol rate,随着蓝牙标准的发展,BLE 5.0 不仅仅支持了 1M PHY,同时引入了 2M PHY 和 Coded PHY(500kbps 和 125kbps)。这里分两组:Uncoded PHY:转载 2020-10-20 10:38:02 · 1263 阅读 · 0 评论 -
BLE(2)—— 基本特性(状态、角色、地址、信道)
基于 BLE 5.1 协议 Core Spec。1、状态机根据 《BLUETOOTH CORE SPECIFICATION Version 5.1 | Vol 6, Part B》叙述,BLE 设备状态机包含下列状态:• Standby State--------------------等待业务状态• Advertising State-----------------广播状态• Scanning State--------------------扫描状态• Initiating Sta转载 2020-10-20 10:32:10 · 942 阅读 · 0 评论 -
ble- ATT profile详解
从数据格式了解ATTOpcode总体分为6种大类型的Opcoderequest / responseindicate / confirmcommandnotify所有的ATT数据,都是属于这6种类型的子类 request 和command从client 端发起,区别是request 必须要有response ,而command 不需要,单向 indicate和notify从server 端发起,区别是indicate必须要有confirm 返回,而notify不需要,单向 op转载 2020-10-12 16:54:52 · 1395 阅读 · 0 评论 -
蓝牙连接参数说明
一、简介本文主要讲解蓝牙连接参数说明。二、实验平台协议栈版本:BLE-CC254x-1.4.0编译软件:IAR 8.20.2硬件平台:Smart RF(主芯片CC2541)三、版权声明博主:si_zhou_qun_84342712声明:喝水不忘挖井人,转载请注明出处。原文地址:http://write.blog.csdn.NET/postedit联系方式:495527583@qq.com开源四轴群:84342712开源四轴(淘宝店):...转载 2020-10-12 16:47:42 · 2851 阅读 · 0 评论 -
BLE GATT 介绍
GATT(Generic Attribute Profile),描述了一种使用ATT的服务框架该框架定义了服务(Server)和服务属性(characteristic)的过程(Procedure)及格式Procedure定义了characteristic的发现、读、写、通知(Notifing)、指示(Indicating)及配置characteristic的广播GATT可以被Application或其他Profile使用其协议栈如下图--------------- -------...转载 2020-10-12 16:37:37 · 649 阅读 · 0 评论 -
Android blueZ HCI(二):hcitool hcidump常用方法
关键词:hciconfig hcitoolhcidump作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢!)欢迎指正错误,共同学习、共同进步!!Android blueZ HCI(一):hciconfig实现及常用方法Android blueZ hci(二):hcitool hcidump常用方法一、Hcitool1、这部分代码和hciconfig命令比较相似,不做详细分析命令对应执行函数、解释数据表:比如:hci scan命令,对应执行cmd_scan函数Idh.code\..转载 2020-10-12 11:52:02 · 1126 阅读 · 0 评论 -
Android BlueDroid(二):BlueDroid蓝牙开启过程init
关键词:bluedroid initNativeenableNative BTIF_TASK BTU_TASKbt_hc_work_thread set_power preload GKI作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢!)欢迎指正错误,共同学习、共同进步!!一、蓝牙开启流程概述,如下图所示:init、enable和一般的函数调用相同,android上层通过APP-->Native-->JNI-->bluetoo...转载 2020-10-12 11:50:21 · 1050 阅读 · 0 评论 -
蓝牙核心技术概述(四):蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)
关键词:蓝牙核心技术协议 HCI L2CAP SDP RFCOMM作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢!)欢迎指正错误,共同学习、共同进步!!下载链接:Bluetooth PROFILE SPECIFICATIONS(基本涵盖所有蓝牙协议)、buletooth core 2.1-4.0 SPECIFICATION(三蓝牙版本的核心协议v2.1\v3.0\v4.0)、蓝牙核心技术与应用 马建仓 版(蓝牙协议相关初学者必读,开发者参考)蓝牙核心技术概述(一):蓝牙...转载 2020-10-12 11:42:19 · 1101 阅读 · 1 评论