企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
&emsp;&emsp;打开 libwifi.h 文件,该文件是基于 atcmd 实现的对我司的wifi模组进行适配,提供 MQTT 的连接,自动重连,配置,订阅,退订,发布等功能的集成(注:wifi连接通过APP完成),接口列表及说明如下: * 初始化 libwifi: ``` int libwifi_init(void); ``` * 反初始化 libwifi: ``` void libwifi_deinit(void); ``` * 复位 wifi 模组: ``` int libwifi_reset(void); ``` * 获取 MQTT 状态: ``` int libwifi_get_mqtt_status(void); ``` * 设置 MQTT 连接的 URL: ``` int libwifi_set_mqtt_url(const char *url); ``` * 设置 MQTT Client Id: ``` int libwifi_set_mqtt_client_id(const char *client_id); ``` * 设置 MQTT 用户名: ``` int libwifi_set_mqtt_username(const char *username); ``` * 设置 MQTT 密码: ``` int libwifi_set_mqtt_password(const char *password); ``` * 设置命令响应回调函数: ``` void libwifi_on_responsed_callback(void (*on_responsed)(uint8_t cmd, uint8_t code)); ``` * 设置 WiFi 成功连接回调函数: ``` void libwifi_on_ip_ready_callback(void (*on_ip_ready)(void)); ``` * 设置 MQTT 连接成功回调函数: ``` void libwifi_on_mqtt_connected_callback(void (*on_mqtt_connected)(void)); ``` * 设置 MQTT 断开连接回调函数: ``` void libwifi_on_mqtt_disconnected_callback(void (*on_mqtt_disconnected)(void)); ``` * 设置 MQTT 自动重连回调函数: ``` void libwifi_on_mqtt_reconnecting_callback(void (*on_mqtt_reconnecting)(void)); ``` * 设置 MQTT 订阅成功回调函数: ``` void libwifi_on_mqtt_subscribed_callback(void (*on_mqtt_subscribed)(uint16_t msgid)); ``` * 设置 MQTT 退订成功回调函数: ``` void libwifi_on_mqtt_unsubscribed_callback(void (*on_mqtt_unsubscribed)(uint16_t msgid)); ``` * 设置 MQTT 数据发布成功回调函数: ``` void libwifi_on_mqtt_published_callback(void (*on_mqtt_published)(uint16_t msgid)); ``` * 设置 MQTT 接收到数据的回调函数: ``` void libwifi_on_mqtt_message_callback(void (*on_mqtt_message)(const char *topic, const uint8_t *payload, uint16_t len)); ``` * 创建 MQTT,配置完成后进行创建: ``` int libwifi_mqtt_establish(void); ``` * 订阅 MQTT 主题: ``` int libwifi_mqtt_subscribe(const char *topic); ``` * 退订 MQTT 主题: ``` int libwifi_mqtt_unsubscribe(const char *topic); ``` * 设置发送数据的 MQTT 主题(不修改时仅需设置一次即可): ``` int libwifi_mqtt_set_topic_to_publish(const char *topic); ``` * 发布 MQTT 消息: ``` int libwifi_mqtt_publish(const uint8_t *data, uint16_t len); ``` <br/>