色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ESP8266串口WiFi模塊的基本使用和配置教程

開源嵌入式 ? 來源:開源嵌入式 ? 作者:開源嵌入式 ? 2020-12-31 09:53 ? 次閱讀

ESP8266是一款超低功耗的UART-WiFi 透傳模塊,擁有業內極富競爭力的封裝尺寸和超低能耗技術,專為移動設備和物聯網應用設計,可將用戶的物理設備連接到Wi-Fi 無線網絡上,進行互聯網或局域網通信,實現聯網功能。

雖然“WiFi門鎖”一直拖著還沒弄好,但WiFi模塊卻玩了很久。是時候介紹下ESP8266的基本使用和配置了。

內容簡介

硬件聯網一直以來都是比較麻煩的事情,而通過使用 ESP8266 這款WiFi模塊,僅需要通過串口使用AT指令控制,就能滿足大部分的網絡功能需求。本文通過簡單介紹及應用實例,讓剛接觸WiFi模塊的讀者了解模塊的大致使用方法。

ESP8266簡介

ESP8266是上海樂鑫信息科技設計的低功耗WiFi芯片,集成完整的TCP/IP協議棧和MCU。而ESP8266模塊是深圳安信可公司基于ESP8266芯片研發(增加必要外圍電路、串口flash、板載天線等)的串口WiFi模塊,成本低、使用簡便、功能強大。

硬件與網絡的橋梁

和串口藍牙模塊一樣,串口WiFi模塊也是擴展單片機功能的又一神器。在沒有接觸8266之前,我對單片機如何聯網的問題很是好奇,在書里看過用笨重繁瑣的以太網模塊實現,但一點都不帥好吧。而小巧的 ESP8266 WiFi模塊通過串口AT指令與單片機通訊,實現串口透傳,非常好上手。

透傳,又稱透明傳輸,具體來說就是“輸入即輸出(如從WiFi模塊串口輸入的字符會透傳到服務器端)”,數據不改變,不同協議之間的轉換(如串口到WiFi、藍牙等)由模塊完成。使用者無需關心內部具體實現,因此模塊對于使用者是“透明的”、似乎不存在的(因為可無視中間的實現原理)。一個高度封裝的模塊,應該隱藏內部實現細節,僅對外提供使用接口

把硬件聯網之后,就再也不是“玩單機”了。配合服務器端的Socket網絡編程,可以玩許多東西。所以我覺得WiFi模塊是連接軟件(網絡編程)與硬件(單片機)的橋梁,把我所學的單片機和Web知識聯系起來了。

而近來“物聯網”或者說“智能硬件”似乎也火了起來,許多強大的芯片和模塊的出現使得聯網設備的開發門檻大大降低。正是有了這些為物聯網大業鋪路的各大廠商們,我等對網絡一竅不通的渣渣也能輕松將硬件聯網、實現網絡通訊。

模塊資料大全

在某寶買模塊一般都會有相應的資料文檔,涵蓋使用方法與常見的問題。

開始前的準備

原理圖及引腳說明

URXD UART_RXD,接收
UTXD UART_TXD,發送
GPIO 16 外部Reset信號,低電平復位,高電平工作(默認高)
GND GND
VCC 3.3V,模塊供電
GPIO 0 工作模式選擇:懸空:FlashBoot,工作模式;下拉:UARTDownload下載模式
CH_PD 高電平工作;低電平模塊供電關掉
GPIO 2 (1)開機上電時必須為高電平,禁止硬件下拉;(2)內部默認已拉高
Function Description

模塊的連線

要讓模塊上電正常工作只需三處接線:VCC和CH_PD接3.3電源正極,GND接地。剛好USB-TTL下載模塊上有3.3V的電源。而使用串口調試要再把模塊與下載器的TXD和RXD交叉連接。這樣一來WiFi模塊就能與電腦連接、用串口助手進行測試了。

模塊上電

電腦安裝好USB-TTL模塊的驅動后,USB口插上模塊,在設備管理器查看串口號后,打開串口調試工具sscom,串口號選擇模塊對應的,默認波特率115200,數據-停止-校驗-流控:8-1-None-None,勾選“發送新行”(一定一定要記得勾選“發送新行”,否則WiFi無法識別AT指令),點擊“打開串口”按鈕,然后將CH_PD引腳的3.3V電源斷了重接進行復位,若串口打印亂碼后看到“ready”,說明模塊上電初始化正常。

