ESP8266 con MicroPython – Parte 2

En el siguiente post te vamos a mostrar como cargar un programa hecho en MicroPython al ESP8266.

En ESP8266 con MicroPython – Parte 1 vimos como cargar el firmware para que el ESP8266 pueda ser programado en MicroPython , es aconsejable que lo lean antes.

Probando

Una vez que ya tiene MicroPython cargado en ESP8266 pueden abrir un Putty (el mismo que se usa para ssh) pero configurarlo para que utilice un puerto serie.

o que estén con un sistema Linux el comando a buscar es screen

screen /dev/ttyUSB0 <velocidad>

 

En nuestro caso el comando que siempre funciona es :

screen /dev/ttyUSB0 115200,cs8

IMPORTANTE: Si se conectan y los caracteres son ilegibles, van a tener que probar cambiar la velocidad del puerto en Putty, a nosotros nos funciona bien con 115200 baudios

Al iniciar la consola aparece REPL (Read Evaluate Print Loop) que lee, evalúa e imprime. En esta consola podemos enviar comando es Python y el ESP8266 los interpretará y ejecutara.

Todo muy lindo pero esta forma de ingresar código es poco práctica, y no se persiste

AMPY – Adafruit MicroPython Tool

AMPY es un programa creado por Adafruit y escrito en Python que nos permite interactuar con el sistema de archivos del ES8266… Leyeron bien SISTEMA DE ARCHIVOS. Nos permite listar archivos, subir archivos, subir directorios.

En la parte 1 ya habíamos instalado ampy, pero si quedaron dudas esta linea de comando lo instala.

sudo  pip install adafruit-ampy

IMPORTANTE: En Windows no poner el prefijo sudo

Una vez conectado podemos ejecutar ampy y nos mostrara la ayuda

Usage: ampy [OPTIONS] COMMAND [ARGS]...

  ampy - Adafruit MicroPython Tool

  Ampy is a tool to control MicroPython boards over a serial connection.
  Using ampy you can manipulate files on the board's internal filesystem and
  even run scripts.

Options:
  -p, --port PORT    Name of serial port for connected board.  Can optionally
                     specify with AMPY_PORT environemnt variable.  [required]
  -b, --baud BAUD    Baud rate for the serial connection (default 115200).
                     Can optionally specify with AMPY_BAUD environment
                     variable.
  -d, --delay DELAY  Delay in seconds before entering RAW MODE (default 0).
                     Can optionally specify with AMPY_DELAY environment
                     variable.
  --version          Show the version and exit.
  --help             Show this message and exit.

Commands:
  get    Retrieve a file from the board.
  ls     List contents of a directory on the board.
  mkdir  Create a directory on the board.
  put    Put a file or folder and its contents on the...
  reset  Perform soft reset/reboot of the board.
  rm     Remove a file from the board.
  rmdir  Forcefully remove a folder and all its...
  run    Run a script and print its output.

Podemos hacer una prueba rápida con el comando ls

ampy -p COM5 -b 115200 ls

IMPORTANTE: Cerrar el Putty antes de seguir

Vamos este comando por partes:

  • ampy: es el programa
  • -p COM5: indica el puerto, en nuestro caso el COM5
  • -b 115200: indica la velocidad de la conexión, si anda mal prueben 9600
  • ls: Es el comando list que muestran todos los archivos dentro de ESP8266

Sistema de archivos

Las placas basadas en ESP8266 tienen una memoria flash que sirve de “disco rígido”, algunas tiene una flash de 512 KB otros de 4 MB (como el NodeMCU). Al principio en ES8266 solo hay un archivo; boot.py que es el punto de entrada del nuestro programa.

Primer programa

En una nueva terminal de comandos (cmd en windows y terminal en linux)

mkdir nkm
cd nkm
ampy -p COM5 -b 115200 get boot.py boot.py

Esto creara un directorio llamado nkm y dentro colocara el boot,py original.

Abrimos Visual Studio Code en el directorio utilizando el comando

code .

Creamos un nuevo archivo llamado test.py y modificamos boot.py para llamar a test.py

Desde la consola ( yo uso la consola integrada de Visual Studio Code que es muy cómoda)

ampy -p COM5 -b 115200 put boot.py
ampy -p COM5 -b 115200 put test.py


Abrimos Putty, lo conectamos al puerto serie y reiniciamos el ES8266. Y listo!!!!.. veremos la salida del programa por pantalla

 

Compartit en: Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrEmail this to someonePrint this page

Dejá un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *