淘宝买了一块 ESP32S 的板子,刚到就迫不及待的心情准备搞波大的,准备搞一下 NanoFramework 框架,也就是.Net 的嵌入式系统,支持 C#语言的嵌入式开发,当然也支持(C,C++,Lua,js,At 指令,C#)等等吧,语言种类很多,但是,支持 C#,我感觉就很开心,因为熟悉啊。

基于此,我就写写 ESP32 NanoFramework 框架的简单使用的例子。当然,后期为了对底层进行修改,我这里进行的是官方案例,根据官方的来的,所以,想搞简单方案的可以参考 VsCode 的相关例程。当然,后期我也会出一个。

关于买板子,其实都是根据一个模子出来的,型号选好即可。我这边的型号是 ESP32S,当然其他型号也可以,但是基本是 ESP32 开头。要不然,你自己就得多操心一下板子型号的相关问题。

ESP32 芯片简介

ESP32 SoC 芯片支持以下功能:

  1. 2.4 GHz Wi-Fi
  2. 蓝牙
  3. 高性能 Xtensa® 32 位 LX6 双核处理器
  4. 超低功耗协处理器
  5. 多种外设

ESP32 采用 40 nm 工艺制成,具有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,适用于各种应用场景和不同功耗需求。

乐鑫为用户提供完整的软、硬件资源,进行 ESP32 硬件设备的开发。其中,乐鑫的软件开发环境 ESP-IDF 旨在协助用户快速开发物联网 (IoT) 应用,可满足用户对 Wi-Fi、蓝牙、低功耗等方面的要求。

ESP-IDF 环境搭建

可以参考这篇文章

https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/index.html

当然,我也是参考这篇文章过来的。

本文档旨在指导用户搭建 ESP32 硬件开发的软件环境,通过一个简单的示例展示如何使用 ESP-IDF (Espressif IoT Development Framework) 配置菜单,并编译、下载固件至 ESP32 开发板等步骤。

准备工作

  1. 一款 ESP32 开发板(我这边是 ESP32S)
  2. USB 数据线 (A 转 Micro-B)
  3. 电脑(Windows、Linux 或 macOS)(我这边是 Windows 其他的参考官方文档)

开发板插入到电脑USB上

显示COM5 (不一定非得是5,可能是其他数字)才是正常的,如果不正常,需要下载驱动,我这个板子需要的驱动可以从

https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

下载 CP210x 通用 Windows 驱动程序,里面有 64.exe ,双击就OK,然后,插拔一下开发板即可。

安装 ESP-IDF

第一步:下载 ESP-IDF

地址:

https://dl.espressif.com/dl/esp-idf/?idf=4.4

我下载的是这个,看着相对小点(下载速度不是很快)

下载完

就简单了。直接双击运行

直接下一步,这个地方有环境变量,需要注意,另外会开启 windows 的防御机制,我后边又给关了,太耗性能了

我一般都选 D 盘,C 盘大的,就直接 C 盘了

全选,直接下一步

最后,桌面生成了我们需要的。

至此,安装是完毕了。

第二步安装其他工具

  1. python (3.7 ++)
  2. git

这两个是必须安装的,先安装了先。

第三步:设置环境变量

先设置新安装工具的环境变量

设置 ESP-IDF 的环境变量

在 D:\Espressif\frameworks\esp-idf-v4.3.3 目录下(其他目录下的 对应即可)

执行

export.ps1

再执行

install.ps1 all

执行完之后,用户的环境变量里已经有数据了

构建系统

构建命令

idf.py 命令包含了以下相应的功能

  1. CMake,配置待构建的项目
  2. 命令行构建工具(Ninja 或 GNU Make)
  3. esptool.py,烧录目标硬件设备

构建的时候,我们使用的命令是

  1. 设置构建目标的平台,我这里的平台是esp32
idf.py set-target esp32
  1. 设置硬件平台相应的参数信息
idf.py menuconfig

会如下图所示

可以通过此菜单设置项目的具体变量,包括 Wi-Fi 网络名称、密码和处理器速度等. hello_world 示例项目会以默认配置运行,因此可以跳过使用 menuconfig 进行项目配置这一步骤。

  1. 构建命令
