mqtt应用学习
一 网络连接状态:
如果是无线(如esp32的WIFI_AT)初始化网络成功连接后Connect_Status=1,然后在mqtt开始前进行超时判断while(Connect_Status==0){deley(2s)}
二 以umqtt为例:
2.0配置mqtt_client参数进行连接

1 int umqtt_ex_start(void) 2 { 3 LOG_D(" umqtt example start!"); 4 struct umqtt_info umqtt_info = { 0 }; 5 umqtt_info.uri = MQTT_URI; 6 umqtt_info.client_id="RTU00002"; 7 umqtt_info.reconnect_interval=2; 8 9 m_umqtt_client = umqtt_create(&umqtt_info);/*用umqtt_info配置mqtt连接客户端参数*/ 10 if (m_umqtt_client == RT_NULL) 11 { 12 LOG_E(" umqtt client create failed!"); 13 return -1; 14 } 15 umqtt_control(m_umqtt_client, UMQTT_CMD_EVT_CB, user_callback); 16 17 if (umqtt_start(m_umqtt_client) >= 0) 18 { 19 LOG_I(" umqtt start success!"); 20 is_started = 1; 21 return 0; 22 } 23 else 24 { 25 m_umqtt_client = RT_NULL; 26 LOG_E(" umqtt start failed!"); 27 is_started = 0; 28 return -1; 29 } 30 }
2.1周期发布

1 static void app_mqtt_thread_entry(void *parameter) 2 { 3 while(connected==0) 4 { 5 rt_thread_mdelay(3000); 6 } 7 umqtt_ex_start(); 8 while(1) 9 { 10 umqtt_ex_publish();/*周期发布*/ 11 rt_thread_mdelay(1000); 12 } 13 }
2.2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2019-09-16 MAVLINK协议