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内安装的乐鑫插件,扩展配置项是下图这样: 而百度的各类博文却都是这样: 经过网 ...
随机推荐
- Flink cep的初步使用
一.CEP是什么 在应用系统中,总会发生这样或那样的事件,有些事件是用户触发的,有些事件是系统触发的,有些可能是第三方触发的,但它们都可以被看做系统中可观察的状态改变,例如用户登陆应用失败.用户下了一 ...
- [Linux][函数]flock函数的用法
表头文件 #include<sys/file.h> 定义函数 int flock(int fd,int operation); 函数说明 flock()会依参数operation所指 ...
- html中的空格
网上摘录: HTML提供了6种空格实体.除第一种外,其他几种空格在不同浏览器中宽度各异. 它叫不换行空格,全称No-Break Space,它是最常见和我们使用最多的空格, ...
- AJAX基础内容
1.什么是ajax?为什么要使用ajax? ajax是Asynchronous JavaScript and XML ,也称为创建交互式网页应用开发技术. 2.为什么采用ajax 1)通过异步交互,提 ...
- Google Test入门教程:从下载到运行
本文以VS2019为例,自己的工程使用Debug x64,多线程调试DLL(/MDd),用户可以根据自己需求更改配置,只要所有配置前后统一即可. 第一步:clone Google Test源码 打开h ...
- Java入门学习笔记(全)
JAVA https://zhuanlan.zhihu.com/p/21454718 引用部分实验楼代码,侵删 先通读文档 再亲自试标程 复习时自己再批注 1.a = b += c = -~d a = ...
- 【Java】访问mysql数据库视图
数据库连接Connect: package cn.hkwl.zaxq.mysql; import java.sql.Connection; import java.sql.DriverManager; ...
- 如何编译和调试Python内核源码?
目录 写在前面 获取源代码 源代码的组织 windows下编译CPython 调试CPython 小结 参考 博客:blog.shinelee.me | 博客园 | CSDN 写在前面 如果对Pyth ...
- 一篇文章教会你jQuery应用
一 认识jQuery jQuery是JavaScript Query的缩写形式.jQuery是一款非常优秀的JavaScript库,即便是MVVM框架盛行的今天,也有超过半数的网页及应用直接或间接的使 ...
- Ubuntu cd后自动执行ls或ll
编辑 .bashrc 文件 sudo gedit ~/.bashrc 在最后一行加入 cdAndList() { cd "${1}"; ls; } alias cd=cdAndLi ...