下载安装Thonny并烧录MicroPython固件至ESP32

2024-06-09 16:04

本文主要是介绍下载安装Thonny并烧录MicroPython固件至ESP32,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Thonny介绍

一、Thonny的基本特点

  1. 面向初学者:Thonny的设计初衷是为了帮助Python初学者更轻松、更快速地入门编程。它提供了直观易懂的用户界面和丰富的功能,降低了编程的门槛。
  2. 轻量级:作为一款轻量级的IDE,Thonny不会占用过多的系统资源,使得初学者在有限的硬件条件下也能流畅地进行编程学习。
  3. 基于Python:Thonny是基于Python内置图形库tkinter开发的可视化工具,因此它完全面向Python初学者,与Python语言本身紧密相连。

二、Thonny的功能特点

  1. 代码编辑:Thonny提供了基本的代码编辑功能,如语法高亮、自动补全等,这些功能有助于提高编程效率和减少错误。
  2. 代码运行与调试:Thonny内置了Python解释器,可以直接运行Python代码,并提供了强大的调试功能,如断点设置、单步执行等,有助于初学者发现和解决程序中的错误。
  3. 变量查看:Thonny允许用户实时查看程序中变量的值,这有助于初学者理解程序的运行状态和变量之间的关系。

三、Thonny在嵌入式物联网领域的应用

  1. 硬件编程支持:虽然Thonny主要面向Python初学者,但它也支持通过串口、USB等方式连接外部设备(如ESP32、Arduino等),实现硬件编程。这使得Thonny在嵌入式物联网领域具有一定的应用价值。
  2. 与MicroPython结合:对于使用MicroPython进行ESP32等微控制器编程的开发者来说,Thonny是一个很好的选择。开发者可以使用Thonny将MicroPython固件烧录至ESP32,并通过Thonny编写和运行Python代码来控制ESP32。
  3. 易于学习和使用:对于初学者来说,Thonny的直观界面和丰富功能使得他们更容易上手Python编程和嵌入式物联网开发。这有助于降低学习门槛,提高学习效率。

下载

官方网址:Thonny, Python IDE for beginners

安装

下载完成后打开Thonny.exe软件

根据你的需求来,我这里就选择为所有用户安装

下一步

下一步

选择你要安装的目录,下一步

下一步

创建快捷图标

instal安装

等待安装完成

点击finish

第一次安装可能会弹出这个框框,选择简体中文,下面不动,选择Standard

安装完成后打开桌面的快捷方式
 

到这里就安装完成了

MicroPython介绍

MicroPython是一种精简的Python 3解释器,专为嵌入式系统而设计。

  1. 定义与特点
    • MicroPython是Python 3语言的精简实现,包括Python标准库的一小部分,并经过优化以在微控制器和受限环境中运行。
    • 它使用C语言编写,是运行在微控制器硬件之上的完全的Python编译器和运行时系统。
    • MicroPython与标准的Python(CPython)尽可能兼容,因此了解Python的用户可以轻松地过渡到MicroPython。
  2. 主要特性
    • 轻量级:解释器体积较小,通常仅100KB左右,通过编译成二进制Executable文件运行,执行效率较高。
    • 直接硬件访问:提供对低级硬件的访问和控制,如GPIO、I2C、SPI等。
    • 模块系统:拥有强大的模块系统,支持文件系统、网络、图形界面等功能。
    • 兼容性:语法和功能与标准Python兼容,支持Python大多数核心语法。
    • 交叉编译:支持交叉编译生成高效的原生代码,速度比解释器快10-100倍。
    • 内存占用小:代码量少,内存占用小,适合运行在MCU和内存小的开发板上。
    • 开源与免费:采用开源许可,免费使用。
  3. 应用场景
    • 嵌入式产品原型构建:为嵌入式产品快速构建原型和用户交互。
    • 硬件项目:制作小型可编程硬件项目。
    • 教育工具:作为教育工具,帮助初学者学习Python和物联网编程。
    • 智能设备固件:构建智能设备固件,实现高级控制和云连接。
    • 微控制器应用:各种微控制器应用,如物联网、嵌入式智能、机器人等。
  4. 注意事项
    • 内存和Flash空间有限:在使用MicroPython时,需要注意内存和Flash空间的限制。
  5. 开发环境
    • 用户可以通过交互式提示符(REPL)立即执行所支持的命令。
    • MicroPython提供了许多丰富的库,可以方便地在微控制器上进行各种操作。
    • 开发者可以在计算机或开发板上安装和配置MicroPython环境,并通过实践来巩固所学知识。
  6. 社区支持
    • MicroPython拥有活跃的社区,提供了丰富的教程、示例代码和讨论论坛,方便用户学习和交流。

