蓝牙协议栈 电话免提协议HFP(Hands-Free)SDP介绍
零. 概述
主要介绍下蓝牙协议栈(bluetooth stack) 电话免提协议HFP(Hands-Free) SDP的介绍,包括HF/AG角色的SDP。
一. 声明
本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:
第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。
第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等
第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等
第四篇:传统蓝牙host介绍,主要介绍传统蓝牙的协议栈,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP等等一系列的协议吧。
第五篇:低功耗蓝牙controller介绍,主要介绍低功耗蓝牙芯片,包括物理层(PHY),链路层(LL)
第六篇:低功耗蓝牙host介绍,低功耗蓝牙协议栈的介绍,包括HCI,L2CAP,ATT,GATT,SM等
第七篇:蓝牙芯片介绍,主要介绍一些蓝牙芯片的初始化流程,基于HCI vendor command的扩展
第八篇:附录,主要介绍以上常用名词的介绍以及一些特殊流程的介绍等。
另外,开发板如下所示,对于想学习蓝牙协议栈的最好人手一套。以便更好的学习蓝牙协议栈,相信我,学完这一套视频你将拥有修改任何协议栈的能力(比如Linux下的bluez,Android下的bluedroid)。
-------------------------------------------------------------------------------------------------------------------------
CSDN学院链接(进入选择你想要学习的课程):https://edu.csdn.net/lecturer/5352?spm=1002.2001.3001.4144
蓝牙交流扣扣群:970324688
Github代码:https://github.com/sj15712795029/bluetooth_stack
入手开发板:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22329603896.18.5aeb41f973iStr&id=622836061708
蓝牙学习目录:https://blog.csdn.net/XiaoXiaoPengBo/article/details/107727900
--------------------------------------------------------------------------------------------------------------------------
二. HF的SDP
我们来看下代码中注册的HFP HF的SDP
static uint8_t hfp_hf_service_record[] =
{SDP_DES_SIZE8, 0xb,SDP_UINT16, BT_ATTRIBUTE_SERVICE_CLASS_ID_LIST>>8&0xff, BT_ATTRIBUTE_SERVICE_CLASS_ID_LIST&0xff, /* Service class ID list attribute */SDP_DES_SIZE8, 6,SDP_UUID16, BT_SERVICE_CLASS_HANDSFREE>>8&0xff, BT_SERVICE_CLASS_HANDSFREE&0xff,SDP_UUID16, BT_SERVICE_CLASS_GENERIC_AUDIO>>8&0xff, BT_SERVICE_CLASS_GENERIC_AUDIO&0xff,SDP_DES_SIZE8, 0x11,SDP_UINT16, BT_ATTRIBUTE_PROTOCOL_DESCRIPTOR_LIST>>8&0xff, BT_ATTRIBUTE_PROTOCOL_DESCRIPTOR_LIST&0xff,/* Protocol descriptor list attribute */SDP_DES_SIZE8, 0xc,SDP_DES_SIZE8, 0x3,SDP_UUID16, BT_PROTOCOL_L2CAP>>8&0xff, BT_PROTOCOL_L2CAP&0xff, /*L2CAP*/SDP_DES_SIZE8, 0x5,SDP_UUID16, BT_PROTOCOL_RFCOMM>>8&0xff, BT_PROTOCOL_RFCOMM&0xff, /*RFCOMM*/SDP_UINT8, RFCOMM_HFP_HF_CHNL, /*RFCOMM channel*/SDP_DES_SIZE8, 0xd,SDP_UINT16, BT_ATTRIBUTE_BLUETOOTH_PROFILE_DESCRIPTOR_LIST>>8&0xff, BT_ATTRIBUTE_BLUETOOTH_PROFILE_DESCRIPTOR_LIST&0xff, /* profile descriptor List */SDP_DES_SIZE8, 0x8,SDP_DES_SIZE8,0x06,SDP_UUID16,BT_SERVICE_CLASS_HANDSFREE>>8&0xff, BT_SERVICE_CLASS_HANDSFREE&0xff,SDP_UINT16,0x01,0x07, /* V1.7 */SDP_DES_SIZE8, 0x6,SDP_UINT16, BT_ATTRIBUTE_SUPPORTED_FEATURES>>8&0xff, BT_ATTRIBUTE_SUPPORTED_FEATURES&0xff, /* support feature */SDP_UINT16,0x00,0x27,};
另外,我们看下手机来问询我们SDP,我们回复的btsnoop封包
SDP的数据元已经在SDP中分析了,我们在这里不做重复讲解
三.AG的SDP
蓝牙协议栈 电话免提协议HFP(Hands-Free)SDP介绍相关推荐
- 蓝牙协议栈 电话免提协议HFP(Hands-Free)概念讲解
零. 概述 主要介绍下蓝牙协议栈(bluetooth stack) 电话免提协议HFP(Hands-Free) 协议概念介绍. 一. 声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下 ...
- 蓝牙协议栈 电话免提协议HFP(Hands-Free)关闭手机的回声消除EC(Echo canceling),噪音减弱NR(noise reduction)
零. 概述 主要介绍下蓝牙协议栈(bluetooth stack) 电话免提协议HFP(Hands-Free) 关闭手机的回声消除EC(Echo canceling),噪音减弱NR(noise red ...
- 蓝牙协议HFP(Hands-Free Profile)电话免提协议 Connection management 连接管理HFP SLC 的建立跟释放
零. 概述 本文章主要讲下电话免提协议HFP(Hands-Free Profile)Connection management.包括connection establishment 跟conn ...
- 蓝牙电话协议HFP(Hands-Free Profile) 传输手机状态信息(信号/漫游/电量/运行商/电话状态)
零. 概述 本文章主要讲下电话免提协议HFP(Hands-Free Profile)Phone status information.包括Signal Strength(信号强度),Roaming S ...
- 蓝牙电话协议HFP(Hands-Free Profile) 通过号码拨打电话/memory拨打电话(Memory Dialing)/尾号重播(Last Number Re-Dial) 功能介绍
零. 概述 本文章主要讲下电话免提协议HFP(Hands-Free Profile)通过号码拨打电话(Place a call with the phone number)/memory拨打电话(Me ...
- 蓝牙电话协议HFP(Hands-Free Profile) SCO建立/释放/在通话中Audio transfer
零. 概述 由于HFP feature小节太多,所以我们计划本章把相近的feature合并,本文章主要讲下电话免提协议HFP(Hands-Free Profile)Audio Connection h ...
- 蓝牙电话协议HFP(Hands-Free Profile) 接听来电/挂断来电(HFP Accept/Reject incoming call)
零. 概述 本文章主要讲下电话免提协议HFP(Hands-Free Profile)接听来电/挂断来电(HFP Accept/Reject incoming call)以及在挂断电话(Terminat ...
- 蓝牙电话协议HFP(Hands-Free Profile) 三方通话功能相关的流程介绍 Three-way call
零. 概述 本文章主要讲下电话免提协议HFP(Hands-Free Profile)Call waiting notification,Three-Way Call Handling,Response ...
- 蓝牙电话协议HFP(Hands-Free Profile) 获取本地号码/获取语音信箱号码/获取通话时号码(CLCC)
零. 概述 本文章主要讲下电话免提协议HFP(Hands-Free Profile)跟电话号码有关的feature,分别有Calling Line Identification (CLI) Notif ...
最新文章
- .net Remoting(2)——信道,MarshalByRefObject类
- [导入]注意!玩具也能成危险
- C语言:关键字volatile详解!
- Android-ffmpeg编译so文件
- PAT甲级1122 Hamiltonian Cycle:[C++题解] 图论、模拟
- 【学习笔记】有向无环图上的DP
- 一步步学习操作系统(1)——参照ucos,在STM32上实现一个简单的多任务(“啰里啰嗦版”)...
- 03.elasticsearch_index操作
- Spring中的AOP——在Advice方法中获取目标方法的参数(转)
- task_struct结构体查找
- LeetCode 1870. 准时到达的列车最小时速(二分查找)
- [zz]写在KVM (Kernel-based Virtual Machine) 安装成功后
- std::map的[]方法重写
- linux 自带多路径工具,RHEL6使用系统自带多路径软件配置多路径
- js基础---字符串方法
- 30岁的程序员:不拼体力的我们应该关注什么?
- 微信小程序地图导航实例讲解
- LZMA解压缩编码算法的使用
- 系统自带的微软拼音输入法,在输入字母和数字的时候,间隔变大,输入中文没事的 问题。
- Reentrantlock和背后金主AQS —————— 开开开山怪
热门文章
- 手机android id修改密码,手机锁屏密码忘了?一个方法搞定
- 中国运动控制器市场深度调查及战略研究报告(2022版)
- 在线软件服务逼近井喷 风投资本涌入Saas
- OpenCV3.2 Java图像处理视频学习教程-贾志刚-专题视频课程
- 安徽财经大学432统计学考研历年真题库资料
- 入营人数线性增长,录取人数保持稳定,复旦工研院有点抢手
- 苹果虚拟home键_三星、魅族、苹果线性马达对比,知道iPhone为什么这么厉害了吧!...
- 【软件工具】之黑客矩阵特效软件Cmatrix
- PTA 2021年秋-MOOC-编程练习
- 在*ttf文件中添加字体图标