Python_para_MicroControladores

Python en microcontroladores, introduccion a micropython

View on GitHub

Python para microcontroladores

Python es un lenguaje poderoso y popular en 2019 encabezó el top 10 de lenguajes de programación segun un informe de IEEE Spectrum.

Se usa especialemte en el desarrollo de inteligencia artifical, ciencia de datos tambien desarrollo web con su framekork Django, entre otras aplicaciones pero los microcontroladores no podian quedarse atrás, con sus principales implementaciones: MicroPython y CircuitPython, tener un interprete en un microcontrolador fue posible gracias al desarrollo de hardware cada dia más potente.

Diapositivas charla online CONECTATE_GT

Articulo sobre Python en Hardware por Drew Fustini; un diseñador de hardware y desarrollador de Linux para sistemas embebidos. Es vicepresidente de la Open Source Hardware Association, miembro de la fundacion BeagleBoard.org y embajador de RISC-V.

MicroPython

Micropython es una implementacion ligera de python3. creada por el fisico y programador Damien George en 2014 gracias a una exitosa campaña en Kickstarter, junto a la Pyboard, la placa oficial de micropython, desde entonces se ha portado a diferentes plataformas.

A nivel de microcontroladores micropython es un sistema operativo, que incluye un subconjunto de librerias importantes de python (la libreria socket es muy similar a la que usamos en un ordenador)y algunas navitvas para controlar proyectos electronicos, ademas de una sheel interactiva, ademas micropython permite utilizar codigo C++ para optimizar su velocidad. Micropython trata de ser multiplataforma al tener compatiblidad con codigo Python normal y poder enviar tu código de la computadora al microcontrolador con total tranquilidad.

Tarjetas que han sido portadas con micropython

TARJETA CHIP ORGANIZACIÓN CARACTERISTICAS
PYBOARD STM32 MICROPYTHON 24 PINES MULTIPROPOSITO, ACELEMETRO, MICRO-USB, MICRO-SD
ESP8266 XTENSA L106 ESPRESSIF WIFI, 32-BIT NUCLEO UNICO, 17 GPIO
ESP32 XTENSA LX6 ESPRESSIF WIFI, BT, 32-BIT DOBLE NUCLEO, 36 GPIO
MICRO:BIT nrf51822 BBC BT, MICRO-USB, 20 GPIO, COMPAS, ACELEROMETRO, MATRIZ LED, CONECTOR BATERIA
LOPY4 ESP32 PYCOM 32-BIT, LORA, WIFI, BLE, SIGFOX, 24 GPIO, CARGADOR LIPO INTEGRADO
IGLOO2 FPGA Mi-V RV32 MICROSEMI 32-BIT RISC-V, iNTERFACES: PCI Express, ETERNET GIGABYTE, JTAG/SPI, SMA
MAIX-M1 K210 SIPEED 64-BIT RISC-V DOBLE NUCRO, COPROCESADOR ESP8265, KPU (Neural Network Processor), ACELERADOR AES, FFT, UART, SPI, I2S, PWM, ETC.
PORTENTA H7 STM32H747 ARDUINO CORTEX M7 Y M4 32-BIT, ACELERADOR GRÁFICO, WIFI, BT, CONECTORES DE ALTA DENSIDAD, USB-C

Muchas tarjetas tienen chips RISC-V la cual es una arquitectura de conjunto de instrucciones (ISA) de hardware libre basado en un diseño de tipo RISC del inglés Reduced Instruction Set Computer, en español Computador con Conjunto de Instrucciones Reducidas.

Recursos:

Sitio Oficial MicroPython

Simulador MicroPython online con tarjeta Pyboard

Tutorial en español por FunPython

CircuitPython

CircutPython es una versión de MicroPython creada en 2017 para Adafruit por Scott Shawcroft con el objetivo de usarlo en las tarjetas de la compañia basadas en el SAMD21 de MicroChip anteriormente Atmel. Circuipython quiera una versión de micropython más sencilla de usar dedicada para principantes y estudiantes. A inicios del 2019 CircuiPython soportaba 30 tarjetas:

Recursos:

Sitio Oficial CircuiPython

Simulador CircuitPython con tarjeta CircuitPlayGround para VSCODE