ESP32 開發之旅② Arduino For ESP32說明

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

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

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

1、基礎篇web

  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、高級篇webstorm

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

    從這一篇開始,博主將會帶領各位讀者進入ESP32開發的征程。在此,博主認爲各位讀者已經具有如下前提:函數

  • 讀者具備C語言以及Arduino的開發知識;
  • 讀者瞭解過博主的ESP8266開發系列;
  • 讀者已經能夠自行燒寫成功 Arduino Core For ESP32的固件;

    以上條件,缺一不可。工具

1. Arduino Core For ESP32是什麼?

    這究竟是個什麼鬼?學習

image

    對於開發人員來講,要想提升我的開發能力,必須知其然,並知其因此然。因此,萬能的github能告訴咱們這個究竟是什麼?請點擊傳送門 Arduino Core For ESP32 github。說到底,它就是一個在Arduino平臺上開發ESP32的插件,特別適合有Arduino開發經驗的入門者。優化

    Arduino core for ESP32爲ARPUNO環境下的ESP32芯片提供了支持。它容許您使用熟悉的Arduino函數和庫編寫代碼,並直接在ESP32上運行它們,不須要外部微控制器。

    ESP32 Arduino內核提供了使用TCP和UDP經過WiFi進行通訊的庫,設置HTTP、mDNS、SSDP和DNS服務器,進行OTA更新,在閃存中使用文件系統,使用SD卡、伺服器、SPI和I2C外圍設備。

2.Arduino core for ESP32庫

    爲了向你們更好地講解Arduino Core For ESP8266,麻煩你們 Arduino Core For ESP32 github 代碼clone或者download下來,而後用查看代碼的IDE工具打開,博主這裏使用了webstorm,能夠看到如下的代碼結構:

image

image

    目前,咱們須要重點關注libraries目錄,該目錄下的庫就是咱們編寫代碼的基礎庫。此庫和ESP8266庫的結構很是類似,因此有8266基礎的讀者能夠類比學習。

    根據功能區分,能夠分爲:

  1. Arduino功能,把ESP32 當作 Arduino來使用
  • SD —— SD卡庫
  • Servo —— 伺服電機庫
  • Wire —— I2C庫
  • SPI —— spi庫
  • EEPROM —— eeprom庫
  • Ticker —— 定時任務庫
  • SPIFFS —— 文件系統庫
  • BLEBluetoothSerialSimpleBLE —— 藍牙相關庫
  1. WiFi功能,其中又能夠分爲網絡服務功能以及無線更新ESP32功能。提供了使用TCP和UDP經過WiFi進行通訊的庫等等。
  • WiFi —— wifi基礎功能,包括AP、STA、SCAN、TCPClient、TCPServer、UDP等
  • HTTPClient —— http客戶端功能
  • WebServer —— 局域網web服務器功能
  • ESPmDNS —— 局域網本地發現功能
  • DNSServer —— 真正的DNS域名服務
  • ArduinoOTAHTTPUpdateUpdate —— OTA無線更新功能

3.與ESP8266庫類比

    爲了加快更新學習帖子進度,避免內容重複,請讀者自行類比ESP8266對應章節學習。

3.1 WiFi —— ESP8266WIFI

類比學習 ESP8266開發之旅 網絡篇② ESP8266 工做模式與ESP8266WiFi庫

3.2 WiFiAP —— ESP8266WiFiAP

類比學習 ESP8266開發之旅 網絡篇③ Soft-AP——ESP8266WiFiAP庫的使用

3.3 WiFiSTA —— ESP8266WiFiSTA

類比學習 ESP8266開發之旅 網絡篇④ Station——ESP8266WiFiSTA庫的使用

3.4 WiFiScan —— ESP8266WiFiScan

類比學習 ESP8266開發之旅 網絡篇⑤ Scan WiFi——ESP8266WiFiScan庫的使用

3.5 WiFiGeneric —— ESP8266WiFiGeneric

類比學習 ESP8266開發之旅 網絡篇⑥ ESP8266WiFiGeneric——基礎庫

3.6 WiFiClient、WiFiServer

類比學習 ESP8266開發之旅 網絡篇⑦ TCP Server & TCP Client

3.7 WiFiUdp

類比學習 ESP8266開發之旅 網絡篇⑩ UDP服務用

3.8 HttpClient —— ESP8266HTTPClient

類比學習 ESP8266開發之旅 網絡篇⑨ HttpClient——ESP8266HTTPClient庫的使用

3.9 WebServer —— ESP8266WebServer庫的使用

類比學習 ESP8266開發之旅 網絡篇⑪ WebServer——ESP8266WebServer庫的使用

3.10 ESPmDNS —— ESP8266mDNS

類比學習 ESP8266開發之旅 網絡篇⑫ 域名服務——ESP8266mDNS庫

3.11 SPIFFS

類比學習 ESP8266開發之旅 網絡篇⑬ SPIFFS——ESP8266 Flash文件系統

3.12 DNSServer

類比學習 ESP8266開發之旅 網絡篇⑮ 真正的域名服務——DNSServer

3.13 ArduinoOTA、HTTPUpdate

類比學習 ESP8266開發之旅 網絡篇⑯ 無線更新——OTA固件更新

4.總結

本篇章主要是總體介紹一下ESP32的源碼結構,但願讀者能對着ESP8266對應章節去學習。

相關文章
相關標籤/搜索