ESP32 开发之旅② Arduino For ESP32说明

知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

    从这一篇开始,博主将会带领各位读者进入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对应章节去学习。

猜你喜欢

转载自blog.csdn.net/dpjcn1990/article/details/94431098