ESP8266開發之旅 網絡篇① 認識一下Arduino Core For ESP8266

    博主的 ESP8266開發之旅 專欄主要分爲三個部分:html

  • 基礎篇
  • 網絡篇
  • 應用篇

    從這一篇開始,博主將會帶領各位讀者在基礎篇的基礎上進入網絡的世界。在此,博主認爲各位讀者已經具有如下前提:git

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

1. Arduino Core For ESP8266是什麼?

    一開始剛接觸Arduino Core For ESP8266的時候,博主和不少初學者同樣,表示一臉懵逼,這究竟是個什麼鬼?
image
    對於開發人員來講,要想提升我的開發能力,必須知其然,並知其因此然。因此,萬能的github能告訴咱們這個究竟是什麼?請點擊傳送門 Arduino Core For ESP8266 github。說到底,它就是一個在Arduino平臺上開發ESP8266的插件,特別適合有Arduino開發經驗的入門者。
    同時,Arduino Core For ESP8266也有專門的官方文檔說明,請點擊傳送門 ESP8266 Arduino Core。這個連接地址上的文檔說明,建議初學者屢次認真閱讀,包含較多api方法說明。
    Arduino core for ESP8266爲ARPUNO環境下的ESP8266芯片提供了支持。它容許您使用熟悉的Arduino函數和庫編寫代碼,並直接在ESP8266上運行它們,不須要外部微控制器。
    ESP8266 Arduino內核提供了使用TCP和UDP經過WiFi進行通訊的庫,設置HTTP、mDNS、SSDP和DNS服務器,進行OTA更新,在閃存中使用文件系統,使用SD卡、伺服器、SPI和I2C外圍設備。github

2. Arduino core for ESP8266庫

    爲了向你們更好地講解Arduino Core For ESP8266,麻煩你們 Arduino Core For ESP8266 github 代碼clone或者download下來,而後用查看代碼的IDE工具打開,博主這裏使用了webstorm,能夠看到如下的代碼結構:
image
    目前,咱們須要重點關注libraries目錄,該目錄下的庫就是咱們編寫代碼的基礎庫。博主根據庫的做用,給讀者整理了一個百度腦圖,後期根據學習進度適量更新:
imageweb

    仔細分析上圖,根據功能區分,能夠分爲:api

  1. Arduino功能,把ESP8266 當作 Arduino來使用
  • SD —— SD卡庫
  • Servo —— 伺服電機庫
  • Wire —— I2C庫
  • SPI —— spi庫
  • EEPROM —— eeprom庫
  1. WiFi功能,其中又能夠分爲網絡服務功能以及無線更新ESP8266功能。提供了使用TCP和UDP經過WiFi進行通訊的庫等等。
  • ESP8266WiFi —— wifi基礎功能
  • ESP8266HTTPClient —— http客戶端功能
  • ESP8266WiFiMulti —— ESP8266WiFi多鏈接功能
  • ESP8266WebServer —— 局域網web服務器功能
  • WiFiUdp —— UDP服務
  • ESP8266mDNS —— 局域網本地發現功能
  • DNSServer —— 真正的DNS域名服務
  • ArduinoOTA —— OTA無線更新

    讀者重點關注腦圖中的引入二字,後續的代碼編寫中會引入各類頭文件,到時讀者就應該知道具體的頭文件擁有什麼樣的功能。服務器

3. 總結

    本篇主要帶讀者從源碼結構上初略理解Arduino core for ESP8266的總體庫結構,讓你們有個初步認識,乾貨很少,敬請原諒。網絡

相關文章
相關標籤/搜索