El servidor web más barato y pequeño

El microcontrolador esp8266 ha ganado una gran popularidad y junto con su bajo precio, se encuentran bastantes proyectos para este. Incluyendo servidores web, pero es realmente conveniente?

El servidor web más barato y pequeño

Hace una década, cuando los servicios de alojamiento web no se los podía permitir todo el mundo, era común que algunas personas se montasen su propio servidor web para páginas como su blog con el hardware más asequible, como portátiles o viejas torres. Hoy en día, aunque esto ha decaído, si se plantease hacer un servidor web lo más pensado seria hacerlo con una placa de desarrollo basada en ARM, por ejemplo la Raspberry Pi. Pero, no, hay una placa de desarrollo aún más barata y pequeña!.

Esp8266, el microcontrolador que se puede convertir en servidor

Este microcontrolador empezó a hacerse famoso entre los makers a finales de 2014, cuando apareció casi de la nada, con un SDK de código libre, de una empresa fabless, Espressif. Y desde entonces, millones de programas, frameworks y librerías para este han inundado internet, de los cuales destacan Nodemcu, un framework para cargar software en LUA y con una librería estándar muy parecida a NodeJS, la compatibilidad con el framework de Arduino y con Micropython.

Ante todo esto y siendo que tiene WIFI integrado, encontramos una infinidad de software para convertir este en un pequeño servidor web.

Características

En cuanto a las características, resultan ser bastantes interesantes:

  • Procesador: Tensilica L106, 32 bits RISC a 160 Mhz.
  • Voltaje: 2.6V a 3.6V
  • Amperaje: 80 MaH
  • Temperatura: de -40C a 125C
  • Tamaño del CHIP: 5 mm x 5 mm
  • RAM: 80KB
  • ROM: Variable, entre 4 MB hasta 16 MB.
  • Potencia WIFI: 20 dBm
  • Velocidad WIFI: 56 MBs

Por otro lado, este se suele vender en módulos, encontrando una gama oficial y la gama bastante famosa de AI-thinker.

Para hacer un servidor, la placa que más conviene seria la WeMos D1 mini Pro, que dispone de un conector para antena WIFI y otro para una batería litio, ademas de tener 16 MB de memoria flash y poder comprar por 0,60€ un modulo SD. Su precio ronda los 4€.

Softwares

Dependiendo del framework que elijamos, encontraremos cientos de proyectos para convertir este micocontrolador en un servidor web. Aquí comentaremos los más destacados.

Empezando por arduino, encontramos que ya viene integrado con una librería para hacer un servidor web: ESP8266WebServer. Aunque podemos encontrar proyectos que no la usan. Luego, en NodeMCU no encontramos ninguna librería estándar para hacer un
servidor web, pero si están nodemcu-httpserver y wampum, dos librerías bastante completas, ademas de poder realizarlo sin librerías. Mientras que en Espruino, encontramos un servidor built-in y un modulo más completo. Por último vemos dos servidores, uno hecho en C.

Aquí dejamos unos benchmarks realizados a algunos. NOTA: En el framework de espruino y nodeMCU se tuvieron que bajar el numero de peticiones para evitar que fallasen.

esp-requests-times

esp-stats

esp-times

Para ver resultados crudos y demas clic aquí.

¿Es realmente conveniente?

No, por 11€ encontramos la NanoPI NEO que dispone de 4 cores ARM Cortex-A7 a 1,2 GHz, 256 mb de ram DDR3 y una conectividad ethernet 10/100, aunque tiene un consumo un poco mayor, 2Ah a 5V. Ademas esta placa puede cargar un kernel linux y varias distros, por lo que podremos usar software como apache. También hay otras como la Orange pi zero.

Por lo que en resumidas cuentas, el Esp8266 solo es conveniente para hacer servidores web de IoTs o similares.