当前位置: 首页 > news >正文

蓝牙通信架构(Bluetooth/BLE)

蓝牙通信架构(Bluetooth/BLE)

  • 1. 基本原理与协议
  • 2. 设备识别与配对
  • 3. 主要类结构与分工
    • A. CommsMCU
    • B. ExoBLE
    • C. BleParser
    • D. ble_commands.h
  • 4. 消息收发流程
  • 5. 协议与消息安全性
  • 6. 定时与带宽设置
  • 7. 扩展新命令/新数据类型的方法
  • 架构优点总结

1. 基本原理与协议

  • 通信方式:采用 BLE(Bluetooth Low Energy),主要与 PC/手机 GUI 实时通信,用于实验调参、数据可视化、在线控制等。

  • 协议实现:基于Nordic UART Service (NUS),将 BLE 通信封装为类串口(UART),极易对接 Python/PyQt/手机APP等主流平台。

2. 设备识别与配对

  • 设备名需以 EXOBLE_ 开头,并广播 NUS 服务,GUI 扫描到该前缀即尝试连接。

  • 连接后,实验开始时设备会自动开始上传 ExoData 结构的“简化版本”——只包含关键运行数据/参数。

3. 主要类结构与分工

A. CommsMCU

  • 通信固件的最高层类,管理蓝牙和(可选)电池对象。

  • 负责蓝牙初始化、连接维护、数据调度等。

  • 可以集成电池电量采样,但目前出于成本考虑未与APP直接集成(可手动查电量)。

B. ExoBLE

  • 处理所有具体BLE工作:协议栈初始化、广播、连接、数据收发等。

  • 封装底层BLE事件,使上层操作如“收数据、发命令”高度简化。

C. BleParser

  • 负责将 BLE 数据包序列化、反序列化(打包/解包)。

  • 协议采用“命令-数据对”结构,方便兼容多种命令、参数、结果。

  • <
http://www.dtcms.com/a/292840.html

相关文章:

  • Windows系统暂停更新工具
  • 每日面试题12:JVM垃圾回收机制
  • 分布式数据库中间件ShardingSphere
  • Unity UI的未来之路:从UGUI到UI Toolkit的架构演进与特性剖析(1)
  • Java学习-----Bean
  • Datawhale AI 夏令营-心理健康Agent开发学习-Task1
  • 猎板 PCB:多场景适配下印制线路板的材料选择优化策略
  • 朴素贝叶斯算法原理与案例解析
  • linux: tar解压之后属主和属组不是当前用户问题
  • 2025人形机器人动捕技术研讨会即将于7月31日盛大开启
  • 阿里巴巴视觉算法面试30问全景精解
  • 知识库搭建之Meilisearch‘s 搜索引擎-创建搜索引擎项目 测评-东方仙盟测评师
  • 数据降噪/生物信号强化/缓解 dropout,深度学习模型 SUICA 实现空间转录组切片中任一位置基因表达的预测
  • [LLM]Synthetic Visual Genome
  • GNU到底是什么,与Unix和Linux是什么关系
  • 链表经典算法题
  • web复习
  • 网络原理 HTTP 和 HTTPS
  • kafka查看消息的具体内容 kafka-dump-log.sh
  • Python笔记完整版
  • 扇形区域拉普拉斯方程傅里叶解法2
  • 一款功能全面的文体场所预约小程序
  • Grails(Groovy)框架抛出NoHandlerFoundException而不是返回404 Not Found
  • 【多线程篇21】:深入浅出理解Java死锁
  • 《Uniapp-Vue 3-TS 实战开发》自定义预约时间段组件
  • 7.22总结mstp,vrrp
  • WebSocket心跳机制实现要点
  • 京东AI投资版图扩张:具身智能与GPU服务器重构科研新范式
  • 小鹏汽车视觉算法面试30问全景精解
  • 学习游戏制作记录(战斗系统简述以及击中效果)7.22