idf.py build
  1. 下载到ESP32上
idf.py -p COM5 -b 115200 flash

命令很简单,com5就是我这边的串口名,你可以改成你自己的

115200就是我设置的串口的波特率,你也可以设置成一样的,或者其他都可以。

  1. 清除 或 全清除
idf.py clean
idf.py fullclean

我试了两个命令都可以起到重新编译项目的目的。

构建样例

复制

D:\Espressif\frameworks\esp-idf-v4.3.3\examples\get-started\hello_world

项目到

H:\hello_world

我这边是这样的目录,你那边可以随意。

启动命令行

启动任意一个,我启动powershell的

它会自动输出一堆,不用管。

直接到刚才复制的项目目录下

PS D:\Espressif\frameworks\esp-idf-v4.3.3> cd H:\hello_world
PS H:\hello_world>

然后,执行命令

PS H:\hello_world> idf.py build

它会自己输出很多,还有 编译的过程,链接的过程。


就等待它自己编译完。


编译完输出上面那句话。

D:\Espressif\python_env\idf4.3_py3.8_env\Scripts\python.exe D:\Espressif\frameworks\esp-idf-v4.3.3\components\esptool_py\esptool\esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32  write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 build\bootloader\bootloader.bin 0x8000 build\partition_table\partition-table.bin 0x10000 build\hello-world.bin
or run 'idf.py -p (PORT) flash'

这句话的意思里面有一个重点,重点是它其实是生成了三个bin文件

  1. build\bootloader\bootloader.bin 0x1000
  2. build\partition_table\partition-table.bin 0x8000
  3. build\hello-world.bin 0x10000

这三个bin文件分别是: bootloader,分区表,应用程序 三个文件,后边应该就是它们存储的内部Flash地址了。

为啥是这样的结构呢,且听以后分解(有些大佬肯定是知道的)。

当然,其实系统也提供一条命令执行

idf.py -p COM5 -b 115200 flash

执行后,如下图所示:

然后,可以通过串口助手查看一下(需要注意串口占用的问题,尽量只有一方在使用)。

其中,原示例代码,我已经改了。暂时没有支持中文的串口助手,以后再说。

通过串口助手,我们已经看到,结果跟我们想的一样。

总结

我们已经基于 ESP32官方的 ESP-IDF工具来完成了ESP32的项目逻辑修改,编译,生成,和下载。官方示例很多,也可以多试几个,学习一下。

接下来会把 NanoFramework 给烧成并生成出来,这个时候,才可以用C#。目前还是C。一步一步来。

参考链接

https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/index.html

一键三连呦!,感谢大佬的支持,您的支持就是我的动力!

