从这一篇开始,博主将会带领各位读者进入ESP32开发的征程。在此,博主认为各位读者已经具备以下前提:

  • 读者具有C语言以及Arduino的开发知识;
  • 读者了解过博主的ESP8266开发系列;
  • 读者已经可以自行烧写成功 Arduino Core For ESP32的固件;

    以上条件,缺一不可。

1. Arduino Core For ESP32是什么?

    这到底是个什么鬼?

    对于开发人员来说,要想提高个人开发能力,必须知其然,并知其所以然。所以,万能的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,可以看到以下的代码结构:

    目前,我们需要重点关注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对应章节去学习。

转载于:https://www.cnblogs.com/danpianjicainiao/p/11118655.html

ESP32 开发之旅② Arduino For ESP32说明相关推荐

  1. ESP32开发之旅——人体感应传感器HC-SR501

    ESP32开发之旅--人体感应传感器HC-SR501 前言 在本文中,您将学会HC-SR501人体感应传感器在ESP32中的使用,本文提供了简单的示例供学习参考. 需要注意的是,本文中的ESP32是使 ...

  2. ESP32开发之旅——ssd1306 OLED屏的使用

    ESP32开发之旅--ssd1306 OLED屏的使用 前言 在本文中,您将学会ssd1306 OLED屏在ESP32中的使用,本文提供了简单的示例供学习参考. 需要注意的是,本文中的ESP32是使用 ...

  3. ESP32开发之旅——RC522模块的使用

    ESP32开发之旅--RC522模块的使用 前言 在本文中,您将学会如何使用ESP32连接RFID模块RC522,本文提供了简单的示例供学习参考. 需要注意的是,本文中的ESP32是使用Micro P ...

  4. ESP32开发之旅——AS608指纹识别模块

    ESP32开发之旅--AS608指纹识别模块) 前言 本文中,您将了解到如何使用ESP32调用AS608指纹识别模块. 需要注意的是,本文中的ESP32是使用Micro Python进行开发的,(同时 ...

  5. 【极创】arduino入门之ESP8266和ESP32开发板的arduino环境配置

    一.前言 在这个万物智联时代,廉价的ESP系列芯片与开发板成为众多开发者首选,其内包含强大的无线通讯功能,可以满足开发者们绝大部分的开发需求. 二.ESP8266与ESP32开发板的arduino环境 ...

  6. ESP32开发之旅——基于ESP32的室内空气质量检测系统

    ESP32开发之旅--基于ESP32的室内空气质量检测系统 前言 成果展示 核心代码 MQTT部分 获取传感器数据部分 连接WiFi部分 结尾 前言 本文主要是我课设项目的一个备忘,部分资料来源于网上 ...

  7. ESP32开发之旅——MicroPython介绍

    ESP32开发之旅--MicroPython介绍 什么是ESP32 为什么使用MicroPython开发ESP32 参考文献链接 什么是ESP32 ESP32是由我国乐鑫公司继ESP8266芯片后推出 ...

  8. ESP32开发之旅——搭建MicroPython开发环境

    ESP32开发之旅--搭建MicroPython开发环境 获取ESP32-MicroPython固件 写入固件 编译器配置 编写第一行代码--Hello World 结尾 获取ESP32-MicroP ...

  9. c++ windows 蓝牙库_蓝牙翻页笔(PPT 控制器) | ESP32学习之旅-Arduino版

    本系列历史文章目录: ESP32概述与Arduino软件准备 新冠肺炎疫情数据实时显示器 B 粉计数器 本期给大家带来的案例是:蓝牙翻页笔. 先来看一下演示视频吧: 蓝牙翻页笔 | PPT播放控制器 ...

最新文章

  1. S-D5舵机拆开看一看
  2. 中文分词_中文分词及其应用
  3. nginx上搭建https服务
  4. Java异常处理的一些经验总结
  5. android.os.binderproxy cannot be cast to,Android服务android.os.BinderProxy错误
  6. 『设计模式』我就要一个对象,你别给我这么多好不好!---单例模式
  7. OpenCV 2.4.0 正式版发布,开源计算机视觉库
  8. https://www.usb.org/
  9. JavaScript 从数组中删除元素方法
  10. haoi2018奇怪的背包题解
  11. VI 编辑器保存命令
  12. C#调用dll代码范例
  13. 一套小程序源码多少钱_微信点餐小程序怎么做,微信扫码点餐系统多少钱一套?...
  14. 计算机网络机房巡视表,机房巡查记录表.doc
  15. Linus 一生只为寻找欢笑(下)-转
  16. ENVI图像处理(6):NDVI和植被指数
  17. Android扫一扫 有仿微信版
  18. 好用的识别植物的软件app合集分享,快码住了
  19. JSP基础 mcv规范 EL
  20. 云效,云原生时代一站式研发平台

热门文章

  1. Ceph使用块设备完整操作流程
  2. 《C++编程风格(修订版)》——3.2 继承作用域准则
  3. java学习4-Maven的发布war并部署到tomcat
  4. hdu 2438 Turn the corner [ 三分 ]
  5. velocity mybatis spring 在maven的整合开发(四)
  6. 安装 pear、phpunit 测试用例步骤方法
  7. 内存分配知识:全局,局部,静态变量
  8. C语言家谱管理程序,c语言的家谱——interesting~
  9. 翁恺老师C语言学习笔记(十)指针_运算符取得变量的地址
  10. 2 | Spatial-based GNN/convolution 概念