和某些需要按鍵進入AT指令模式的藍牙模塊不同,ESP8266上電后就運行在AT指令模式下。

免冷啟下載器的坑

記得有一次在實驗室用ESP8266時怎么都不能成功上電初始化顯示“ready”,AT指令也無法工作。最終把固件燒了一遍又一遍,把模塊都“玩壞了”也還是不行,就像見了鬼一樣……最終竟然是因為使用了免冷啟下載器的原因。后來才知道ESP8266電源要求十分苛刻,必須“穩定純凈”,估計這種“高級下載器”內部電路會造成模塊上電時電源不穩定,從而導致上電初始化失敗。如果你也遇到同樣的問題不妨換個USB-TTL下載器試試。

別不信邪,一些詭異的bug很可能是由某個不起眼的硬件引起的,這很“玄學”。

ESP8266的AT指令

AT指令最早在藍牙模塊上接觸過,所謂AT指令實質上就是一些起控制作用的特殊字符串。模塊可以通過AT指令控制使用和用源代碼API函數開發,前者開發速度快,難度非常低(傻瓜化使用)。后者靈活,難度較大。而我只用過AT指令,所以本文不涉及SDK開發。

aa3ddb32-4adc-11eb-8b86-12bb97331649.jpg

說明:下面僅列舉一些最常用的AT指令及用法,指令的詳細參數及使用說明請參考官方文檔:ESP8266 AT指令集。

基礎AT指令

AT 測試AT啟動
AT+RST 重啟模塊
AT+GMR 查看版本信息
指令 描述

AT是最常用的指令,用于測試模塊能否正常接受指令。在sscom中向串口發送指令AT,若收到模塊返回的OK則說明模塊的AT指令可正常工作。發送AT+GMR可查看AT指令及SDK的版本號,我當前使用的AT指令是V1.1.0.0的最新版,一般最新版指令會增加一些新功能,可隨時關注官方的更新。

WiFi功能AT指令

WiFi是讓硬件聯網的基礎,和其他功能一樣,這里僅列舉所需的常用指令,更詳細指令說明還得查閱文檔。

AT+CWMODE 設置WiFi模式(sta/AP/sta+AP)
AT+CWLAP 掃描附近的AP信息
AT+CWJAP 連接AP
AT+CWQAP 與AP斷開連接
AT+CWSAP 設置ESP8266 softAP配置
AT+CWLIF 獲取連接到 ESP8266 softAP 的 station 的信息
指令 描述

關于WiFi模式這里要說明一下,sta模式下模塊相當于客戶端,像我們手機平板一樣是要去連接路由器的,而AP模式下模塊相當于路由器,是發射WiFi被別人連的。ESP8266支持兩種模式并存(模塊出廠默認的是AP模式) 。另外,掃描WiFi指令AT+CWLAP只能在sta模式下使用,否則會報ERRO錯誤,AT+CWJAP和AT+CWQAP指令也同理。

sta模式連接WiFi演示

那如何讓模塊連接到路由器呢?下面簡單列舉了一下步驟:

發送AT+CWMODE=1指令配置模塊為sta模式(參數1,2,3分別對應模式sta,AP和sta/AP)。

發送AT+CWLAP指令掃描當前附近WiFi,模塊會返回可用AP列表。

使用AT+CWJAP="WiFi名稱","WiFi密碼"連接到指定的路由器,比如我在圖書館的WiFi是 “lib-free-wlan01”,密碼是“zhku-lib”,實際連接WiFi發送的指令就是AT+CWJAP="lib-free-wlan01","zhku-lib"。

返回的“WIFI CONNECTED”說明連接成功,“WIFI GOT IP”代表模塊分配到了IP。

最后可使用AT+CWQAP斷開當前連接的WiFi。

aa784c7c-4adc-11eb-8b86-12bb97331649.jpg

AP模式參數設置演示

連完WiFi那接下來就“開WiFi”吧!AP模式和手機開熱點一樣,只需設置WiFi名稱和密碼即可。同樣的先使用AT+CWMODE=2指令配置模塊為AP模式,然后發送AT+CWSAP="ESP8266","12345678",3,4設置AP的ssid為“ESP8266”,密碼12345678,最后兩個參數3和4分別表示信道和加密方式。手機連上模塊的WiFi,使用AT+CWLIF可查看當前連接到AP的客戶端列表。

