}
}
+static int ln_mqtt_internal_credentials_cb(void *arg, mqtt_credentials_t *cred)
+{
+ (void)arg;
+ (void)cred;
+
+ if (uapi_mqtt_load_credentials(cred) != 0) {
+ MQTT_ERROR("Failed to load credentials\n");
+
+ if(ln_ota_send_device_info_json(NULL, cred) != 0) {
+ printf("[LN_MQTT_API] Failed to send device info\n");
+ return -1;
+ }
+ else
+ {
+ printf("[LN_MQTT_API] Device info sent successfully\n");
+ }
+ }
+
+
+ printf("[LN_MQTT_API] Credentials callback\n");
+ printf("[LN_MQTT_API] Credentials: %s\n", cred->endpoint);
+ printf("[LN_MQTT_API] Credentials: %s\n", cred->client_id);
+ printf("[LN_MQTT_API] Credentials: %s\n", cred->username);
+ printf("[LN_MQTT_API] Credentials: %s\n", cred->password);
+ printf("[LN_MQTT_API] Credentials: %s\n", cred->publish_topic);
+ printf("[LN_MQTT_API] Credentials: %s\n", cred->subscribe_topic);
+ return 0;
+}
+
/**
* @brief MQTT订阅结果回调(内部回调,供服务模式使用)
*/
callbacks.connect_callback = ln_mqtt_internal_connect_cb;
callbacks.message_callback = ln_mqtt_internal_message_cb;
callbacks.subscribe_callback = ln_mqtt_internal_subscribe_cb;
+ callbacks.credentials_callback = ln_mqtt_internal_credentials_cb;
callbacks.user_arg = NULL;
callbacks.main_thread_interval_ms = 1000; // 默认1000ms
+
// 启动MQTT主线程(会自动初始化、连接和管理消息队列)
int ret = uapi_mqtt_main_start(&callbacks);
if (ret != 0) {