jueves, 2 de marzo de 2017

Cómo programar el ESP32 con el IDE de Arduino en Windows





Pasos para instalar el soporte de Arduino ESP32 en Windows


(Probado en Windows 10 de 32 y 64 bits )


A continuación os vamos a presentar una breve guía de qué cosas tenéis que hacer para empezar a usar el módulo ESP32 con el IDE de Arduino si estamos usando Windows.


1.- Descargar e instalar la última Arduino IDE de Windows Installer de arduino.cc. En estos momentos va por la versión 1.8.2, pero está continuamente en actualización.


2.- Descargar e instalar el interfase de usuario (GUI) del repositorio de programas GitHub, Git desde git-scm.com.

En el momento en el que preparamos esta entrada, la versión diponible era la 2.12.2


Dejad las opciones que vienen por defecto durante el proceso de instalación, incluida la carpeta propuesta. De modo que básicamente solo tenéis que y dándole al botón “Next” en cada paso que os consulte, 



hasta que sale el botón “Install” en el también haremos clic. 



En este momento tendríamos ya todo el software que necesitaríamos para poder trabajar con Windows, con el IDE de Arduino y poder programar el módulo ESP32. Pero si en este punto abrimos al IDE Arduino y nos vamos a seleccionar el módulo ESP32 dentro del menú herramientas, veremos que no nos sale, y es porque todavía nos falta dar un par de pasitos más. Instalar las librerías del ESP32 y el compilador para que el IDE pueda traducir el lenguaje Arduino a un lenguaje que lo entienda el módulo ESP32 de Espressiff.

Vamos a configurarlo.

3.- Arranque el interfase de usuario del repositorio de programas GitHub que acabamos de instalar,



 siguiendo los siguientes pasos:

Primero: le decimos que vamos a clonar un repositorio ya existente (esto significa que queremos replicar los ficheros que se mantienen siempre actualizados en una carpeta de un servidor GitHub)

Segundo: le indicamos donde están los ficheros que queremos bajarnos. https://github.com/espressif/arduino-esp32.git

El destino en donde queremos copiar esos ficheros en nuestro PC (OJO cuidado con la barras que NO SON las de la tecla del 7, sino las invertidas)

C:\Users\[tu_nombre_de_usuario]\Documentos\Arduino\hardware\espressif\esp32 



Con esto habremos conseguido que todos los ficheros actualizados disponibles en servidor de GitHub y que le hace falta al IDE de Arduino para poder manejar el hardware que le vamos a conectar (nuestro módulo ESP32), los tengan clonados en la carpetas de nuestro PC que consulta el IDE de nuestro Arduino.

Más adelante, y como previsiblemente, estos ficheros disponibles en GitHub se irán actualizando, lo único que tendremos que hacer es irnos al menú Remote del GUI y actualizarlas. Ver imagen a continuación.


Ahora nos vamos a la carpeta

 C:\Users\[tu_nombre_de_usuario]\Documentos\Arduino\hardware\espressif\esp32\tools

 y ejecutamos el fichero get.exe, haciendo doble clic en él.

Cuando termina get.exe, debería habernos creado entre otras cosas, una nueva carpeta llamada xtensa-esp32-elf y ubicada en

C:\Users\[tu_nombre_de_usuario]\Documentos\Arduino\hardware\espressif\esp32\tools\xtensa-esp32-elf, 

que es donde vamos a grabar el compilador que va a utilizar nuestro IDE para traducir nuestros sketches para que el módulo ESP32 entienda lo que queremos que haga.

Ahora, antes de conectar nada, tenemos que estar seguros que nuestro IDE Arduino está cerrado. Para que funcione todo lo que le hemos instalado. Lo abrimos y si conectamos nuestro módulo ESP32 via USB, Windows debería reconocerlo. Si nos vamos al menú herramientas de nuestro Arduino, y nos vamos a las placas disponibles dentro de la opción placas, veremos que nos aparece el módulo ESP32 abajo en el desplegable.

Para comunicarnos bien con él, debemos verificar que el puerto COM al que está conectado está bien identificado, que la frecuencia de trabajo es 80MHz y que la velocidad de transferencia la dejamos en 115200 baudios

A partir de aquí y conociendo el pin-out de la placa que tengamos entre manos y lo que hemos aprendido sobre como programar, no nos resultará complicado empezar a adaptar algunos de los ejemplos básicos que el propio IDE de Arduino trae establecidos, pero que todavía no son compatibles con el módulo ESP32.




Reconocimientos: Esta entrada está basada en una transcripción hecha del video que biblioman09 nos ofrece en YouTube sobre este particular y que incluímos al final de esta breve guía, así como de las instrucciones traducidas del inglés disponibles en repositorio de GitHub de Espressif.



miércoles, 1 de marzo de 2017

¿Qué es un ESP32?

ESP32 Development Kit

Hoy os traemos una nueva plaquita que acaba de aterrizar al mercado y que previsiblemente muy pronto veremos en todas partes:  la ESP32 de Espressif.

Sin entrar en demasiados detalles, os adjunto aquí una pequeña tabla comparativa preparada por nuestros colegas del canal educ8s que hace unas semanas le dedicó un pequeño reportaje a esta fantástica placa.



No solo es que el microcontrolador sea 10 veces más rápido, sino que además es al ser de arquitectura de 32 bits y doble nucleo la velocidad de procesamiento de datos es muy superior a la que nos tiene acostumbrados nuestro querido ATmega328P de ATMEL, o cualquiera de las diferentes versiones que tiene disponible en la gran familia

Pero si ya fuera poco la cuestión de la potencia del micro, todavía hay más. Si habéis podido echarle un vistazo a la primera tabla, la ESP32 nos ofrece nada más y nada menos 18 pines analógicos, 3 veces más que nuestra placa Arduino UNO, pero podríamos argumentar que nuestra placa Arduino Mega algo parecido 16, y es verdad pero es que la resolución de los pines analógicos de la ESP32, es de 12 bits y no de 10 como los que tiene nuestro Arduino UNO o nuestra Arduino MEGA. Para estar a la altura deberíamos optar por nuestra Arduino DUE, que al igual que la ESP32, nos ofrece dos pines de salida analógica (Digital to Analog Converter) de 12 bits.  Aunque menos potente, parecida. Pero si solo fuera una cuestión de tamaño, y no lo decimos por grande es una cuarta parte del tamaño de nuestro Arduino UNO.

Es que en este tamaño tan reducido, se ha incluido una antena un módulo WIFI y un módulo Bluetooth, además de capacidad criptográfica para permitir que este módulo se puede convertir en el rey de IoT (Internet of thing, o internet de las cosas).


Un ejemplo de la capacidad de desarrollar soluciones extremas lo podéis encontrar en Youtube, donde Jeija dice haber conseguido transmitir señales de video solo con la ESP32 a unos 10 kms campo a través.



Y por si fuera poco, el precio parece de lo más abordable. Una tentación para probar cuánto de verdad hay en un módulo alucinante.