碼迷,mamicode.com
首頁 > 其他好文 > 詳細

ESP8266開發之旅 基礎篇① 走進ESP8266的世界

時間:2019-06-18 17:07:36      閱讀:20      評論:0      收藏:0      [點我收藏+]

標簽:blog   文章   是什么   系統   代碼優化   開發者   問題   core   體系   

  • 本博客由 單片機菜鳥 個人撰寫,僅僅做個人技術交流分享,不做任何商業用途,不經允許,切勿轉載。如有不對之處,請留言,本人及時更改。

一、基礎篇

  1. ESP8266開發之旅 基礎篇① 走進ESP8266的世界
  2. ESP8266開發之旅 基礎篇② 如何安裝ESP8266的Arduino開發環境
  3. ESP8266開發之旅 基礎篇③ ESP8266與Arduino的開發說明
  4. ESP8266開發之旅 基礎篇④ ESP8266與EEPROM
  5. ESP8266開發之旅 基礎篇⑤ ESP8266 SPI通信和I2C通信
  6. ESP8266開發之旅 基礎篇⑥ Ticker——ESP8266定時庫

二、網絡篇

  1. ESP8266開發之旅 網絡篇① 認識一下Arduino Core For ESP8266
  2. ESP8266開發之旅 網絡篇② ESP8266 工作模式與ESP8266WiFi庫
  3. ESP8266開發之旅 網絡篇③ Soft-AP——ESP8266WiFiAP庫的使用
  4. ESP8266開發之旅 網絡篇④ Station——ESP8266WiFiSTA庫的使用
  5. ESP8266開發之旅 網絡篇⑤ Scan WiFi——ESP8266WiFiScan庫的使用
  6. ESP8266開發之旅 網絡篇⑥ ESP8266WiFiGeneric——基礎庫
  7. ESP8266開發之旅 網絡篇⑦ TCP Server & TCP Client
  8. ESP8266開發之旅 網絡篇⑧ SmartConfig——一鍵配網
  9. ESP8266開發之旅 網絡篇⑨ HttpClient——ESP8266HTTPClient庫的使用
  10. ESP8266開發之旅 網絡篇⑩ UDP服務
  11. ESP8266開發之旅 網絡篇? WebServer——ESP8266WebServer庫的使用
  12. ESP8266開發之旅 網絡篇? 域名服務——ESP8266mDNS庫
  13. ESP8266開發之旅 網絡篇? SPIFFS——ESP8266 Flash文件系統
  14. ESP8266開發之旅 網絡篇? web配網
  15. ESP8266開發之旅 網絡篇? 真正的域名服務——DNSServer

三、應用篇

  1. ESP8266開發之旅 應用篇① 局域網應用 ——炫酷RGB彩燈
  2. ESP8266開發之旅 應用篇② OLED顯示天氣屏
  3. ESP8266開發之旅 應用篇③ 簡易版WiFi小車

四、高級篇

  1. ESP8266開發之旅 進階篇① 代碼優化 —— ESP8266內存管理
  2. ESP8266開發之旅 進階篇② 閑聊Arduino IDE For ESP8266配置
  3. ESP8266開發之旅 進階篇③ 閑聊 ESP8266 Flash
  4. ESP8266開發之旅 進階篇④ 常見問題 —— 解決困擾
  5. ESP8266開發之旅 進階篇⑤ 代碼規范 —— 像寫文章一樣優美
  6. ESP8266開發之旅 進階篇⑥ ESP-specific APIs說明

????歡迎大家來到ESP8266的世界,從現在開始,筆者將帶領大家慢慢揭開ESP8266神秘的面紗。

1.1 簡介

????從筆者的角度來說,ESP8266這個詞可以理解為ESP8266EX芯片(當然,后面也有可能出現了其他芯片,這里首推ESP8266EX)以及依賴ESP8266EX芯片開發的系列模組的簡稱。
????ESP8266EX是由樂鑫信息科技公司(Espressif)出品的一款應用于物聯網編程的WiFi芯片。從它被設計出來,就引起了物聯網開發的熱潮,獲得了業界同行的肯定。芯片的具體相關介紹,筆者這里就不占用章節篇幅,請讀者自行查看樂鑫官網詳細介紹。
????ESP8266系列模組是深圳安信可(Ai-thinker)公司開發的一系列基于樂鑫ESP8266EX的超低功耗的UART-WiFi模塊的模組,可以方便地進行二次開發,接入云端服務,實現手機3/4G全球隨時隨地的控制,加速產品原型設計。
????從廠商角度來看,樂鑫是ESP8266的芯片廠商,安信可是依賴ESP8266生產模組,在ESP8266芯片的基礎上,完善了外圍器件布局和優化天線,并提供一系列開發方案的廠家。網上各種盜版模塊居多,筆者推薦大家購買安信可官方正版模塊。

溫馨提示

????請注意,筆者后面章節提到的ESP8266均指ESP8266系列模組。

1.2 特性

????其典型特征如下:

  • 802.11 b/g/n
  • 內置Tensilica L106 超低功耗 32 位微型 MCU,主頻支持 80 MHz 和160 MHz,支持 RTOS
  • 內置10 bit高精度ADC
  • 內置TCP/IP協議棧
  • 內置TR 開關、balun、LNA、功率放大器和匹配網絡
  • 內置PLL、穩壓器和電源管理組件,802.11b 模式下+20 dBm的輸出功率
  • A-MPDU 、 A-MSDU 的聚合和 0.4 s的保護間隔
  • WiFi @ 2.4 GHz,支持 WPA/WPA2 安全模式
  • 支持AT遠程升級及云端OTA升級
  • 支持 STA/AP/STA+AP 工作模式
  • 支持 Smart Config 功能(包括 Android 和 iOS 設備)
  • HSPI 、UART、I2C、I2S、IR Remote Control、PWM、GPIO
  • 深度睡眠保持電流為 10 uA,關斷電流小于 5 uA
  • 2 ms 之內喚醒、連接并傳遞數據包
  • 待機狀態消耗功率小于1.0 mW (DTIM3)
  • 工作溫度范圍:-40℃- 125℃

