Objetivo
Alistar la tarjeta de desarrollo basada en ESP32 para programar con LUA.
Lo haremos usando un equipo con Windows.
Firmaware
Para subir a la tarjeta el firmware es necesario generar el archivo bin. Esto se hace siguiendo lo señalado en http://esp-idf.readthedocs.io/en/latest/get-started/index.html#setup-toolchain.
Resumo los pasos:
- Instalar el toolchain MSYS2 en Windows.
- De este link se descargan las herramientas comprimidas en zip
- Se descomprime en una carpeta en C: llamada msys32
- Se ejecuta el programa C:\msys32\mingw32.exe se obtiene una ventana como la que se ve a continuación:
- Aquí se observa un inconveniente, la instalación automáticamente crea la carpeta /home/Pedro H. Ocampo// esos espacios en blanco serán un problema al momento de compilar. Dado que utilizó la variable de entorno del nombre de usuario (USERNAME) para dar nombre a la carpeta, no me complico y reingreso con otro usuario.
Mucho mejor sin espacios.
6. Por línea de comandos en la ventana de MSYS32 creo la carpeta esp usando el comando mkdir:
7. Cargar las librerías ESP32 (ESP-IDF). Para lo cual nos ubicamos en la carpeta que acabamos de crear y allí descargamos a través de git los archivos requeridos.
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
Se creará la carpeta esp-idf. Cinco minutos de espera mientras trae los archivos a nuestro disco.
Se verá algo como esto:
Crear la variable de entorno IDF_PATH. En la carpeta C:/msys32/etc/profile.d/ creamos el archivo export_idf_path.sh y en el, sólo ponemos la línea: export IDF_PATH=“C:/msys32/home/PedroH/esp/esp-idf” Por supuesto cambie “PedroH” por su nombre de usuario
8. Cierre la ventana del msys32 y vuelva a abrirla para que cargue la variable de entorno. Puede probar si la tomó, escribiendo:
echo $IDF_PATH
9. El tutorial propone que hagamos una prueba de que todo está bien, compilando el programa hello_world que viene como ejemplo. Para lo cual copiamos la carpeta respectiva en nuestro directorio esp:
cd ~/espcp -r $IDF_PATH/examples/get-started/hello_world .
El punto al final de la anterior instrucción es importante, no lo olvide
10. Conecte la tarjeta y préndala. En mi caso la reconoce en el puerto COM11. Este link explica cómo saber el puerto COM al cual está conectada la tarjeta.
11. Entre en la carpeta hello_world y corra el menuconfig
cd ~/esp/hello_world
make menuconfig
12. Debe observar una ventana como la siguiente:
13. Configure el puerto COM de la tarjeta.
Entre a la cuarta opción: Serial flasher config
Y allí seleccione: Default serial port
En mi caso cambio lo que dice allí (/dev/ttyUSB0) por COM11. Luego Ok, Save y Exit.
14. Para construir el firmware y subirlo a la tarjeta damos:
make flash
Cuatro minutos de espera y obtenemos esto:
15. Aparentemente ya tenemos un programa hello_world en la tarjeta. Lo intento verificar conectándome con ESPlorer:
Con esto confirmamos que tenemos instalado en la tarjeta un programa en C corriendo. Si todo funciona bien ahora podremos instalar el interprete de LUA para hacer nuestros propios desarrollos en este lenguaje y aprovechar las virtudes de esta tarjeta.
Instalar el firmware de LUA-RTOS
- Describiremos los pasos encontrados aquí. De nuevo usamos git para bajar ahora el LUA-RTOS. Vamos a la carpeta esp y desde allí ejecutamos:
git clone --recursive https://github.com/whitecatboard/Lua-RTOS-ESP32
- Vamos a la carpeta LUA_RTOS
cd Lua-RTOS-ESP32
Editamos el archivo env
Cambiamos las líneas
export IDF_PATH
por:
export IDF_PATH=/home/PedroH/esp/esp-idf
y la línea export OS=
por:
export OS=”Windows_NT”
- Ejecutamos:
source ./env
- Suponemos que nuestra tarjeta corresponde a Genérica y ejecutamos:
make SDKCONFIG_DEFAULTS=GENERIC defconfig
Obtenemos esta pantalla:
- Volvemos a menuconfig y verificamos que el Puerto COM sea el correcto
make menuconfig
Cambiamos │/dev/tty.SLAB_USBtoUART por COM11
Verificamos que la velocidad de transmission sea 115200
- Estando en la carpeta /home/PedroH/esp/Lua-RTOS-ESP32 (en lugar de PedroH estará su usuario) construimos el firmware y lo subimos a tarjeta con el comando:
make flash
Esta vez tuve que presionar el botón EN, en la tarjeta, por dos segundos, para entrar en el modo de carga.
Tenemos el ambiente listo para programar en LUA usando ESPlorer
También se podría usar putty dado que el firmware cargado permite el uso de un editor para programar directamente en la tarjeta.
0 Comentarios