• Bluez目录结构分析


    原文链接 https://note.youdao.com/s/YIU9BUit

    几点个人看法
    • bluez网上资料比较少,基本只能硬着头皮去看代码
    • 蓝牙的概念很多至今很多搞不明白
    • 官网的核心规范和Linux开发帮助算是最全的资料了
    • 根据自己的理解整理的源码的目录结构分析
    • dbus-glib的方案个人感觉通过C/C++去折腾,学习成本高,编译难度大。嵌入式开发麻烦(官方都是python的demo 很难受)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6YSMZlhC-1663402903591)(https://note.youdao.com/yws/res/19369/WEBRESOURCE58dae99b21639412c7f7bff72a67fc3b)]

    android目录
    • android系统下的代码(没用过)
    attrib目录

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fEtXjhgv-1663402903593)(https://note.youdao.com/yws/res/19374/WEBRESOURCE78ef2b380d713c0b617704454694051a)]

    • gatttool 工具的源码,连接断连 操作特征值
    • 依赖了Glib
    client目录
    • bluetoothctl工具的源码
    • 主要用来和bluetoothd 进行交互操作
    doc目录
    • bluez d-bus接口文档描述
    gdbus目录
    • glib 和d-bus的封装库
    • 采用dbus开发的建议使用他
    lib目录
    • 蓝牙的核心库
    • 直接剥离d-bus glib 可以从这里开始引入
    mesh
    • 蓝牙组网的库
    • bluetoothd 和bluetoothd-mesh二选一好像(没有用过)
    monitor目录
    • btmon工具的源码
    • 监控蓝牙的所有信息
    • 蓝牙调试神器

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Si6CUfhr-1663402903593)(https://note.youdao.com/yws/res/19398/WEBRESOURCEdaed69b5c6bab804542d071a28d03a14)]

    obexd gobex
    • 蓝牙数据交换协议(没有应用场景没折腾过)
    src
    • bluetoothd 守护进程的源码
    • dbus开发的源码主要和他进行通信
    tools
    • 这里的代码比较重要都是工具类的集合
    • 想要开发蓝牙功能大部分借鉴这里
    不使用glib dbus开发的话,想要开发周边设备可以借鉴btmgmt.c和btgatt-server.c

    不使用glib dbus开发中心设备,建议借鉴btmgmt.c和btgatt-client.c
    • 使用dbus和glib开发中心设备可以使用 https://github.com/labapart/gattlib
    • 这个库可以免于折腾dbus和glib这些东西

    附上我收集的资料 希望能有所帮助:
    蓝牙客户端 sever 端
    https://github.com/evanslai/bluez-gatt
    gatt gap att关系
    https://blog.csdn.net/zhuimeng_ruili/article/details/120524848
    经典蓝牙 ble bt的关系
    https://blog.csdn.net/qlexcel/article/details/116738423

    BLE广播通信相关技术分析
    https://blog.csdn.net/m0_52447591/article/details/124329237

    bluetoothctl设置外设
    https://zhuanlan.zhihu.com/p/355840251
    Bluetooth ATT介绍
    https://www.cnblogs.com/hzl6255/p/4141505.html

    蓝牙之SSP过程分析
    https://notes.z-dd.net/2021/09/08/%E8%93%9D%E7%89%99%E4%B9%8BSSP%E8%BF%87%E7%A8%8B%E5%88%86%E6%9E%90/

    Linux之蓝牙相关代码浅析
    https://notes.z-dd.net/2021/09/06/Linux%E4%B9%8B%E8%93%9D%E7%89%99%E7%9B%B8%E5%85%B3%E4%BB%A3%E7%A0%81%E6%B5%85%E6%9E%90/

  • 相关阅读:
    【C++项目】高并发内存池第七讲性能分析
    C语言“牵手”拼多多商品详情数据方法,拼多多商品详情API接口,拼多多API申请指南
    【Redis】五大常见的数据类型之 List
    手机用Postern配置socks5全局代理详细教程
    el-table 多选回显,分页回显
    springboot-iconfont图标如何使用?
    机器学习几种常见凸函数的证明
    声学——声源定位阅读笔记
    CSP-J1 CSP-S1 第1轮 初赛 考前强化训练
    无线局域网——wlan
  • 原文地址:https://blog.csdn.net/gacmy/article/details/126907114