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内安装的乐鑫插件,扩展配置项是下图这样: 而百度的各类博文却都是这样: 经过网 ...
随机推荐
- 游戏设计模式——Unity对象池
对象池这个名字听起来很玄乎,其实就是将一系列需要反复创建和销毁的对象存储在一个看不到的地方,下次用同样的东西时往这里取,类似于一个存放备用物质的仓库. 它的好处就是避免了反复实例化个体的运算,能减少大 ...
- asp.net core系列 73 Exceptionless+Nlog以及Apollo介绍
一. 介绍 在一上篇中介绍了Exceptionless的基本使用,这篇主要讲Exceptionless结合Nlog的实现双重日志记录,包括Exceptionles的UI可视化日志以及Nlog的txt文 ...
- Java匹马行天下之 Java国出了个Java——举国欢庆
Java帝国的崛起 前言: 看庭前花开花落,宠辱不惊, 望天上云卷云舒,去留无意. 闹心的事儿,选择释怀: 纠缠的人儿,试着放下, 生活其实很美. 心若向阳,就无惧悲伤. 愿你明朗坦荡纵情豁达,有得有 ...
- MYSQL增删改查添加外键
给商品表(从表)添加一个外键 ALTER TABLE product ADD CONSTRAINT FK_cno FOREIGN KEY(cno) REFERENCES category(cid 从 ...
- 用call或bind实现bind()
一.bind方法 让我们看一下MDN上对bind方法的解释 bind()方法创建一个新的函数,在bind()被调用时,这个新函数的this被bind的第一个参数指定,其余的参数将作为新函数的参数供调用 ...
- awk 命令使用
awk命令就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理.例如: awk -F '/' '{print $NF}' tmp/file.txt 该命令用于读取file. ...
- 体验Code::Blocks下的C++编程
0.前言 在当前的行业发展和国际形势下,让更多的程序员思考跨平台编程问题.在众多的跨平台开发环境中,Code::Blocks具有独特的优势. 近二十年来,跨平台开发环境曾经如雨后春笋般产生,但是,由于 ...
- H5刮刮卡效果
效果图: 核心就是使用ctx.globalCompositeOperation = 'destination-out'; 全部代码: <!DOCTYPE html> <html> ...
- ping本地局域网
#!/bin/bash for i in `seq 1 254` do ping -c 1 192.168.192.$i > /dev/null if [ $? -eq 0 ];then ech ...
- iOS 组件化路由框架 WisdomRouterKit 的应用
[前言] 大家好,写作是为了和读者沟通交流,欢迎各位开发者一起了解 WisdomRouterKit SDK 的功能. 关于 iOS 组件化路由方案框架: WisdomRouterKit 的功能介绍,之 ...