Allá por septiembre de 2015 Mike Molinari (mmiscool) publicaba su primera entrega de un intérprete de Basic “desde cero” para programar el ESP8266. Era la versión ESPbasic 2.0. Posteriormente, en abril de 2017, subía a su web su versión 3.0 y última, ya que abandonó el proyecto.
Afortunadamente, uno de sus colaboradores, Francesco Ceccarella (ciccioCB), tomaría el relevo, creando un proyecto totalmente nuevo e independiente, que prácticamente nada tiene que ver con el original, excepto en el concepto estructural. Se trata de Annex Wifi RDS.
La idea es sencilla, pero muy atractiva: Cuando compramos un módulo que incorpora el microcontrolador ESP8266, nos llega con un pequeño programa ya cargado por el fabricante. Este programa se encarga de recibir por el puerto serie del microcontrolador instrucciones del tipo AT (comandos Hayes, los de los antiguos módems telefónicos) que permiten crear un pequeño sistema Wifi propio, bien sea como punto de acceso (como si se tratase de un router wifi) o como un cliente que se conecta al router de nuestra casa, y, por tanto, a nuestra red interna.
Lo primero que hace Annex es “cargarse” este programa y sustituirlo por un núcleo propio que contiene:
- Un pequeño IDE (Entorno de Desarrollo Integrado), con su editor de texto, al que podemos acceder por Wifi desde nuestro ordenador o Tablet mediante un navegador (Edge, Chrome, Firefox) sin tener que estar conectados a nuestro módulo por el cable USB, y con el que escribiremos y cargaremos nuestros programas al ESP8266.
- Un intérprete BASIC con las instrucciones tradicionales de ese lenguaje, y que nos permite crear subrutinas y funciones definidas por el usuario. Se complementa con nuevas instrucciones relativas al control no solo de los pines de entrada/salida del micro, sino de una larga serie de módulos externos controlables por los protocolos serie, I2C, SPI, 1-wire, etc...
- Un servidor web programable en HTML, CSS y JavaScript y que incluye un servidor de ficheros.
Aunque en capítulos posteriores lo veremos en detalle, el sistema ANNEX consta básicamente de solo dos componentes:
- Una aplicación escrita en Java, y por tanto utilizable tanto en Windows como en Unix, llamada ToolKit, y con la que cargaremos en nuestro módulo ESP8266 el núcleo Basic de Annex. Aunque incluye varias utilidades, como un monitor del puerto serie o un escáner Wifi, se suele emplear una única vez para instalar Annex en nuestro módulo ESP8266. Y después, podemos olvidarnos de ella.
- El núcleo BASIC propiamente dicho: Un fichero llamado annex.bin, que es el que se graba en el ESP8266 y que contiene el intérprete, el IDE y el servidor web descritos anteriormente. Este fichero está almacenado en una carpeta llamada build de la Toolkit. Cuando CiccioCB publica una nueva versión de Annex, bastará con que sustituyamos este fichero por el nuevo. No es necesario desinstalar y volver a instalar todo el sistema, basta con sobrescribir este fichero.
Y visto esto, podemos irnos de compras. 😊