aa95feb6-4adc-11eb-8b86-12bb97331649.jpg

TCP/IP相關AT指令

傳輸控制協議(英語:Transmission Control Protocol,縮寫為 TCP)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議,由IETF的RFC 793定義。在簡化的計算機網絡OSI模型中,它完成第四層傳輸層所指定的功能,用戶數據報協議(UDP)是同一層內另一個重要的傳輸協議。

在因特網協議族(Internet protocol suite)中,TCP層是位于IP層之上,應用層之下的中間層。不同主機的應用層之間經常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。——維基百科

我們常說互聯網互聯網,那兩個連接到互聯網的設備該如何相互“交流”呢?TCP連接就是其中一種最常用的方式。TCP是面向連接的傳輸層協議,通信雙方都要實現TCP協議,其中一方只需目標ip地址和端口號就能發起連接,連接一旦建立,就像在雙方之間拉了一條管子,管子兩端可進行全雙工(雙向同時收發)通信。

TCP是傳輸層協議,是在網絡層IP協議的基礎上封裝而來。而這些封裝的實現細節也是與我們無關,我們只需使用系統所提供的相關接口“拿來即用”,比如網絡編程中的Socket。ESP8266模塊中也實現了TCP/IP協議棧,模塊作為客戶端可輕松使用AT指令向服務端發起TCP連接。連接TCP服務器并開啟透傳模式后,模塊串口收到的數據就會通過TCP連接透傳到服務端,這樣就完成了數據從硬件串口通過網絡到程序進程的傳輸,實現軟硬結合。

AT+CIPSTATUS 查詢網絡連接信息
AT+CIPMUX 設置多連接模式
AT+CIPSTART 建立TCP連接UDP傳輸或者SSL連接
AT+CIPCLOSE 關閉TCP/UDP/SSL傳輸
AT+CIPMODE 設置透傳模式
AT+CIPSEND 發送數據
指令 描述

透傳模式下WiFi模塊與服務器TCP網絡通訊演示

講的再多,還不如親手體驗一下如何用WiFi模塊連接TCP服務器,體會TCP/IP相關AT指令的具體使用。首先我們需要一個TCP服務器,利用調試工具“網絡調試助手”(軟件在資料包中)即可創建一個TCP服務器,實現服務端對指定端口監聽TCP連接請求,當然也可以自己寫程序實現,為了簡便這里用現成的就好。

打開“網絡調試助手”,左側選擇“TCP服務器”,輸入自定的端口號(1024-65535),點擊“連接”按鈕開始監聽本機TCP連接請求。在進行下一步之前,請確保電腦和WiFi模塊連接到同一個路由器。

aaba753e-4adc-11eb-8b86-12bb97331649.jpg

把WiFi模塊和電腦連接,在sscom確定AT指令能正常使用后,就可以開始配置TCP連接了,具體步驟如下:

根據上面“sta模式連接WiFi演示”一節把模塊連上WiFi

輸入指令AT+CIPMUX=0設置單連接

從“網絡調試助手”得知本機IP和端口,輸入指令AT+CIPSTART="TCP","192.168.43.140",1234(指令參數分別為連接類型、目標IP地址和端口號)向服務器發起TCP連接請求,握手成功并建立連接后,服務器端的“網絡調試助手”就會顯示客戶端IP和端口信息,此時雙方已做好收發數據的準備

輸入指令AT+CIPMODE=1開啟透傳模式

輸入命令AT+CIPSEND進入透傳模式,此時模塊會把所有串口收到的數據都從TCP端口發送至服務器,同樣的,從服務器收到的數據也會從模塊串口發送出去打印到sscom上。這樣WiFi模塊就真正成為了連接硬件與網絡的橋梁,實現了串口到TCP的協議轉換

若要退出透傳模式返回AT指令模式,需發送不帶回車換行的+++(取消勾選sscom的“發送新行”再發送指令即可)

aadd9a64-4adc-11eb-8b86-12bb97331649.jpg

見識了TCP透傳的強大,只要再稍微學習一下socket網絡編程,那么對于通過單片機串口收發數據實現的功能,現在都可以通過自己編寫服務器上的TCP程序來實現。當我第一次在命令行看到打印的串口數據、體驗到網絡互通的魅力時,我就知道——我的“WiFi門鎖”有戲了!

