CC2340-拉距测试方法

蓝牙 BLE设备、蓝牙 MESH设备、蓝牙 Beacon设备、Sub-G设备等


Post Reply
User avatar
逻辑的院子
Posts: 336
Contact:

拉距测试的演示例程

Bluetooth LE Long Range 技术是蓝牙技术联盟(Bluetooth SIG)在蓝牙5.0标准中引入的关键增强特性,旨在解决传统低功耗蓝牙(BLE)在远距离通信中的局限性。其核心技术革新在于采用了LE Coded PHY(编码物理层),通过前向纠错(FEC)和符号冗余(S=2/S=8编码方案)显著提升链路预算,可实现1公里以上的可靠通信距离(空旷环境)。

更多信息请参考:涂鸦成功突破千米级蓝牙低功耗长距离技术!超强兼容Long Range+传统模式(含演示视频)

拉距测试的基本逻辑

拉距测试采用最基本的蓝牙数据收发,不包含涂鸦配网和DP通信相关的逻辑。

拉距测试的基本逻辑为:首先,主机连接上从机,主机和从机都有相应的LED指示连接状态;然后,主机定时(200ms)向从机发送数据,从机收到数据后翻转LED电平,同时回复主机相同的数据,主机收到响应后翻转LED电平;此时开发者可以手持两个设备逐渐远离,不断观察LED状态来判定通信是否正常。

拉距测试用的固件:

  • 主机固件

    • 适用于 TI-CC2340 官方开发板。
    • 上电后会主动连接Mac地址为 0xDC234DAFCC96 的从机设备并每间隔200ms发送2字节数据。
  • 从机固件

    • 适用于 TI-CC2340 官方开发板,其他开发板请参考下文内容。

烧录方式请参考:BLE-CC2340

自定义从机固件

从机固件除了使用上面已经生成好的固件以外,还可以基于 TuyaOS BLE SDK 自己生成(获取 SDK 的方法)。

开启拉距测试功能的方法是开启 tal_sdk_callback.h 文件中的:

Code: Select all

#define TUYA_DP_TEST 1
#define TUYA_DISTANCE_TEST 1

对于不同的硬件类型,Demo中已经进行了兼容,可以通过修改以下宏来适配(您手中大概率是TI的开发板,请修改值为 DP_TEST_BOARD_TI):

Code: Select all

#define DP_TEST_BOARD_TI                          0 // TI 的开发板(红色的板子)
#define DP_TEST_BOARD_TUYA_V1                     1 // 涂鸦的开发板 V1(当前阶段用的是这个,所以默认值是这个)
#define DP_TEST_BOARD_TUYA_V2                     2 // 涂鸦的开发板 V2
#define DP_TEST_BOARD_TYPE                        DP_TEST_BOARD_TUYA_V1

开启 app_config.h 文件中的调试模式(目的是固定设备的Mac地址为0xDC234DAFCC96):

Code: Select all

#define TUYA_SDK_DEBUG_MODE 1

由于拉距测试不需要涂鸦配网逻辑,所以可以注释掉连接监控机制,防止30s后断开连接,位于 tuya_ble_main.c 中的 tuya_ble_vtimer_conncet_monitor_callback 接口中:

Code: Select all

// tuya_ble_gap_disconnect();

编译完成后烧录固件即可,烧录方式请参考:BLE-CC2340

Post Reply