ESP32 系列之 ESP-IDF 官方构建方案相关推荐

  1. ESP32系列音频开发板方案,智能音箱无线WiFi技术升级应用

    移动互联网发展至今,视频及直播已成为主流传播方式.短视频及电商直播进一步黏合人们的碎片化时间,用户渗透率高达90.4%,视频的电商转化率也升至72%,各场景使用比例全线增长. 而相关硬件支持的智能音频 ...

  2. 乐鑫代理启明云端分享| ESP32系列教程之五: Eclipse搭建esp-idf环境

    提示:前面小明已经为大家分享了4个章ESP32系列教程,今天继续为大家分享,希望大家多多关注我们!启明云端作为乐鑫代理,一直希望能帮到更多的开发者能快速上手乐鑫系列芯片的开发. 前言 提示:本文档为E ...

  3. 乐鑫代理启明云端分享|ESP32 系列教程之四: Windows 搭建 esp-idf 环境

    提示: 本文档为 ESP32 教程系列,旨在为客户进行 ESP32 系列芯片开 发提供环境搭建.工程示例演示等方面的参考文档及视频演示,降低 ESP32 系列芯片.模组开发的入门难度. ESP32 教 ...

  4. ESP HMI 智能屏方案介绍

    随着智能化设备的普及,现代化的人机交互(HMI)取代了传统的按钮和开关,允许用户通过轻触屏幕或语音来控制其他设备.乐鑫充分发挥 ESP32 系列芯片在人机交互领域的能力,面向各垂直市场,推出单芯片 H ...

  5. esp32系列(1):Hello world, 初识esp32

    ESP32学习记录: esp32系列(1):Hello world, 初识esp32 搭建VScode下的esp32开发环境,hello esp32. esp32系列(2):工程结构学习,从新建工程到 ...

  6. 乐鑫代理启明云端分享|ESP32系列教程之三: VS Code远程连接Linux

    提示:本文档为ESP32教程系列,旨在为客户进行ESP32系列芯片开发提供环境搭建.工程示例演示等方面的参考文档及视频演示,降低ESP32系列芯片.模组开发的入门难度. ESP32教程系列文档主要参考 ...

  7. 乐鑫代理-启明云端分享ESP32系列教程之二:Linux搭建esp-idf环境

    提示:此教程依据乐鑫官方的ESP32入门教程总结而来,仅供个人参考学学习,如有错误,欢迎批评指正.乐鑫官方参考: 乐鑫官方文档地址 1.搭建esp-idf环境 1.1安装虚拟机与Ubuntu 未安装请 ...

  8. ESP32系列--第六篇 WiFi AP模式

    一.目的 在上一篇<ESP32系列--第五篇 WiFi Station模式>我们介绍了station模式,本篇我们介绍一下AP模式. 二.准备 首先我们从esp-idf里面拷贝一份官方的示 ...

  9. 物联网开发笔记(68)- 使用Micropython开发ESP32开发板之使用官方工具esptool烧录

    一.目的 这一节我们学习如何使用我们的ESP32开发板来烧录. 二.环境 ESP32 + esptool + Win10 + python3.10 + 其他工具. ESP32开发板购买地址: http ...

  10. 【工程师有空了】安信可ESP8266系列及ESP32系列模组AT指令实现网页配网---又多了一个配网方式

    文章目录 前言 AT指令介绍: 配网原理 一.实验准备 可能你还要用到: 二.编译固件 三.开启配网 四.常见问题 1.AT固件烧录不显示 "ready" 2.显示配网失败 3.除 ...

最新文章

  1. python爬虫requests实战_Python_爬虫_requests小实战
  2. 看看神经网络如何高度还原你的年轻容貌!
  3. 关于Timer的用法,先简单记下,稍后编辑
  4. Java对二叉树的操作
  5. 【每周CV论文】初学GAN图像风格化必须要读的文章
  6. 轻松把玩HttpClient之封装HttpClient工具类(五),携带Cookie的请求
  7. 架构师进阶之独孤九剑:设计模式详解
  8. 2021高考成绩查询大连,2021年大连高考各高中成绩及本科升学率数据排名及分析...
  9. java某个起点出发的最长路径_【leetcode-动态规划】矩阵中的最长递增路径
  10. 深度卷积神经网络_深度卷积神经网络中的降采样
  11. Oracle中的Date、TimeStamp和Interval(上)
  12. Hadoop/HBase 配置snappy压缩
  13. Qt制作的一款即时通讯软件
  14. 防范勒索软件的七大举措
  15. 我的日程安排表 II
  16. 路由器IP地址的配置
  17. 【Word】如何设置交叉引用标注参考文献与设置上标
  18. 3D变电站vr建模三维展示可视化管理系统
  19. pc控制iphone的软件_太好用了,这个软件可以让你在电脑上自由控制 iPhone和安卓手机!...
  20. MLCC电容和电介质材料类别X5R,X7R,Y5V,COG等一些资料

热门文章

  1. huge形式_Linux hugepage使用与实现
  2. Java实现按分数排名,同分同名次
  3. 什么是Base64 编码,Base64 编码有哪些优缺点?
  4. Visual Studio 2019 企业版 16.9.x 创建离线包并安装教程(带百度网盘下载地址和序列号)
  5. 浅谈文件捆绑技术及实现方式
  6. Win10删除右键多余选项菜单
  7. 关于数据埋点的认识以及在流量分析系统中的实际使用
  8. 2021年中国机动车保有量及机动车污染物排放情况分析[图]
  9. ReclyclerView刷新数据
  10. m4s格式转换mp3_高质量音频转换器,如何转换成mp3音频格式