1.3 系列模組

????據筆者了解,目前安信可生產的ESP8266系列模組主要有:

  1. ESP-01S
    技術圖片

  2. ESP-07S
    技術圖片

  3. ESP-12E
    技術圖片

  4. ESP-12F
    技術圖片

  5. ESP-12S
    技術圖片

溫馨提示

????1.以上5張圖均引用安信可官網,如有侵權,麻煩告知。
????2.模組之間的區別在哪里?
????不同系列之間的差別更多的是封裝工藝以及Flash閃存大小不同,具體差別情況下表1:

型號 封裝 flash大小 天線 可用IO
ESP-01S DIP-8 8Mbit(1MB) PCB天線 2
ESP-07S SMD-16 32Mbit(4MB) IPEX 9
ESP-12E SMD-22 32Mbit(4MB) PCB天線 9
ESP-12F SMD-22 32Mbit(4MB) PCB天線 9
ESP-12S SMD-16 32Mbit(4MB) PCB天線 9

????請注意,flash芯片是外接在ESP8266芯片外面,通過SPI與8266芯片通信。雖然有些系列模組flash比較大,但是不意味著全部flash空間都可以用來裝載固件代碼。一般來說,我們開發的業務代碼不能超過1MB,剩下的flash空間可以用來做文件系統,筆者后面章節會講解。
????從性價比角度來說,目前開發最常用的就是ESP12F,迷你尺寸,IO口多,flash空間大,價格可以低于10元。具體更多的型號介紹可以參考安信可官網 。

1.4 使用原因

????之所以采用 ESP8266 做為研發平臺,主要是因為其超低成本,并且將處理器和 WiFi 芯
片精致集成在一起,具有 GPIO、PWM、I2C、1‐Wire、ADC 等功能,為開發者提供一套極具性價
比的開發平臺。ESP8266 是一個完整且自成體系的 Wi‐Fi 網絡解決方案,能夠搭載軟件應
用,也就是說可以將應用直接在 ESP8266 上運行,或通過另一個應用處理器進行業務邏輯處
理,而僅使用 ESP8266 的 Wi‐Fi 網絡功能(通常做為串口透傳使用,目前淘寶上銷售的大部
分已經寫入基于 AT 指令的串口轉 wifi 固件的模塊,方便直接連接原有單片機系統)。
????綜合來說,大眾選擇ESP8266的主要原因有:

  1. 作為WiFi模塊來用,價格實惠(批發價可以低于10元)。同時,從初學者角度來看,就算購買了ESP8266開發板,價格也是在20-30元左右,學習成本低。所以,前期入門學習,筆者建議初學者可以考慮購買一個ESP8266開發板,可以繞過不少彎路,達到快速學習ESP8266的目的,比如NodeMcu開發板;
  2. 除了作為WiFi模塊來用,其自身內置了32位處理器,也可以進行二次開發。讀者可以把ESP8266當做Arduino+WiFi功能來開發;
  3. 基本的ESP8266開發體系形成,其自身的SDK不斷迭代開發、基于LUA的NodeMcu模式、基于Arduino的生態移植、論壇社區上眾多的參考資料,都使得ESP8266開發速度加快;
  4. ESP8266有三種工作模式:Station模式、Soft-AP模式、Station兼Soft-AP模式,可以滿足大部分場合開發需求;
  5. 對于習慣用AT指令的同學,也支持給ESP8266燒寫AT固件,可以當做Uart轉WiFi使用,不過這不是本書的重點,需要研究的同學可以參考筆者寫的一個技術帖子(https://www.arduino.cn/thread-44963-1-1.html) 。

1.5 使用場景

????作為一款WiFi芯片,可以毫不夸張地說,只要需要使用無線網絡環境的都可以應用它。
????簡單來說,就是通過WiFi控制的各類設備。比如,現在比較流行的詞,物聯網、智能插座、智能家居、智能家電、可穿戴電子產品、WiFi定位、WiFi探針、WiFi彩燈等等。只有你想不到的,沒有你做不到的。當然,雖然目前市面上沒有看到智能產品的廣泛應用,但是不要慌,總有一天會實現的,而我們就是實現這個路途的奠基石。

1.6 總結

????本章作為本書的開篇,主要帶領讀者走進ESP8266的世界,簡單介紹了ESP8266是什么,有什么特性,為什么我們要使用它,以及它能幫助我們做什么。作為純描述性的章節,筆者只是簡單一筆帶過,不希望花費讀者太多時間在這上面,更希望大家形成這么一個概念即可——ESP8266是個WiFi模塊,可以聯網,可以基于Arduino平臺開發。下面就是進入真真正正的基于Arduino平臺的ESP8266開發之旅,旅途愉快,Hello Arduino ESP8266!

ESP8266開發之旅 基礎篇① 走進ESP8266的世界

標簽:blog   文章   是什么   系統   代碼優化   開發者   問題   core   體系   

原文地址:https://www.cnblogs.com/danpianjicainiao/p/11046187.html

(0)
(0)
   
舉報
評論 一句話評論(0
0條  
登錄后才能評論!
? 2014 mamicode.com 版權所有 京ICP備13008772號-2
迷上了代碼!
25选5历史开奖结果百度