ESP32 开发之旅② Arduino For ESP32说明
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力。希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石。。。
QQ技术互动交流群:ESP8266&32 物联网开发 群号622368884,不喜勿喷
一、你如果想学基于Arduino的ESP8266开发技术
一、基础篇
二、网络篇
- ESP8266开发之旅 网络篇① 认识一下Arduino Core For ESP8266
- ESP8266开发之旅 网络篇② ESP8266 工作模式与ESP8266WiFi库
- ESP8266开发之旅 网络篇③ Soft-AP——ESP8266WiFiAP库的使用
- ESP8266开发之旅 网络篇④ Station——ESP8266WiFiSTA库的使用
- ESP8266开发之旅 网络篇⑤ Scan WiFi——ESP8266WiFiScan库的使用
- ESP8266开发之旅 网络篇⑥ ESP8266WiFiGeneric——基础库
- ESP8266开发之旅 网络篇⑦ TCP Server & TCP Client
- ESP8266开发之旅 网络篇⑧ SmartConfig——一键配网
- ESP8266开发之旅 网络篇⑨ HttpClient——ESP8266HTTPClient库的使用
- ESP8266开发之旅 网络篇⑩ UDP服务
- ESP8266开发之旅 网络篇⑪ WebServer——ESP8266WebServer库的使用
- ESP8266开发之旅 网络篇⑫ 域名服务——ESP8266mDNS库
- ESP8266开发之旅 网络篇⑬ SPIFFS——ESP8266 Flash文件系统
- ESP8266开发之旅 网络篇⑭ web配网
- ESP8266开发之旅 网络篇⑮ 真正的域名服务——DNSServer
- ESP8266开发之旅 网络篇⑯ 无线更新——OTA固件更新
三、应用篇
四、高级篇
从这一篇开始,博主将会带领各位读者进入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基础的读者可以类比学习。
根据功能区分,可以分为:
- Arduino功能,把ESP32 当做 Arduino来使用
- SD —— SD卡库
- Servo —— 伺服电机库
- Wire —— I2C库
- SPI —— spi库
- EEPROM —— eeprom库
- Ticker —— 定时任务库
- SPIFFS —— 文件系统库
- BLE、BluetoothSerial、SimpleBLE —— 蓝牙相关库
- WiFi功能,其中又可以分为网络服务功能以及无线更新ESP32功能。提供了使用TCP和UDP通过WiFi进行通信的库等等。
- WiFi —— wifi基础功能,包括AP、STA、SCAN、TCPClient、TCPServer、UDP等
- HTTPClient —— http客户端功能
- WebServer —— 局域网web服务器功能
- ESPmDNS —— 局域网本地发现功能
- DNSServer —— 真正的DNS域名服务
- ArduinoOTA、HTTPUpdate、Update —— 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对应章节去学习。
ESP32 开发之旅② Arduino For ESP32说明的更多相关文章
- ESP32 开发之旅① 走进ESP32的世界 安装开发环境
1.前言 欢迎大家来到ESP32的世界,从现在开始,笔者将带领大家慢慢揭开ESP32神秘的面纱. 在学习ESP32之前,博主希望读者能有ESP8266的学习基础(ESP32 Wifi模 ...
- 【单片机入门】(四)应用层软件开发的单片机学习之路-----ESP32开发板PWM控制电机以及中断的使用
引言 各位大佬,晚上好啊,在上一篇博客中,我们讲了什么是UART串口通讯,以及使用USB转TTL使得单片机可以和c#上位机做一个串口通讯,接下来,为大家带来PWM的概念原理,以及实际案例,使用PWM对 ...
- ESP32搭建3.ubuntu14.04下搭建esp32开发环境 (10-5)
硬件为乐鑫出品的ESP32一款集成了wifi和蓝牙的集成模块. 1.首先ctrl+alt+t打开终端,sudo -s选择用root权限登陆 . 2. 输入指令:sudo apt-get install ...
- ubuntu 14.04下搭建esp32开发环境
esp32是乐鑫出品的一款集成了wifi和蓝牙的集成模块,板上自带两个哈佛结构的Xtensa LX6 CPU双核处理器,本文主要讲解如何在linux下搭建其编译开发环境. 首先ctrl+alt+t打开 ...
- ESP8266开发之旅 进阶篇② 闲聊Arduino IDE For ESP8266烧录配置
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- ESP8266开发之旅 基础篇③ ESP8266与Arduino的开发说明
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- ESP8266开发之旅 网络篇① 认识一下Arduino Core For ESP8266
博主的 ESP8266开发之旅 专栏主要分为三个部分: 基础篇 网络篇 应用篇 从这一篇开始,博主将会带领各位读者在基础篇的基础上进入网络的世界.在此,博主认为各位读者已经具备以下前提 ...
- 基于windows环境VsCode的ESP32开发环境搭建
1. 基于windows环境VsCode的ESP32开发环境搭建,网上有各类教程,但是我实测却不行. 例如我在vscode内安装的乐鑫插件,扩展配置项是下图这样: 而百度的各类博文却都是这样: 经过网 ...
随机推荐
- PacMan 01——玩家移动
版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...
- numpy库使用总结
numpy study 0x01:n维数组对象ndaarray 存放同类型元素的多维数组 0x02:numpy数据类型 numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符,包括 ...
- Android Studio [RecyclerView/瀑布流显示]
PuRecyclerViewActivity.java package com.xdw.a122.recyclerview; import android.support.v7.app.AppComp ...
- 基于操作系统原理的Linux 的基本操作和常用命令的使用
一.实验目的 1.学会不同Linux用户登录的方法. 2.掌握常用Linux命令的使用方法. 3.了解Linux命令中参数选项的用法和作用. 二.实验内容 1. 文件操作命令 (1) 查看文件与目录 ...
- Scrapy项目 - 数据简析 - 实现腾讯网站社会招聘信息爬取的爬虫设计
一.数据分析截图 本例实验,使用Weka 3.7对腾讯招聘官网中网页上所罗列的招聘信息,如:其中的职位名称.链接.职位类别.人数.地点和发布时间等信息进行数据分析,详见如下图: 图1-1 Weka ...
- Multiple types were found that match the controller named 'Auth'.
偶然的一个机会,修改了已经开发完毕的一个项目的命名.突然运行发现: { "Message": "An error has occurred.", "E ...
- js实现敲回车键登录
任何一个网站页面都有登陆界面,很多时候在输入好用户名和密码后,还要用鼠标去点一个类似于登陆什么的按钮或者链接.这样你才能进网站做你喜欢做的事情. 有时候我就在想是不是能在输入好我该输入的东西后,直接敲 ...
- 机器学习回顾篇(6):KNN算法
1 引言 本文将从算法原理出发,展开介绍KNN算法,并结合机器学习中常用的Iris数据集通过代码实例演示KNN算法用法和实现. 2 算法原理 KNN(kNN,k-NearestNeighbor)算法, ...
- Mysql高手系列 - 第19篇:mysql游标详解,此技能可用于救火
Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 这是Mysql系列第19篇. 环境:mysql5.7.25,cmd命令中进行演示. 代码中被[]包含的表示可选,|符 ...
- C语言I博客作业03
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/8717 我在这个课程的目 ...