WiFi通信:TCP客戶端開發(fā)實戰(zhàn)(一))
文章目錄一、前言二、ESP-01S的介紹三、ESP-01S WiFi模塊的常用AT指令四、ESP-01S WiFi模塊通訊前測試五、常見問題一、前言ESP-01S是一款非常常見的ESP8266 WiFi模塊。對于剛接觸STM32和WiFi通信的新手來說可能會覺得WiFi通信比較復(fù)雜STM32不會WiFi怎么辦其實我們不需要讓STM32直接處理WiFi協(xié)議。最簡單的方法就是STM32F103負(fù)責(zé)串口通信ESP-01S負(fù)責(zé)WiFi通信。STM32通過串口發(fā)送AT指令給ESP-01SESP-01S收到指令以后完成WiFi連接、TCP連接等工作。整個通信過程可以理解為STM32F103C8T6UART —— ESP-01SWiFi —— 無線路由器TCP —— 電腦TCP服務(wù)器最終實現(xiàn)的功能STM32F103通過串口控制ESP-01SESP-01S連接WiFiESP-01S連接電腦TCP服務(wù)器STM32向電腦發(fā)送數(shù)據(jù)電腦向STM32發(fā)送數(shù)據(jù)STM32接收電腦發(fā)送的數(shù)據(jù)實現(xiàn)STM32與電腦之間的雙向TCP通信二、ESP-01S的介紹ESP-01S 是由安信可科技開發(fā)的Wi-Fi模塊該模塊核心處理器 ESP8266 在較小尺寸封裝中集成了業(yè)界領(lǐng)先的 Tensilica L106 超低功耗 32 位微型 MCU帶有 16 位精簡模式主頻支持 80 MHz 和 160 MHz支持 RTOS集成 Wi-Fi MAC/ BB/RF/PA/LNESP-01S Wi-Fi 模塊支持標(biāo)準(zhǔn)的 IEEE802.11 b/g/n 協(xié)議完整的 TCP/IP 協(xié)議棧。用戶可以使用該模塊為現(xiàn)有的設(shè)備添加聯(lián)網(wǎng)功能也可以構(gòu)建獨立的網(wǎng)絡(luò)控制器。注意ESP-01S 的 IO0、RST 和 EN 引腳內(nèi)置上拉ESP-01 則沒有需要自己上拉到VCC。ESP-01S WiFi模塊一般出廠都會燒錄有AT固件直接接串口就可以使用。雖然燒錄有AT固件但自己需要知道如何去燒錄固件。如何燒錄固件可以參考這篇文章《ESP-01/01S 燒錄固件》拿到ESP-01S WiFi模塊不要急著連接到STM32去通訊先對ESP-01S WiFi模塊進(jìn)行簡單測試如果沒問題再與STM32連接否則白忙活一場。三、ESP-01S WiFi模塊的常用AT指令指令作用AT測試 AT 啟動ATRST重啟模塊ATGMR查詢版本信息ATRESTORE恢復(fù)出?設(shè)置ATSLEEP設(shè)置 sleep 模式0禁?休眠模式 1Light-sleep 模式2Modem-sleep 模式ATCWMODE設(shè)置 Wi-Fi 模式1Station 模式 2SoftAP 模式 3SoftAPStation 模式ATCWJAP連接WiFiATCWLAP掃描當(dāng)前可?的 WiFiATCWQAP斷開與 WiFi 的連接ATCWSAP配置 ESP8266 SoftAP 當(dāng)前參數(shù)ATCWLIF查詢連接到SoftAP的Station信息ATCIPSTATUS查詢?絡(luò)連接信息ATCIPSTART建? TCP 連接UDP 傳輸或 SSL 連接ATCIPMUX設(shè)置連接模式0單連接1多連接ATCIPSEND發(fā)送TCP數(shù)據(jù)。注意透傳傳輸數(shù)據(jù)時AT指令不起作用ATCIPCLOSE關(guān)閉 TCP/UDP/SSL 傳輸ATCIFSR查詢本地 IP 地址ATCIPSERVER建? TCP 服務(wù)器0關(guān)閉服務(wù)器 1建?服務(wù)器ATCIPMODE設(shè)置傳輸模式 0普通傳輸模式 1透傳模式僅?持 TCP 單連接和 UDP 固定通信對端的情況退出透傳模式不能加換行四、ESP-01S WiFi模塊通訊前測試ESP-01S WiFi模塊與USB轉(zhuǎn)TTL連接燒錄完AT固件后打開串口調(diào)試助手串口有返回ready表示AT固件燒錄成功。然后發(fā)送AT指令串口能正常響應(yīng)信息ESP-01S WiFi模塊一般表示沒問題。詳細(xì)測試可參考以下五、常見問題ESP-01S發(fā)送AT指令沒有響應(yīng)答首先檢查接線有沒有接錯TX接RXRX接TX然后確認(rèn)波特率和端口號是否正確。ESP-01S發(fā)送AT指令報錯答1檢查對應(yīng)指令是否需要對應(yīng)模式如ATCWLAP指令需要在Station 模式或SoftAPStation 模式使用否則會報錯。2AT固件不是該指令有些指令能正常響應(yīng)有些指令響應(yīng)ERROR一般為固件不支持需要升級固件。ESP不斷重啟答一般為電源能力不足換功率大點的電源供電。WiFi連接不上答檢查WiFi名稱和密碼是否正確ESP-01S只支持2.4G網(wǎng)絡(luò)如果如果你的路由器是5GHz網(wǎng)絡(luò)ESP-01S無法正常連接。以上簡單介紹ESP-01S常用指令和測試好壞說明下一篇文章將實現(xiàn)STM32F103C8T6與ESP-01S的WiFi通訊。