其他常用指令

除了上面列舉的主要功能指令,ESP8266 模塊還有一些常用的指令:

AT+CIOBAUD 設置串口波特率
AT+SAVETRANSLINK 保存透傳到 Flash
AT+CWSTARTSMART 開啟 SmartConfig
AT+CWSTOPSMART 停止 SmartConfig
指令 描述

AT+CIOBAUD指令用于設置串口波特率,示例:AT+CIOBAUD=9600(設置波特率為9600)。設置好TCP連接信息后通過AT+SAVETRANSLINK指令把TCP連接透傳保存到Flash,掉電不丟失。重新上電后模塊會自動聯網建立TCP連接后進入透傳模式,實現了真正意義上的透傳,示例:AT+SAVETRANSLINK=1,"192.168.43.140",1234,"TCP"。而AT+CWSTARTSMART和AT+CWSTOPSMART則時用來實現智能配置(Smart Config)的。

注意事項

使用WiFi模塊的一些細節及注意事項

模塊使用3.3V供電,一定注意電源的穩定,一些USB轉串口模塊電源不能滿足要求。

模塊在連接WiFi后若斷電,則會在下一次上電后自動重連。同理,模塊在透傳模式下斷電后,下次上電仍會進入透傳模式,不響應AT指令,很容易誤以為模塊壞了。

如果斷開TCP連接時沒有實現完整的TCP退出流程,ESP8266 會判斷為異常開,對TCP server 進行重連。

AT指令一定以回車換行符” ”結尾,但退出透傳模式需發送不帶回車換行的+++

關于WiFi模塊要寫的也就這么多了。把以上的AT指令都自己試一遍、觀察效果后,那么ESP8266這個模塊的AT指令使用是基本沒問題了,然后就可以發揮想象力用模塊著手開發更好玩的東西啦~~~

責任編輯:xj

原文標題:ESP8266串口WiFi模塊的基本使用

文章出處:【微信公眾號:開源嵌入式】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • WIFI
    +關注

    關注

    81

    文章

    5296

    瀏覽量

    203575
  • 串口
    +關注

    關注

    14

    文章

    1551

    瀏覽量

    76422
  • wifi模塊
    +關注

    關注

    60

    文章

    379

    瀏覽量

    73471
  • ESP8266
    +關注

    關注

    50

    文章

    962

    瀏覽量

    44962

原文標題:ESP8266串口WiFi模塊的基本使用