下载ESP32的MicroPython固件

这里如果安装的是最新版的Thonny是可以不用自己手动下载固件的,在Thonny里面可以自动下载并安装但是是普通版的固件

官方网址:MicroPython - Python for microcontrollers

点击进去

点击蓝色框的ESP32

点进去后发现有很多类型和版本,我用AI大概解释了一下每个类型的用途

  1. Firmware
    • 这是标准的MicroPython ESP32固件。它包含MicroPython解释器以及用于ESP32的基本库和模块。
    • 推荐:对于学习使用,这是一个很好的起点。它提供了MicroPython的基本功能和ESP32硬件的基本支持。
  2. Firmware (ESP32 Unicore)
    • 这个固件是为ESP32的单核处理器版本设计的。ESP32是一个双核处理器,但在某些应用中可能只需要使用一个核心。
    • 推荐:如果您有特殊的硬件需求或想要学习如何在单核模式下使用ESP32,可以选择这个版本。但通常对于学习使用来说,标准版固件更为合适。
  3. Firmware (Support for OTA)
    • 这个固件支持通过OTA(Over-the-Air)更新。它允许您通过无线方式更新ESP32上的MicroPython固件。
    • 推荐:如果您计划在生产环境中使用ESP32,并且需要远程更新功能,那么这个版本是适合的。但对于学习使用来说,可能不是必需的。
  4. Firmware (ESP32 D2WD)
    • 这个固件可能与ESP32的深度睡眠唤醒(Deep Sleep Wake-up)功能相关,但具体的描述在您的列表中并不明确。
    • 推荐:如果您对ESP32的低功耗模式或深度睡眠功能感兴趣,并且需要学习如何使用它们,那么这个版本可能是一个好选择。但通常对于基础学习来说,它不是必需的。
  5. Firmware (Support for SPIRAM / WROVER)
    • 这个固件支持具有外部SPI RAM(如WROVER模块)的ESP32开发板。外部RAM可以扩展ESP32的内存,使得可以运行更大的程序或处理更多数据。
    • 推荐:如果您有一个带有外部SPI RAM的ESP32开发板,并且想要利用这个额外的内存,那么选择这个版本是合适的。但如果您只是进行基础学习,那么标准版固件应该就足够了。
  6. Firmware (Compiled with IDF 3.x)
    • 这个固件是使用ESP-IDF(Espressif IoT Development Framework)的3.x版本编译的。ESP-IDF是Espressif Systems提供的官方开发框架,用于开发基于ESP32的应用程序。
    • 推荐:如果您对ESP-IDF或希望了解MicroPython固件与ESP-IDF之间的兼容性,那么可以选择这个版本。但对于大多数学习使用来说,标准版固件应该就足够了。

那这里我们就选择第一个普通的最新版的固件下载:Firmware

烧录固件

点击选项,管理插件

安装(点击)esptool

点击选项

选择你用的芯片,我这里选择ESP32

可以选为自己的固件

或者选择对应的信息,然后点击安装,会自动帮你下载安装

关闭

下载完成后可以按下复位键,如果有下图内容即烧录成功

运行LED闪烁

写一段板载LED闪烁代码:

import machine  # 这行代码导入了machine模块,该模块提供了与硬件交互的接口,比如控制GPIO引脚。  import time  # 这行代码导入了time模块,用于处理时间相关的操作,比如延时。# 初始化LED引脚(这里假设是GPIO 2,也就是D2)  
led = machine.Pin(2, machine.Pin.OUT)  
while True:  # 打开LED  led.on()  # 等待一段时间(例如0.5秒)  time.sleep(0.5)  # 关闭LED  led.off()  # 再等待一段时间(例如0.5秒)  time.sleep(0.5)

点击保存,选择MrcroPython设备

自己命名,我就选择了main.py

点击运行

即可看见板载LED正在运行了

还有一种方法能运行LED闪烁,我们先停止
 

我们可以在下面输入我们的代码,一步一步运行,也可以实现LED闪烁功能

并且你输入:help(),他能为你提供帮助和说明
 

这篇关于下载安装Thonny并烧录MicroPython固件至ESP32的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1045644

相关文章

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index

探索蓝牙协议的奥秘:用ESP32实现高质量蓝牙音频传输

