[Diao Ye aprende programación] Manual de MicroPython Biblioteca de puertos específicos ESP32 esp32.Partition.RUNNING

Insertar descripción de la imagen aquí

MicroPython es una versión ligera del intérprete diseñada para ejecutar el lenguaje de programación Python 3 en sistemas integrados. En comparación con Python normal, el intérprete de MicroPython es pequeño (solo alrededor de 100 KB) y se compila en un archivo ejecutable binario para su ejecución, lo que resulta en una mayor eficiencia de ejecución. Utiliza un mecanismo de recolección de basura liviano y elimina la mayor parte de la biblioteca estándar de Python para adaptarse a microcontroladores con recursos limitados.

Las características principales de MicroPython incluyen:
1. La sintaxis y las funciones son compatibles con Python estándar, lo que facilita su aprendizaje y uso. Admite la mayor parte de la sintaxis principal de Python.
2. Acceda y controle directamente el hardware, controle GPIO, I2C, SPI, etc. como Arduino.
3. Potente sistema de módulos, que proporciona sistema de archivos, red, interfaz gráfica y otras funciones.
4. Admite compilación cruzada para generar código nativo eficiente, que es entre 10 y 100 veces más rápido que el intérprete.
5. La cantidad de código es pequeña y el uso de memoria es pequeño, adecuado para ejecutarse en MCU y placas de desarrollo con poca memoria.
6. Licencia de código abierto, de uso gratuito. El entorno interactivo de Shell proporciona comodidad para el desarrollo y las pruebas.
7. El controlador de E/S incorporado admite una gran cantidad de plataformas de microcontroladores, como ESP8266, ESP32, STM32, micro:bit, placa de control y PyBoard, etc. Hay una comunidad activa.

Los escenarios de aplicación de MicroPython incluyen:
1. Crear rápidamente prototipos e interacciones de usuario para productos integrados.
2. Realice algunos pequeños proyectos de hardware programables.
3. Como herramienta educativa, ayuda a los principiantes a aprender programación en Python e IoT.
4. Cree firmware para dispositivos inteligentes para lograr control avanzado y conectividad en la nube.
5. Diversas aplicaciones de microcontroladores como Internet de las cosas, inteligencia integrada, robots, etc.

Cosas a tener en cuenta al utilizar MicroPython:
1. La memoria y el espacio Flash son limitados.
2. La eficiencia de explicación y ejecución no es tan buena como la del lenguaje C.
3. Algunas funciones de la biblioteca son diferentes a las de la versión estándar.
4. Optimice la sintaxis de la plataforma y corrija las diferencias con Python estándar.
5. Utilice los recursos de memoria de forma racional y evite asignar grandes bloques de memoria con frecuencia.
6. Utilice código nativo para mejorar el rendimiento de las piezas críticas para la velocidad.
7. Utilice la abstracción de forma adecuada para encapsular las operaciones de hardware subyacentes.

En términos generales, MicroPython lleva Python al campo de los microcontroladores, lo cual es una innovación importante que no solo reduce el umbral de programación sino que también proporciona buenas capacidades de control de hardware. Es muy adecuado para el desarrollo de varios tipos de Internet de las cosas y hardware inteligente.
Insertar descripción de la imagen aquí

El esp de MicroPython se refiere al firmware de MicroPython y las bibliotecas de software relacionadas para los chips ESP8266 y ESP32. ESP8266 y ESP32 son una clase de módulos Wi-Fi y Bluetooth de bajo costo y bajo consumo ampliamente utilizados en IoT y sistemas integrados. El esp de MicroPython proporciona un entorno de secuencias de comandos avanzado para ambos chips, lo que permite a los desarrolladores utilizar el lenguaje Python para la creación y el desarrollo rápidos de prototipos.

