ESP32 开发之旅② Arduino For ESP32说明
从这一篇开始,博主将会带领各位读者进入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对应章节去学习。
转载于:https://www.cnblogs.com/danpianjicainiao/p/11118655.html
ESP32 开发之旅② Arduino For ESP32说明相关推荐
- ESP32开发之旅——人体感应传感器HC-SR501
ESP32开发之旅--人体感应传感器HC-SR501 前言 在本文中,您将学会HC-SR501人体感应传感器在ESP32中的使用,本文提供了简单的示例供学习参考. 需要注意的是,本文中的ESP32是使 ...
- ESP32开发之旅——ssd1306 OLED屏的使用
ESP32开发之旅--ssd1306 OLED屏的使用 前言 在本文中,您将学会ssd1306 OLED屏在ESP32中的使用,本文提供了简单的示例供学习参考. 需要注意的是,本文中的ESP32是使用 ...
- ESP32开发之旅——RC522模块的使用
ESP32开发之旅--RC522模块的使用 前言 在本文中,您将学会如何使用ESP32连接RFID模块RC522,本文提供了简单的示例供学习参考. 需要注意的是,本文中的ESP32是使用Micro P ...
- ESP32开发之旅——AS608指纹识别模块
ESP32开发之旅--AS608指纹识别模块) 前言 本文中,您将了解到如何使用ESP32调用AS608指纹识别模块. 需要注意的是,本文中的ESP32是使用Micro Python进行开发的,(同时 ...
- 【极创】arduino入门之ESP8266和ESP32开发板的arduino环境配置
一.前言 在这个万物智联时代,廉价的ESP系列芯片与开发板成为众多开发者首选,其内包含强大的无线通讯功能,可以满足开发者们绝大部分的开发需求. 二.ESP8266与ESP32开发板的arduino环境 ...
- ESP32开发之旅——基于ESP32的室内空气质量检测系统
ESP32开发之旅--基于ESP32的室内空气质量检测系统 前言 成果展示 核心代码 MQTT部分 获取传感器数据部分 连接WiFi部分 结尾 前言 本文主要是我课设项目的一个备忘,部分资料来源于网上 ...
- ESP32开发之旅——MicroPython介绍
ESP32开发之旅--MicroPython介绍 什么是ESP32 为什么使用MicroPython开发ESP32 参考文献链接 什么是ESP32 ESP32是由我国乐鑫公司继ESP8266芯片后推出 ...
- ESP32开发之旅——搭建MicroPython开发环境
ESP32开发之旅--搭建MicroPython开发环境 获取ESP32-MicroPython固件 写入固件 编译器配置 编写第一行代码--Hello World 结尾 获取ESP32-MicroP ...
- c++ windows 蓝牙库_蓝牙翻页笔(PPT 控制器) | ESP32学习之旅-Arduino版
本系列历史文章目录: ESP32概述与Arduino软件准备 新冠肺炎疫情数据实时显示器 B 粉计数器 本期给大家带来的案例是:蓝牙翻页笔. 先来看一下演示视频吧: 蓝牙翻页笔 | PPT播放控制器 ...
最新文章
- S-D5舵机拆开看一看
- 中文分词_中文分词及其应用
- nginx上搭建https服务
- Java异常处理的一些经验总结
- android.os.binderproxy cannot be cast to,Android服务android.os.BinderProxy错误
- 『设计模式』我就要一个对象,你别给我这么多好不好!---单例模式
- OpenCV 2.4.0 正式版发布,开源计算机视觉库
- https://www.usb.org/
- JavaScript 从数组中删除元素方法
- haoi2018奇怪的背包题解
- VI 编辑器保存命令
- C#调用dll代码范例
- 一套小程序源码多少钱_微信点餐小程序怎么做,微信扫码点餐系统多少钱一套?...
- 计算机网络机房巡视表,机房巡查记录表.doc
- Linus 一生只为寻找欢笑(下)-转
- ENVI图像处理(6):NDVI和植被指数
- Android扫一扫 有仿微信版
- 好用的识别植物的软件app合集分享,快码住了
- JSP基础 mcv规范 EL
- 云效,云原生时代一站式研发平台
热门文章
- Ceph使用块设备完整操作流程
- 《C++编程风格(修订版)》——3.2 继承作用域准则
- java学习4-Maven的发布war并部署到tomcat
- hdu 2438 Turn the corner [ 三分 ]
- velocity mybatis spring 在maven的整合开发(四)
- 安装 pear、phpunit 测试用例步骤方法
- 内存分配知识:全局,局部,静态变量
- C语言家谱管理程序,c语言的家谱——interesting~
- 翁恺老师C语言学习笔记(十)指针_运算符取得变量的地址
- 2 | Spatial-based GNN/convolution 概念