蓝牙(Bluetooth)是一种短距离无线通信技术,广泛应用于各种电子设备之间的数据传输。自1994年由爱立信公司首次提出以来,蓝牙技术已经经历了多个版本的更新和改进。本文将详细介绍蓝牙协议,并通过一个具体的项目——使用ESP32实现蓝牙音频传输,来展示蓝牙协议的实际应用及其优点。 蓝牙协议概述 蓝牙协议栈 蓝牙协议栈是蓝牙技术的核心,定义了蓝牙设备之间如何进行通信。蓝牙协议

lvgl_micropython development for esp32

​​​​​​上一篇博客已经编译源码生成了ESP32C3的固件lvgl_micropy_ESP32_GENERIC_C3-4.bin,这篇博客开发一个界面。 一、开发环境 1、安装开发工具 Windows安装Thonny工具,官网链接:Thonny, Python IDE for beginners。 参考博客:用MicroPython开发ESP32- 用Thonny写程序_esp32用什么

ESP32通过I2C驱动PCA9557IO扩展芯片

前言 ESP32自带的IO管脚比较有限,这个时候我们就需要使用一些IO扩展芯片扩展我们的IO,今天就介绍一款使用I2C接口扩展8个IO的芯片 PCA9557 PCA 9557芯片介绍 PCA9557是一款硅CMOS电路,为SMBus和I²C总线应用提供并行输入/输出扩展。PCA9557由8位输入端口寄存器、8位输出端口寄存器和I²C总线/SMBus接口组成。具有低电流消耗和高阻抗开漏输出引脚

ESP32使用MQTT_TCP连接阿里云

ESP32-IDF中MQTT函数的介绍 esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *config) 函数功能:mqtt 客户端初始化 函数形参: mqtt 客户端的配置 函数返回值:正确则返回根据配置创建的 mqtt 客户端句柄;异常则返回 NULL。 其中函数形参 esp_mqtt

ESP32作为ModbusRTU主机读取从机数据

简介 ESP32 作为 ModbusRTU主机读取从机的数据,使用ESP32的串口2实现 代码改造 在 mb_master 的例程上修改 修改工程配置,将modbus模式修改成 RTU 模式,其他设置保持默认. demo工程解析 程序运行时读取以下寄存器: 保持寄存器 从寄存器0开始 读取6个寄存器保持寄存器 从寄存器10开始 读取58个寄存器,如果寄存器的内容不是0xAAAA,则将0x

ESP32使用按键配网并通过LED指示网络状态

前言 上面我们已经可以通过 ESPTOUCH 和 Airkiss 给模块配网,并且存储在 nvs 中,重启后仍然可以联网,只是这样仍然不能满足我们实际的应用,这次我们增加按键作为输入,LED作为输出,实现长按按键配网,并可以通过LED指示网络状态。 添加自己的组件 为了让程序结构更加清晰,所以我们在smart_config例程的基础上做了修改,在main文件夹里新建了main.c 、smar

ESP32使用Smartconfig和Airkiss配网方式连接无线路由器

1. ESP32的配网方式 1.1 前言 ESP32模块在实际使用时,可能需要连接不同的网络,如果将无线的 ssid 和 key 预先固定好,就回存在很大的局限性;所以我们引入了“空中配网技术”,比如smartconfig,airkiss,蓝牙辅助配网等等。 Smartconfig与Airkiss 是目前使用比较广泛的空中配网技术,smartconfig 需要专用的 app 才能实现,air

通过ESP32读取I2C温湿度传感器项目:协议与代码实例

简介 在本项目中,我们将使用ESP32开发板读取I2C温湿度传感器的数据。我们将详细介绍I2C协议,并提供图文并茂的代码实例,帮助你快速上手。 项目流程 选择硬件:ESP32开发板、I2C温湿度传感器(如DHT12、HTU21D、SHT30等)、连接线和面包板。了解I2C协议:I2C(Inter-Integrated Circuit)是一种常用的串行通信协议,适用于短距离通信。硬

Adobe Acrobat 编辑器软件下载安装,Acrobat 轻松编辑和管理各种PDF文件

Adobe Acrobat,它凭借卓越的功能和丰富的工具,为用户提供了一个全面的解决方案,用于查看、创建、编辑和管理各种PDF文件。 作为一款专业的PDF阅读器,Adobe Acrobat能够轻松打开并展示各种格式的PDF文档,无论是文字、图片还是表格,都能以清晰、准确的方式呈现给用户。 同时,它还支持多种缩放和浏览模式,让用户能够根据自己的需求自由调整阅读界面,获得最佳的阅读体验。 在