ESP8266: Es un módulo/chip Wi-Fi de bajo costo y bajo consumo desarrollado por Espressif Systems. Tiene una pila de protocolos TCP/IP incorporada, se puede utilizar para conectarse a Internet y tiene sólidas capacidades de procesamiento. El esp de MicroPython proporciona firmware y bibliotecas de software relacionadas para ESP8266, lo que permite a los desarrolladores utilizar el lenguaje MicroPython para desarrollar aplicaciones ESP8266.

ESP32: Es un módulo/chip Wi-Fi y Bluetooth altamente integrado lanzado por Espressif Systems, en comparación con ESP8266, tiene una potencia de procesamiento más potente, más interfaces periféricas y más memoria. El esp de MicroPython también proporciona firmware y bibliotecas de software relacionadas para ESP32, lo que permite a los desarrolladores utilizar el lenguaje MicroPython para desarrollar aplicaciones ESP32.

Firmware esp de MicroPython: es una versión de firmware de MicroPython específica para chips ESP8266 y ESP32. Estos firmwares se han optimizado específicamente para ejecutarse en ESP8266 y ESP32 y proporcionan API para interacción de hardware, comunicación de red y control de periféricos.

Bibliotecas de software: el esp de MicroPython también proporciona una serie de bibliotecas de software relacionadas con el hardware ESP8266 y ESP32 para simplificar y acelerar el proceso de desarrollo. Estas bibliotecas de software proporcionan un amplio conjunto de interfaces funcionales, que cubren hardware y protocolos de comunicación de uso común, como Wi-Fi, Bluetooth, GPIO (entrada y salida de uso general), I2C, SPI y PWM, lo que permite a los desarrolladores acceder y controlar fácilmente el hardware. recursos.
Insertar descripción de la imagen aquí

esp32.Partition.RUNNING es una constante en MicroPython que se utiliza para representar la partición en ejecución actual de ESP32. Proporciona acceso e identificación a la partición en ejecución para que se puedan realizar las operaciones apropiadas durante el proceso de desarrollo. La siguiente es una explicación detallada de sus características principales, escenarios de aplicación y asuntos que requieren atención, y se brindan varios casos de aplicación práctica:

caracteristica principal:

esp32.Partition.RUNNING es una constante utilizada para representar la partición en la que ESP32 se está ejecutando actualmente.
Proporciona acceso e identificación a la partición en ejecución, lo que permite a los desarrolladores comprender y operar la partición que se está ejecutando actualmente.

Escenarios de aplicación:

La constante esp32.Partition.RUNNING es adecuada para escenarios en los que necesita comprender y operar la partición en ejecución ESP32.
Puede utilizar esta constante para obtener la partición que se está ejecutando actualmente para las operaciones y depuración correspondientes.
Durante una actualización de firmware, esta constante se puede utilizar para determinar qué versión de firmware cargar y ejecutar.

Cosas a tener en cuenta:

Antes de usar la constante esp32.Partition.RUNNING, primero debe importar el módulo esp32.
Asegúrese de comprender el diseño de la partición ESP32 y el concepto de ejecutar particiones antes de usar esta constante.
Tenga en cuenta que diferentes particiones en ejecución pueden tener diferentes funciones y usos. Seleccione la partición en ejecución correcta según la situación real.

A continuación se muestran algunos ejemplos de aplicaciones prácticas:

Caso 1: Obtenga la partición que se está ejecutando actualmente:

import esp32

# 获取当前正在运行的分区
running_partition = esp32.Partition.RUNNING

print("当前正在运行的分区:", running_partition)

Caso 2: Cargue el firmware según la partición en ejecución:

import esp32

# 根据运行分区加载相应的固件
if esp32.Partition.RUNNING == esp32.Partition(1, 0):
    # 加载固件 A
    # ...
elif esp32.Partition.RUNNING == esp32.Partition(2, 0):
    # 加载固件 B
    # ...
else:
    # 其他处理逻辑
    # ...

Caso 3: Salida de información de la partición en ejecución
:

import esp32

