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