当前位置: 首页 > news >正文

【Arduino IDE】安装及开发环境、ESP32库

一、Arduino IDE下载
二、Arduino IDE安装
三、ESP32库
四、Arduino-ESP32库配置
五、新建ESP32-S3N15R8工程文件

乐鑫官网
Arduino官方下载地址
Arduino官方社区
Arduino中文社区

一、Arduino IDE下载

ESP-IDF、MicroPython和Arduino是三种不同的开发框架,各自适用于不同的场景和用户群体,下面我将从用户领域、优缺点等方面来详细阐述它们的区别:

ESP-IDF (Espressif IoT Development Framework)

用户领域
  • 主要面向专业开发者和工程师,特别是那些需要深度定制和优化IoT应用的人。
  • 适合于产品级开发,要求高性能、稳定性和安全性。
优点
  • 提供全面的硬件和软件支持,包括WiFi、蓝牙、安全协议等。
  • 官方维护,文档齐全,更新及时,支持多种高级特性如microROS。
  • 适合产品化,可进行深度定制和优化,满足复杂项目需求。
缺点
  • 学习曲线较陡峭,需要一定的嵌入式开发背景。
  • 资料和教程相对较少,尤其是对于初学者。
  • 工程复杂度较高,不适合快速原型开发。

MicroPython

用户领域
  • 面向希望快速开发原型和小型项目的开发者,特别是喜欢Python语言的用户。
  • 适合教育和研究领域,因其易于学习和使用。
优点
  • 使用Python语法,代码可读性强,易于学习和调试。
  • 轻量级,能够在资源受限的微控制器上运行。
  • 支持实时操作系统特性,如中断和多任务。
缺点
  • 性能和效率可能低于C/C++,尤其是在处理密集型任务时。
  • 库支持和外设驱动可能不如C/C++丰富。
  • 对于大型项目或复杂应用,可能需要更多的资源和优化。

Arduino

用户领域
  • 广泛应用于教育、DIY项目和快速原型设计。
  • 适合电子爱好者、初学者和不需要高度定制的项目。
优点
  • 易于上手,有大量的教程和社区支持。
  • 硬件和软件生态丰富,支持多种微控制器和扩展板。
  • 强大的库支持,简化了硬件交互和复杂功能的实现。
缺点
  • 与ESP-IDF相比,可能缺乏深度的硬件控制和优化。
  • 受限于Arduino IDE,可能不适合大型或复杂项目。
  • 性能可能不是最优,尤其是在处理网络或大量数据时。

结论

选择ESP-IDF、MicroPython还是Arduino主要取决于你的项目需求、个人技能和偏好。如果你需要构建一个高性能、稳定的产品,ESP-IDF可能是最佳选择;如果速度和效率不是首要考虑因素,且你更喜欢Python语言,那么MicroPython是一个很好的选择;而Arduino则非常适合快速原型制作和教育目的。

Arduino官方教程实例

二、Arduino IDE安装

安装过程没有什么特别设置的选项默认PC软件安装过程

加载完成首选项设置

弹出的驱动安装即可

三、ESP32库

Arduino-ESP32库,也称为Arduino core for ESP32,是Espressif Systems为Arduino社区提供的一个开发框架,旨在使ESP32芯片能够兼容Arduino IDE和其广泛的生态系统。这个库允许开发者使用熟悉的Arduino编程语言和IDE来开发基于ESP32的项目。

Arduino-ESP32库的特点:

  1. 兼容性

    • 它使得ESP32芯片可以像其他Arduino兼容板一样使用,这意味着你可以利用Arduino IDE中的所有功能和库。
  2. 硬件抽象层

    • 提供了硬件抽象层,使开发者能够以标准化的方式访问ESP32的硬件资源,如GPIO、ADC、DAC、SPI、I2C、UART等。
  3. 丰富的库支持

    • 包括了Arduino IDE自带的库,同时也支持第三方库的安装和使用,极大地扩展了开发者的工具箱。
  4. 网络功能

    • ESP32内置了WiFi和蓝牙功能,Arduino-ESP32库提供了相应的库来方便地使用这些无线通信功能。
  5. 易于使用

    • 通过简单的安装过程即可在Arduino IDE中使用,降低了开发门槛,使得即使是初学者也能快速上手。
  6. 性能和功能

    • ESP32芯片本身具有双核处理器、高速RAM和大量闪存,提供了比传统Arduino板更高的性能,同时Arduino-ESP32库充分利用了这些硬件资源。