# 输出当前正在运行的分区信息
running_partition = esp32.Partition.RUNNING

print("运行分区 ID:", running_partition.id())
print("运行分区子类型:", running_partition.subtype())
print("运行分区标签:", running_partition.label())
print("运行分区大小:", running_partition.size())

Tenga en cuenta que en la aplicación real, según las necesidades y situaciones específicas, puede adoptar diferentes operaciones y lógica según la partición en ejecución actual. Asegúrese de que cuando utilice la constante esp32.Partition.RUNNING, comprenda la partición en ejecución que representa y manejela en consecuencia de acuerdo con las necesidades reales.

Caso 4: Verifique la partición que se está ejecutando actualmente:

import machine

# 获取当前运行的分区
running_partition = machine.Partition(machine.Partition.RUNNING)

# 输出当前运行的分区
print("当前运行的分区:", running_partition)

En este ejemplo, usamos la constante esp32.Partition.RUNNING para obtener la partición que se está ejecutando actualmente. Usamos el método machine.Partition() y pasamos machine.Partition.RUNNING para obtener la partición que se está ejecutando actualmente y almacenarla en la variable running_partition. Finalmente, usamos la función print() para generar la partición que se está ejecutando actualmente.

Caso 5: Obtener la etiqueta de la partición en ejecución actual::

import machine

# 获取当前运行分区的标签
running_partition = machine.Partition(machine.Partition.RUNNING)
partition_label = running_partition.label()

# 输出当前运行分区的标签
print("当前运行分区的标签:", partition_label)

En este ejemplo, usamos la constante esp32.Partition.RUNNING para obtener la etiqueta de la partición que se está ejecutando actualmente. Usamos el método machine.Partition() y pasamos machine.Partition.RUNNING para obtener la partición que se está ejecutando actualmente y almacenarla en la variable running_partition. Luego usamos el método label() para obtener la etiqueta de la partición en ejecución actual y almacenarla en la variable particion_label. Finalmente, usamos la función print() para generar la etiqueta de la partición en ejecución actual.

Caso 6: Obtener el tamaño de la partición en ejecución actual::

import machine

# 获取当前运行分区的大小
running_partition = machine.Partition(machine.Partition.RUNNING)
partition_size = running_partition.size()

# 输出当前运行分区的大小
print("当前运行分区的大小:", partition_size, "字节")

En este ejemplo, usamos la constante esp32.Partition.RUNNING para obtener el tamaño de la partición en ejecución actual. Usamos el método machine.Partition() y pasamos machine.Partition.RUNNING para obtener la partición que se está ejecutando actualmente y almacenarla en la variable running_partition. Luego usamos el método size() para obtener el tamaño de la partición que se está ejecutando actualmente y lo almacenamos en la variable de tamaño de partición. Finalmente, usamos la función print() para generar el tamaño de la partición en ejecución actual.

Caso 7: Imprimir información de la partición en ejecución actual:

from esp32 import Partition
running = Partition.RUNNING
print("Running size: {} bytes".format(running.size))

Caso 8: Lectura de datos guardados de la partición en ejecución:

from esp32 import Partition
running = Partition.RUNNING
data = running.read(1024, 100)

Caso 9: Borrar datos de copia de seguridad de la partición en ejecución:

from esp32 import Partition
running = Partition.RUNNING
running.erase_region(1024, 512)

El primer ejemplo obtiene el tamaño de la partición en ejecución actual. El segundo ejemplo lee datos en la dirección especificada de la partición en ejecución. El tercer ejemplo borra parte de la partición en ejecución. esp32.Partition.RUNNING se utiliza para obtener el objeto de partición que se está ejecutando actualmente y permite operaciones en el área del firmware en ejecución, como leer y escribir datos de respaldo, etc. Estos ejemplos demuestran algunas aplicaciones comunes, como leer datos de respaldo, borrar datos, etc.

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_41659040/article/details/132923904
Recomendado
Clasificación