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对应章节去学习。

相关文章
相关标签/搜索