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

授人以魚不如授人以漁,目的不是爲了教會你具體項目開發,而是學會學習的能力。但願你們分享給你周邊須要的朋友或者同窗,說不定大神成長之路有博哥的奠定石。。。html

QQ技術互動交流羣:ESP8266&32 物聯網開發 羣號622368884,不喜勿噴web

1、你若是想學基於Arduino的ESP8266開發技術

1、基礎篇編程

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

2、網絡篇安全

  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
  16. ESP8266開發之旅 網絡篇⑯ 無線更新——OTA固件更新

3、應用篇網絡

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

4、高級篇佈局

  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. 簡介

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

舒適提示ui

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

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℃

3. 系列模組

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

  1. ESP-01S
    image

  2. ESP-07S
    image

  3. ESP-12E
    image

  4. ESP-12F
    image

  5. ESP-12S
    image

舒適提示

    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元。具體更多的型號介紹能夠參考安信可官網 。

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) 。

5. 使用場景

    做爲一款WiFi芯片,能夠絕不誇張地說,只要須要使用無線網絡環境的均可以應用它。
    簡單來講,就是經過WiFi控制的各種設備。好比,如今比較流行的詞,物聯網、智能插座、智能家居、智能家電、可穿戴電子產品、WiFi定位、WiFi探針、WiFi彩燈等等。只有你想不到的,沒有你作不到的。固然,雖然目前市面上沒有看到智能產品的普遍應用,可是不要慌,總有一天會實現的,而咱們就是實現這個路途的奠定石。

6. 總結

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

相關文章
相關標籤/搜索