Fork me on GitHub

Compilar MicroPython en Ubuntu 16.04

April 16, 2018

Nerdlabs Micropython con ESP8266

Una buena forma de ahorrar memoria con MicroPython es cargar tus propios módulos como frozen byte-code en la imagen misma, es decir en el binario que usás para flashear tu micro, para lo cual hay que compilar MicroPython con los módulos que necesitás.

Para empezar asegurate de tener instalado todo esto

sudo apt-get install make unrar-free autoconf \
                     automake libtool gcc g++ gperf \
                     flex bison texinfo gawk ncurses-dev \
                     libexpat-dev python-dev \
                     python-serial sed git unzip \
                     help2man wget bzip2 libtool-bin

Luego hay que descargar el ESP toolchain desde el repo de Git

git clone --recursive https://github.com/pfalcon/esp-open-sdk.git

Cambiar al directorio y compilar

cd esp-open-sdk
make

Una vez finalizada la compilación agregar el directorio bin al PATH

export PATH=/some/dir/esp-open-sdk/xtensa-lx106-elf/bin:$PATH

Finalmente bajar el repositorio de MicroPython

git clone https://github.com/micropython/micropython.git
cd micropython
git submodule update --init

Agregar tus módulos .py en ports/esp8266/modules

Y compilar MicroPython

make -C mpy-cross
cd ports/esp8266
make axtls
make

Esto generará el archivo build/firmware-combined.bin y es el que tenés que usar con esptool.py para flashear el micro.

Más info en la MicroPython Development Documentation.

MicroPython Python esp8266