Thonny介绍
一、Thonny的基本特点
- 面向初学者:Thonny的设计初衷是为了帮助Python初学者更轻松、更快速地入门编程。它提供了直观易懂的用户界面和丰富的功能,降低了编程的门槛。
- 轻量级:作为一款轻量级的IDE,Thonny不会占用过多的系统资源,使得初学者在有限的硬件条件下也能流畅地进行编程学习。
- 基于Python:Thonny是基于Python内置图形库tkinter开发的可视化工具,因此它完全面向Python初学者,与Python语言本身紧密相连。
二、Thonny的功能特点
- 代码编辑:Thonny提供了基本的代码编辑功能,如语法高亮、自动补全等,这些功能有助于提高编程效率和减少错误。
- 代码运行与调试:Thonny内置了Python解释器,可以直接运行Python代码,并提供了强大的调试功能,如断点设置、单步执行等,有助于初学者发现和解决程序中的错误。
- 变量查看:Thonny允许用户实时查看程序中变量的值,这有助于初学者理解程序的运行状态和变量之间的关系。
三、Thonny在嵌入式物联网领域的应用
- 硬件编程支持:虽然Thonny主要面向Python初学者,但它也支持通过串口、USB等方式连接外部设备(如ESP32、Arduino等),实现硬件编程。这使得Thonny在嵌入式物联网领域具有一定的应用价值。
- 与MicroPython结合:对于使用MicroPython进行ESP32等微控制器编程的开发者来说,Thonny是一个很好的选择。开发者可以使用Thonny将MicroPython固件烧录至ESP32,并通过Thonny编写和运行Python代码来控制ESP32。
- 易于学习和使用:对于初学者来说,Thonny的直观界面和丰富功能使得他们更容易上手Python编程和嵌入式物联网开发。这有助于降低学习门槛,提高学习效率。
下载
官方网址:Thonny, Python IDE for beginners
安装
下载完成后打开Thonny.exe软件
根据你的需求来,我这里就选择为所有用户安装
下一步
下一步
选择你要安装的目录,下一步
下一步
创建快捷图标
instal安装
等待安装完成
点击finish
第一次安装可能会弹出这个框框,选择简体中文,下面不动,选择Standard
安装完成后打开桌面的快捷方式
到这里就安装完成了
MicroPython介绍
MicroPython是一种精简的Python 3解释器,专为嵌入式系统而设计。
- 定义与特点:
- MicroPython是Python 3语言的精简实现,包括Python标准库的一小部分,并经过优化以在微控制器和受限环境中运行。
- 它使用C语言编写,是运行在微控制器硬件之上的完全的Python编译器和运行时系统。
- MicroPython与标准的Python(CPython)尽可能兼容,因此了解Python的用户可以轻松地过渡到MicroPython。
- 主要特性:
- 轻量级:解释器体积较小,通常仅100KB左右,通过编译成二进制Executable文件运行,执行效率较高。
- 直接硬件访问:提供对低级硬件的访问和控制,如GPIO、I2C、SPI等。
- 模块系统:拥有强大的模块系统,支持文件系统、网络、图形界面等功能。
- 兼容性:语法和功能与标准Python兼容,支持Python大多数核心语法。
- 交叉编译:支持交叉编译生成高效的原生代码,速度比解释器快10-100倍。
- 内存占用小:代码量少,内存占用小,适合运行在MCU和内存小的开发板上。
- 开源与免费:采用开源许可,免费使用。
- 应用场景:
- 嵌入式产品原型构建:为嵌入式产品快速构建原型和用户交互。
- 硬件项目:制作小型可编程硬件项目。
- 教育工具:作为教育工具,帮助初学者学习Python和物联网编程。
- 智能设备固件:构建智能设备固件,实现高级控制和云连接。
- 微控制器应用:各种微控制器应用,如物联网、嵌入式智能、机器人等。
- 注意事项:
- 内存和Flash空间有限:在使用MicroPython时,需要注意内存和Flash空间的限制。
- 开发环境:
- 用户可以通过交互式提示符(REPL)立即执行所支持的命令。
- MicroPython提供了许多丰富的库,可以方便地在微控制器上进行各种操作。
- 开发者可以在计算机或开发板上安装和配置MicroPython环境,并通过实践来巩固所学知识。
- 社区支持:
- MicroPython拥有活跃的社区,提供了丰富的教程、示例代码和讨论论坛,方便用户学习和交流。
下载ESP32的MicroPython固件
这里如果安装的是最新版的Thonny是可以不用自己手动下载固件的,在Thonny里面可以自动下载并安装,但是是普通版的固件
官方网址:MicroPython - Python for microcontrollers
点击进去
点击蓝色框的ESP32
点进去后发现有很多类型和版本,我用AI大概解释了一下每个类型的用途
- Firmware:
- 这是标准的MicroPython ESP32固件。它包含MicroPython解释器以及用于ESP32的基本库和模块。
- 推荐:对于学习使用,这是一个很好的起点。它提供了MicroPython的基本功能和ESP32硬件的基本支持。
- Firmware (ESP32 Unicore):
- 这个固件是为ESP32的单核处理器版本设计的。ESP32是一个双核处理器,但在某些应用中可能只需要使用一个核心。
- 推荐:如果您有特殊的硬件需求或想要学习如何在单核模式下使用ESP32,可以选择这个版本。但通常对于学习使用来说,标准版固件更为合适。
- Firmware (Support for OTA):
- 这个固件支持通过OTA(Over-the-Air)更新。它允许您通过无线方式更新ESP32上的MicroPython固件。
- 推荐:如果您计划在生产环境中使用ESP32,并且需要远程更新功能,那么这个版本是适合的。但对于学习使用来说,可能不是必需的。
- Firmware (ESP32 D2WD):
- 这个固件可能与ESP32的深度睡眠唤醒(Deep Sleep Wake-up)功能相关,但具体的描述在您的列表中并不明确。
- 推荐:如果您对ESP32的低功耗模式或深度睡眠功能感兴趣,并且需要学习如何使用它们,那么这个版本可能是一个好选择。但通常对于基础学习来说,它不是必需的。
- Firmware (Support for SPIRAM / WROVER):
- 这个固件支持具有外部SPI RAM(如WROVER模块)的ESP32开发板。外部RAM可以扩展ESP32的内存,使得可以运行更大的程序或处理更多数据。
- 推荐:如果您有一个带有外部SPI RAM的ESP32开发板,并且想要利用这个额外的内存,那么选择这个版本是合适的。但如果您只是进行基础学习,那么标准版固件应该就足够了。
- 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(),他能为你提供帮助和说明