文章出處:【微信號:KY_QRS,微信公眾號:開源嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ESP8266串口WiFi模塊 STATION 模式

    ESP8266串口WiFi模塊 STATION 模式
    發表于 10-28 13:50

    請問有ESP8266串口WIFI無線模塊程序嗎?

    誰有51與ESP8266串口WIFI無線模塊程序?
    發表于 05-21 18:44

    ESP8266串口WIFI

    esp8266圖文,AT例程!!!!!!!!!!
    發表于 11-10 17:09 ?0次下載

    基于ESP8266串口WiFi擴展板上傳數據到服務器和反向控制

    基于ESP8266串口WiFi擴展板上傳數據到服務器和反向控制
    發表于 01-08 15:41 ?36次下載

    AirM2M-ESP8266-串口WiFi模塊使用詳解V2.8

    AirM2M-ESP8266-串口WiFi模塊使用詳解V2.8
    發表于 02-28 22:53 ?26次下載

    ESP8266串口WiFi擴展板產品使用說明書

    ESP8266串口WiFi擴展板
    發表于 03-19 11:47 ?16次下載

    ESP8266串口WIFI遠距離無線模塊

    ESP8266串口WIFI 無線模塊 WIFI遠距離無線模塊 穿墻王
    發表于 05-10 10:15 ?57次下載

    esp8266串口wifi實例

    ESP8266串口WiFi擴展板是深圳四博智聯科技有限公司開發的一款基于樂鑫ESP8266的超低功耗的UART-WiFi
    發表于 12-08 13:34 ?1.9w次閱讀

    esp8266中文資料匯總(esp8266引腳圖_與單片機連接_串口wifi實例)

    本文首先介紹了esp8266引腳圖功能與esp8266特性,其次介紹了 單片機與ESP8266串口連接及最小系統連接與程序分享,最后介紹了esp8
    發表于 05-24 08:36 ?22.6w次閱讀
    <b class='flag-5'>esp8266</b>中文資料匯總(<b class='flag-5'>esp8266</b>引腳圖_與單片機連接_<b class='flag-5'>串口</b><b class='flag-5'>wifi</b>實例)

    ESP8266串口WiFi模塊模塊庫文件資料合集免費下載

    本文檔的主要內容詳細介紹的是ESP8266串口WiFi傳感器模塊模塊庫文件資料合集免費下載包括了原理圖和封裝。
    發表于 07-10 08:00 ?0次下載
    <b class='flag-5'>ESP8266</b><b class='flag-5'>串口</b><b class='flag-5'>WiFi</b><b class='flag-5'>模塊</b>的<b class='flag-5'>模塊</b>庫文件資料合集免費下載

    ESP8266 wifi模塊開發匯總

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ESP8266 wifi模塊開發匯總?ESP8266 wifi
    發表于 11-05 19:21 ?188次下載
    <b class='flag-5'>ESP8266</b> <b class='flag-5'>wifi</b><b class='flag-5'>模塊</b>開發匯總

    STM32-ESP8266wifi模塊實現

    1.ESP8266WiFi模塊介紹1.1ESP8266wifi 模塊低功耗串口WiFi
    發表于 11-19 13:06 ?79次下載
    STM32-<b class='flag-5'>ESP8266wifi</b><b class='flag-5'>模塊</b>實現

    ESP8266 WIFI模塊 與PC機聯機通信

    硬件準備1:ESP8266(本工程中用的是6腳的)2:STM32F407ZGT63:PC機4:usb轉TTL模塊(此模塊用來和ESP8266連接配置
    發表于 12-06 18:06 ?25次下載
    <b class='flag-5'>ESP8266</b> <b class='flag-5'>WIFI</b><b class='flag-5'>模塊</b> 與PC機聯機通信

    ESP8266串口WiFi模塊基本使用方法和配置教程

    或局域網通信,實現聯網功能。由于本人一直從事醫學信息處理與醫學物聯網設備研發,硬件聯網一直以來都是比較麻煩的事情,而通過使用 ESP8266 這款WiFi模塊,僅需要通過串口使用AT指
    發表于 12-20 18:48 ?15次下載
    <b class='flag-5'>ESP8266</b><b class='flag-5'>串口</b><b class='flag-5'>WiFi</b><b class='flag-5'>模塊</b>基本使用方法和<b class='flag-5'>配置</b>教程

    esp8266wifi模塊怎么連接手機

    ESP8266 : 使用USB轉TTL模塊ESP8266模塊與電腦連接。 通過串口調試助手發送AT指令
    的頭像 發表于 08-19 17:27 ?2637次閱讀
    主站蜘蛛池模板: 巨乳中文无码亚洲| 在线观看国产日韩| 日本午夜精品一区二区三区电影| 久久精品国产欧美| 娇喘嗯嗯 轻点啊视频福利| 国产精品美女久久久网站动漫| 哺乳期妇女挤奶水36d| 99re久久免费热在线视频手机| 快穿之诱受双性被灌满h| 久久re6热在线视频精品66| 老司机午夜影院试看区| 久久国产精品久久国产精品 | 羞羞影院男女爽爽影院尤物| 三叶草未满十八岁| 日日夜夜撸 在线影院| 神马电影院午 夜理论| 射死你天天日| 新香蕉少妇视频网站| 国产AV视频一区二区蜜桃| 91精品在线国产| 99亚偷拍自图区亚洲| 边摸边吃奶边做下面视频| 成人免费视频在| 国产精品国产三级国产AV麻豆| 国产精品久久久久久日本| 国产性夜夜性夜夜爽91| 精品人妻伦九区久久AAA片69| 久久青青草原精品国产软件| 牢记永久免费网址| 女警被黑人20厘米强交| 秋霞午夜一级理论片久久| 少妇高潮惨叫久久久久久欧美| 亚洲 欧美 国产 综合不卡| 亚洲视频在线免费| 2020美女视频黄频大全视频| RUNAWAY韩国动漫免费网| 国产成人精品视频播放| 黄色片中文| 男人J放进女人P全黄网站| 妻子的妹妹在线| 学生精品国产在线视频|