安装和使用Arduino-ESP32库:

  1. 添加ESP32板的支持

    • 在Arduino IDE的“首选项”中,将ESP32的板管理器URL添加到“附加的板管理器URLs”。
  2. 安装库

    • 通过Arduino IDE的“工具”>“板”>“板管理器”,找到并安装ESP32板的库。
  3. 选择ESP32板

    • 在“工具”菜单中选择ESP32板的具体型号。
  4. 开始编程

    • 现在你可以使用Arduino IDE创建、编辑、编译和上传程序到ESP32板上。

Arduino-ESP32库极大地拓展了Arduino平台的能力,不仅保持了Arduino的易用性,还增加了ESP32的强大功能,使之成为物联网(IoT)项目、无线通信和数据采集的理想选择。

四、Arduino-ESP32库配置

资料:
https://pan.baidu.com/s/1A19N218T66hs4PgRgdTqgQ 提取码:ixmr
视频讲义:
https://pan.baidu.com/s/1f77n15_pZbNisYBbO2Dqyw 提取码:x6mj

由于GitHub上下载容易失败推荐离线安装

离线安装

GitHub相关文件

在 GitHub 下载,再安装编译
乐鑫GitHub
arduino-esp32

git branch -a
git checkout esp32-s3-surpport  分支

五、新建ESP32-S3N15R8工程文件

详细说明:

官方参数说明

在Arduino IDE中合理配置ESP32-S3运行参数

ESP32-S3 Arduino工程参数配置

运行ESP32-S3 Arduino工程

  1. 用串口线连接开发板的UART口
  2. IDE上选择对应端口号
  1. 简单编写几行代码
  2. 编译下载
  1. 查看代码运行效果

调用示例代码

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • PF4J+SpringBoot
  • Vscode中Github copilot插件无法使用(出现感叹号)解决方案
  • Vite的WebSocket
  • python的tkinter、socket库开发tcp的客户端和服务端
  • 智慧博物馆的“眼睛”:视频智能监控技术守护文物安全与智能化管理
  • 详细解析Kafaka Streams中各个DSL操作符的用法
  • Hive第三天
  • 单例模式 饿汉式和懒汉式的区别
  • 推荐一款处理TCP数据的架构--EasyTcp4Net
  • JavaScript:移除元素
  • 基于STM32设计的智能门锁(微信小程序+手机APP等多种方式开锁)(188)
  • yarn的安装和配置以及更新总结,npm的对照使用差异
  • 2024最新Cloudways主机使用教程(含最新Cloudways折扣码)
  • adb命令操作手机各种开关
  • 题解:小S与机房里的电脑 Computer_C++算法竞赛_贪心_二分答案_模拟_数据结构
  • 【刷算法】从上往下打印二叉树
  • C语言笔记(第一章:C语言编程)
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • Go 语言编译器的 //go: 详解
  • HashMap ConcurrentHashMap
  • Linux快速复制或删除大量小文件
  • python学习笔记 - ThreadLocal
  • React系列之 Redux 架构模式
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Sass Day-01
  • SpringBoot几种定时任务的实现方式
  • Spring核心 Bean的高级装配
  • SSH 免密登录
  • Terraform入门 - 3. 变更基础设施
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 区块链技术特点之去中心化特性
  • 如何合理的规划jvm性能调优
  • 最简单的无缝轮播
  • raise 与 raise ... from 的区别
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​香农与信息论三大定律
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #《AI中文版》V3 第 1 章 概述
  • #if 1...#endif
  • (33)STM32——485实验笔记
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (排序详解之 堆排序)
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (四)Controller接口控制器详解(三)
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (自用)交互协议设计——protobuf序列化
  • .apk文件,IIS不支持下载解决
  • .net core + vue 搭建前后端分离的框架
  • .NET 回调、接口回调、 委托
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET委托:一个关于C#的睡前故事