/****************************************************************************** * @file drv_qfc41d.h * @brief drv_qfc41d.h * @version V1.0 * @author Gary * @copyright ******************************************************************************/ #ifndef DRV_QFC41D_H_ #define DRV_QFC41D_H_ #include #include #include #include #include "drv_uart.h" #include "kit_macro.h" #include "ucos_ii.h" #include "gpio_manager.h" #include "kit_time.h" #include "kit_debug.h" #define QFC41D_UART_PORT kUartDev_2 #define QFC41D_MAX_SEND_SIZE 2048 #define QFC41D_MAX_RECV_SIZE 200 #define WIFI_TIMEOUT 100 #define QFC41D_RESTART_CMD "AT+QRST" #define QFC41D_PING_CMD "AT+QPING=" #define QFC41D_LOW_POWER_MODE "AT+QLOWPOWER" #define QFC41D_GET_MACK_ADDR "AT+QWLMAC" #define QFC41D_GET_WIFISTA_STATUS "AT+QSTAST" #define QFC41D_SET_DHCP_ENABLE "AT+QSTADHCPDEF=1" //该命令用于设置串口波特率:AT+QSETBAND=[,] 整型,串口波特率。省略该参数则保存波特率。0:不保存波特率 1:保存波特率 #define QFC41D_SET_BATE "AT+QSETBAND=115200,1" /* 下面命令用于模块作为外围设备时发送 GATT 数据 * AT+QBLEGATTSNTFY=[,], * 字符串类型(无双引号)。特征值的 UUID 。长度:2 字节或者 16 字节。 * 整型。十六进制数据长度。使用该参数时,模块会将转换为十六进制再进行 发送。例如,若为 123456,模块会将该数据转换为 0x123456 进行发送。 * 字符串类型(无双引号)。GATT 数据。 */ #define QFC41D_BLE_INIT "AT+QBLEINIT=2" typedef void (*FC41DSendCall)(UartDev dev, uint8_t *buf, uint16_t len); typedef struct { uint8_t dev; uint16_t buf_pos; uint16_t buf_size; uint8_t *buf; FC41DSendCall sendCall; }WifiBleItem; uint8_t drv_qfc41d_init(void); // MQTT 初始化 uint8_t drv_mqtt_init(); // 发布 MQTT 消息 uint8_t drv_mqtt_publish(char* str,uint16_t length); #endif //DRV_QFC41D_H_