更新时间:2024-11-20 08:51:22下载pdf
应用代码开发调试过程中,通常需要结合打印日志定位问题原因。本文对涂鸦本地日志进行说明,便于快速理解 SDK 运行时产生的各种日志信息。
涂鸦蓝牙 SDK 的日志类型有以下几种分类:
您可以通过设置日志的等级来决定哪些日志信息输出,例如设置日志输出等级为 TUYA_BLE_LOG_LEVEL_ERROR
,则 WARNING
、INFO
、DEBUG
打印信息不会显示。
请检查 config 文件内,是否开启日志打印的相关宏定义配置。
请检查 Port 文件内,是否移植好打印函数。
涂鸦蓝牙 SDK 函数中,加入运行状态的监控日志。在开发调试阶段,这些日志能清晰的表明当前 SDK 的运行情况,便于测试确认问题。本文以 nRF528432
芯片平台,JLinkRTTViewer
打印为例。对 SDK 运行时打印的主要的日志进行说明,其他芯片平台可参考此文档。
将固件烧录到芯片内,芯片上电后, tuya_ble_sdk_init 被正确运行,会打印相关初始信息。您可根据这里的日志信息判断涂鸦蓝牙 SDK 是否正常启动,以及是否写入了正确的 license 信息。若没有没有对应的日志,请重新检查相关移植步骤。
tuya_ble_status_t tuya_ble_sdk_init(tuya_ble_device_param_t * param_data)
{
....
TUYA_BLE_LOG_HEXDUMP_INFO("auth settings mac", tuya_ble_current_para.auth_settings.mac, MAC_LEN); //打印 mac
TUYA_BLE_LOG_HEXDUMP_INFO("product_id", tuya_ble_current_para.pid, tuya_ble_current_para.pid_len); //打印 product_id
TUYA_BLE_LOG_HEXDUMP_DEBUG("device_uuid", tuya_ble_current_para.auth_settings.device_id, DEVICE_ID_LEN); //打印 device_uuid
TUYA_BLE_LOG_HEXDUMP_DEBUG("device_authkey", tuya_ble_current_para.auth_settings.auth_key, AUTH_KEY_LEN); //device_authkey
TUYA_BLE_LOG_INFO("bond_flag = %d", tuya_ble_current_para.sys_settings.bound_flag); //打印绑定标志位
TUYA_BLE_LOG_INFO("tuya ble sdk version : "TUYA_BLE_SDK_VERSION_STR); //打印所使用蓝牙SDK版本
return TUYA_BLE_SUCCE
}
bond_flag=0,表示蓝牙设备处于未配网状态。
打开涂鸦 App,搜索设备完成 App 配网绑定,设备打印日志如下。
bond_flag=1,表示蓝牙设备已绑定。
设备上报 DP 数据。设备打印日志如下。
0x8006 指令为上报指令。 您也可以在 tuya_ble_dp_data_send() 函数内补充其他日志打印代码。
当点击面板,下发 DP 数据给 SDK,SDK解析数据,并将解析好的数据以事件返回设备应用程序。设备打印日志如下。
如图所示,接收到 dp_id=27, dp_type=enum,dp_data=0。
当设备与手机 App 蓝牙断开。设备打印日志如下。
使用手机 App 移除设备,解除用户绑定关系。设备打印日志如下。
其他日志信息,请阅读蓝牙 SDK 源码。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