Mostrando entradas con la etiqueta WiFi. Mostrar todas las entradas
Mostrando entradas con la etiqueta WiFi. Mostrar todas las entradas

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.


sábado, 2 de abril de 2016

¿Qué diferencias hay entre Arduino y el ESP8266?





Hace tiempo os presentamos la principales diferencias entre los tipos de placas Arduino más habituales, que a modo repaso os las resumimos a continuación:

Característica de Arduino
UNO
Mega 2560
Leonardo
DUE
Tipo de microcontrolador
Atmega 328
Atmega 2560
Atmega 32U4
AT91SAM3X8E
Velocidad de reloj
16 MHz
16 MHz
16 MHz
84 MHz
Pines digitales de E/S
14
54
20
54
Entradas analógicas
6
16
12
12
Salidas analógicas
0
0
0
2 (DAC)
Memoria de programa (Flash)
32 Kb
256 Kb
32 Kb
512 Kb
Memoria de datos (SRAM)
2 Kb
8 Kb
2.5 Kb
96 Kb
Memoria auxiliar (EEPROM)
1 Kb
4 Kb
1 Kb
0 Kb

En otra entrada os presentábamos las limitaciones que podíamos encontrar entre ellas en términos de la resolución en voltaje que sus entradas analógicas podían presentar. En esta ocasión os hemos remarcado los datos complementarios a la tabla anterior que nos van a permitir comparar con el módulo ESP8266




Lo primero que vemos que para tener frecuencias de reloj más allá de los 16MHz, debemos abandonar la familia  de microcontroladores AVR y optar por las ARM de 32 bits, en la que no solo mejoramos la velocidad de reloj, sino también la potencia del micro, que pasaría de ser capaz de procesar instrucciones de 8bits a procesar instrucciones de 32bits. Lo que viene a significar más velocidad y más potencia.

Vemos también que además de ello,  el Arduino DUE, ofrece 12bits de resolución en los pines analógicos, será capaz de detectar variaciones de voltaje del orden de 0.8 milivoltios, cosa que con los de 10 bits del resto de la familia Arduino, solo podríamos conseguir detectar fluctuaciones mayores de 4.9 milivoltios.

Pero lo que también vemos es que independientemente de que hayamos mejorado la potencia, la velocidad y la resolución, tenemos un problemilla con su capacidad de conexión a Internet. Algo para lo que tendríamos que requerir hardware adicional. Por ejemplo un Arduino WiFi Shield.


Pues bien es a partir de este punto donde nuestro módulo ESP8266 marca su diferencia.

Aunque parezca un simple circuito integrado, el  ESP8266, es lo que se conoce como un SoC, System on Chip. Un SoC embute todo los circuitos electrónicos requeridos para correr una función completa en un único chip. Por ejemplo, un SoC de un teléfono móvil puede incluir gráficos, audio, video y procesamiento de imágenes de forma compacta un un solo circuito. De este modo, se permite miniaturizar más los terminales, simplificar los diseños y reducir los consumos.


En nuestro caso, podemos ver perfectamente todas las funciones que implementa nuestro ESP8266, echándole un vistazo a la siguiente figura


Donde podemos identificar, que a diferencia de las placas Arduino que presentamos anteriormente, el ESP8266, incluye su propio sistema de recepción y transmisión WiFi, su CPU, su bloque de memoria, así como el resto de bloques asociados a comunicaciones y gestión de GPIOs.

Si esto mismo lo quisiéramos implementar en nuestro Arduino, deberíamos instalarle un shield específico, y aunque las características pudieran parecernos similares, hemos reseñado claramente la ventaja que ESP8266 nos aportaría.


En definitiva la solución Arduino, nos costaría unos 100 euros comparados con los escasos menos de 5 euros de la opción ESP8266.




No por nada, Arduino ha diseñado una nueva solución integrada y compacta con características parecidas. Hablamos del MKR1000.


En próximas entradas os compararemos ambas soluciones.

Y ya sabéis, si tenéis alguna sugerencia o duda, no tenéis más que mandarnos un correo a
e intentaremos responder a vuestra pregunta lo antes que podamos.