ESP8266工作在station模式下,需確認ESP8266已經(jīng)連接AP(路由器)并分配到IP地址,啟用client連接
ESP8266工作在soft-AP模式下,需確認連接ESP8266的設備已被分配到IP地址,啟用client連接
ESP8266 TCP Client模式配置流程
程序實現(xiàn)內(nèi)容:1.在staTIon模式下,ESP8266作為client、server進行TCP連接
2.實現(xiàn)數(shù)據(jù)的發(fā)送、接收(同時回傳)
實現(xiàn)思路:
TCP網(wǎng)絡通信分層為:應用層、網(wǎng)絡層、數(shù)據(jù)鏈路層、物理層;
1. 設置ESP8266為staTIon模式,在數(shù)據(jù)鏈路層連接AP,獲取IP地址;
2. 在網(wǎng)絡層進行TCP連接:作為client連接遠程server,作為server監(jiān)聽遠程client信息;
數(shù)據(jù)鏈路層:
1. 設置ESP8266為staTIon模式:wifi_set_opmode(STATION_MODE);
2. 配置連接到AP的相關參數(shù),在該步驟中,需要知道AP的名稱( ssid )、密碼( password ): 官方所給的SDK中,該配置執(zhí)行后,wifi模塊自動與AP進行連接
為確保ESP8266已同AP建立穩(wěn)定的連接并且已獲取到IP地址,可注冊該事件的回調(diào)函數(shù)進行判定:
1.注冊回調(diào)函數(shù)
2.注冊定時器,對回調(diào)函數(shù)中的flag_sta_conip進行判定以確定是否已獲得IP地址
網(wǎng)絡層:
1. 檢測ESP8266是否已同AP建立穩(wěn)定連接,若是,則開始建立TCP client連接:
建立TCP client連接(在該設置中,需要知道遠程server的IP地址及端口號),同時注冊連接、收發(fā)數(shù)據(jù)的回調(diào)函數(shù):
2. ESP8266開啟server服務(在該步驟中,通過對espconn_accept()函數(shù)返回值的判定,TRUE則關閉設置server開啟的定時器,F(xiàn)ALSE則繼續(xù)保持開通,直到開啟成功)
接收數(shù)據(jù)的回調(diào)函數(shù):
發(fā)送數(shù)據(jù)的回調(diào)函數(shù):
實現(xiàn)效果: