打開 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/>
- 框架介紹
- Main 函數
- HAL 函數接口說明
- hal_system.h
- hal_systick.h
- hal_idt.h
- hal_ioctl.h
- hal_flash.h
- hal_lpm.h
- hal_rtc.h
- hal_iwdg.h
- hal_uart.h
- hal_i2c.h
- hal_led.h
- hal_button.h
- hal_vht2x.h
- hal_lcd.h
- Services 函數接口說明
- svc_system.h
- svc_database.h
- svc_hid.h
- svc_msg.h
- svc_humiture.h
- svc_log.h
- Tasks 說明
- task_system.c
- task_example.c
- Libs 函數接口說明
- mathlib.h
- json.h
- atcmd.h
- atcmd_proxy.h
- libwifi.h
- libs1.h