66 lines
2.8 KiB
C
66 lines
2.8 KiB
C
|
|
#ifndef NETWORK_H
|
|||
|
|
#define NETWORK_H
|
|||
|
|
|
|||
|
|
#include "main.h"
|
|||
|
|
#include <stdint.h>
|
|||
|
|
|
|||
|
|
/*===== <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>=====*/
|
|||
|
|
/* 4G <20><> WiFi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD>һʱ<D2BB><CAB1>ֻ<EFBFBD><D6BB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC>
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD>߹<EFBFBD><EFBFBD><EFBFBD> Rx_Buf/U2_CopyBuff<EFBFBD><EFBFBD><EFBFBD><EFBFBD> stm32f1xx_it.c <EFBFBD><EFBFBD> IDLE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
|
typedef enum {
|
|||
|
|
NET_BACKEND_4G = 0, /* Air780E, USART3, ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MQTT(AT+MPUB) */
|
|||
|
|
NET_BACKEND_WIFI /* ESP-01S, UART4, TCP<50><CDB8>+<2B><><EFBFBD><EFBFBD>MQTT */
|
|||
|
|
} net_backend_t;
|
|||
|
|
|
|||
|
|
/*===== <20><><EFBFBD><EFBFBD>״̬ =====*/
|
|||
|
|
extern volatile uint8_t g_net_mqtt_ready;
|
|||
|
|
extern volatile uint8_t g_net_first_publish_ok;
|
|||
|
|
extern volatile uint8_t g_no_sim_detected;
|
|||
|
|
extern volatile uint8_t g_no_signal_detected; /* 4G <20><><EFBFBD>źű<C5BA>־<EFBFBD><D6BE>air780e.c <20><> AT+CSQ <20><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> */
|
|||
|
|
|
|||
|
|
/*===== <20>ϴγɹ<CEB3><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>EEPROM <20>־û<D6BE><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>仯ʱдһ<D0B4>Σ<EFBFBD>=====*/
|
|||
|
|
#define NET_MODE_4G 0 /* 4G */
|
|||
|
|
#define NET_MODE_WIFI_FIXED 1 /* WiFi - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><CCB6><EFBFBD><EFBFBD>ȵ<EFBFBD> */
|
|||
|
|
#define NET_MODE_WIFI_SMART 2 /* WiFi - SmartConfig <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD> */
|
|||
|
|
uint8_t NET_GetLastMode(void); /* <20><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ʽ */
|
|||
|
|
void NET_SaveMode(uint8_t mode); /* <20><>ʽ<EFBFBD>仯ʱд EEPROM<4F><4D>δ<EFBFBD>仯<EFBFBD><E4BBAF><EFBFBD>ղ<EFBFBD><D5B2><EFBFBD> */
|
|||
|
|
|
|||
|
|
/* <20><><EFBFBD>緢<EFBFBD>ͻ<EFBFBD><CDBB>⣺<EFBFBD><E2A3BA>λ<EFBFBD>ڼ<EFBFBD> NET_publish_* ֱ<>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>OTA <20><><EFBFBD>ص<EFBFBD> AT <20><><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD>ʹ<EFBFBD>ã<EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD>ֹҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> AT ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> USART3 <EFBFBD>Ͻ<EFBFBD>֯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD> */
|
|||
|
|
extern volatile uint8_t g_net_tx_busy;
|
|||
|
|
|
|||
|
|
/*===== OLED <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>net <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>θ<D7B6><CEB8>£<EFBFBD>sys_task <20><>Ļ<EFBFBD><C4BB>ȡ<EFBFBD><C8A1>=====*/
|
|||
|
|
typedef enum {
|
|||
|
|
NET_UI_NONE = 0, /* <20><EFBFBD><DEBD><EFBFBD>/<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> */
|
|||
|
|
NET_UI_4G_RESET, /* 4G ģ<>鸴λ */
|
|||
|
|
NET_UI_4G_AT, /* AT ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8> */
|
|||
|
|
NET_UI_4G_SIM, /* SIM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
|
NET_UI_4G_ATTACH, /* <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD> */
|
|||
|
|
NET_UI_4G_MQTT, /* MQTT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
|
NET_UI_4G_NOSIM, /* <20><> SIM <20><> */
|
|||
|
|
NET_UI_WIFI_FIXED, /* WiFi <20>̶<EFBFBD><CCB6>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>countdown <20><>Ч<EFBFBD><D0A7> */
|
|||
|
|
NET_UI_WIFI_SMART, /* SmartConfig <20><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>countdown <20><>Ч<EFBFBD><D0A7> */
|
|||
|
|
} net_ui_phase_t;
|
|||
|
|
extern volatile net_ui_phase_t g_net_ui_phase;
|
|||
|
|
extern volatile int g_net_ui_countdown; /* WiFi <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
|
|
|||
|
|
/*===== API =====*/
|
|||
|
|
void NET_init(void);
|
|||
|
|
void NET_process(void);
|
|||
|
|
void NET_LockInit(void); /* <20><><EFBFBD><EFBFBD> AT <20>Ự<EFBFBD><E1BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>һ<EFBFBD>Σ<EFBFBD> */
|
|||
|
|
net_backend_t NET_GetActiveBackend(void);
|
|||
|
|
int NET_publish_props(const char *body); /* <20>ϱ<EFBFBD>һ<EFBFBD>鴫<EFBFBD><E9B4AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(body=JSON<4F>ֶ<EFBFBD>Ƭ<EFBFBD><C6AC>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0=<3D>ѷ<EFBFBD><D1B7><EFBFBD> */
|
|||
|
|
void NET_publish_response(const char *cmd_id, int ok, const char *msg);
|
|||
|
|
int NET_publish_power(int on);
|
|||
|
|
void NET_publish_version(const char *ver); /* <20>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>(FIRMWARE_VERSION_STR) */ /* <20><><EFBFBD><EFBFBD> 0=<3D>ѷ<EFBFBD><D1B7><EFBFBD><EFBFBD><EFBFBD>-1=ͨ<><CDA8>æ<EFBFBD><C3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
|
int NET_mqtt_report(const char *header, const char *ota_id, int val); /* <20><><EFBFBD><EFBFBD> 0=<3D>ʹ<EFBFBD> */
|
|||
|
|
int NET_ota_confirm(void); /* 0=ȷ<><C8B7>֪ͨ<CDA8><D6AA><EFBFBD>ʹ<EFBFBD> 1=<3D><EFBFBD><DEB9><EFBFBD> -1=δ<>ʹ<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) */
|
|||
|
|
|
|||
|
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣͳһ<CDB3>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>أ<DEB9><D8A3><EFBFBD>idȥ<64><C8A5> <20><> iot.ota<74><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD>ɼ<EFBFBD><EFBFBD>ն<EFBFBD>ƽ̨<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> OTA<EFBFBD><EFBFBD>
|
|||
|
|
* 4G <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD> +MSUB Ƭ<EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>WiFi <EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><EFBFBD><EFBFBD> MQTT PUBLISH payload <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>á<EFBFBD>
|
|||
|
|
* msg <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +MSUB URC <EFBFBD><EFBFBD><EFBFBD><EFBFBD> JSON<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD>ƥ<EFBFBD>䡣 */
|
|||
|
|
void net_dispatch_message(const char *msg);
|
|||
|
|
|
|||
|
|
#endif /* NETWORK_H */
|