BB0906蓝牙模块通信协议详解

5星 · 超过95%的资源 需积分: 36 8 下载量 115 浏览量 更新于2024-07-18 收藏 2.26MB PDF 举报
"本文档详细介绍了BB0906蓝牙模块的通信协议,该模块支持BLE(Bluetooth Low Energy)协议,适用于安卓设备上的bm77设备。文档包含了多个指令的详细说明,涵盖从基本的模块配置到高级功能的设置,如蓝牙工作状态查询、信号强度获取、设备命名和GPIO控制等。" BB0906蓝牙模块是一种采用BLE协议的通信模块,主要服务于Android系统中的bm77设备,提供低功耗的数据传输。模块通过一系列特定的指令进行配置和控制,这些指令包括: 1. CMD_TEST (0x00): 设备通信测试指令,用于验证模块与主机之间的通信是否正常。 2. CMD_VERSION (0x01): 获取软件版本,用于了解模块当前运行的固件版本。 3. CMD_RESET (0x02): 模块复位,将模块恢复到初始状态。 4. CMD_ORGL (0x03): 恢复出厂设置,清除所有个性化配置。 5. CMD_STATE (0x0B): 获取蓝牙工作状态,可以查看模块当前的连接和配对状态。 6. CMD_DISCOVERABLE (0x0D): 可发现状态控制,用于开启或关闭模块的被发现性。 7. CMD_READADDR (0x14): 读取蓝牙模块的地址,获取模块的BLE地址以便于识别和连接。 8. CMD_REENDISCOVERABLE (0x16): 控制断开后是否自动进入可发现或广播状态,有助于设备的快速重新连接。 9. CMD_LEADVPARAMS (0x17): 设置LE广播间隔时间,影响广播包的发送频率。 10. CMD_RSSI (0x18): 获取连接信号强度,评估无线连接的质量。 11. CMD_LECONPARAMS (0x19): 设置LE连接间隔时间,调整连接的延迟和功耗。 12. CMD_UARTBAUD (0x1A): 设置UART波特率,调整模块与主机之间串行通信的速度。 13. CMD_RENAME (0x1B): 修改设备名称,方便用户识别和区分不同的蓝牙设备。 14. CMD_MODBTADDR (0x1C): 修改模组蓝牙地址,为特殊应用或测试场景提供灵活性。 15. CMD_POLL_TIME (0x21): 报告发送间隔时间,设定上行数据发送的频率。 16. CMD_MOD_IF_CHECKSUM (0x26): 控制是否使用checksum,确保数据传输的准确性。 17. CMD_IAP2_START (0x2A), CMD_IAP2_FILE (0x2C), CMD_IAP2_FINISH (0x2E): 这些是固件更新相关的指令,用于通过IAP2协议升级模块的固件。 18. CMD_SETUP_BEACON (0x33): 设置Beacon参数,使模块能够作为BLE Beacon设备工作。 19. CMD_SET_GPIO (0x34): 设置GPIO电平,控制模块的输入/输出状态。 20. CMD_ADV_DUAL (0x36): 设置是否让Android识别为双模模组,影响Android设备对模块的分类和连接方式。 21. CMD_TESTMODE (0x3E): 进入测试模式,便于进行模块功能的调试和性能测试。 这些指令提供了对BB0906蓝牙模块全面而深入的控制,开发者可以根据需要调整模块的行为,优化其在不同应用场景下的表现。通过理解并正确使用这些指令,可以实现高效、可靠的蓝牙通信方案。