0% encontró este documento útil (0 votos)
23 vistas11 páginas

Investigacion Interfaces

El documento explora las diversas formas de comunicación del ESP-32, destacando su conectividad Wi-Fi y Bluetooth, bajo costo y versatilidad. Se analizan protocolos de comunicación como UART, I2C y SPI, así como métodos inalámbricos y punto a punto entre dispositivos. Además, se presentan ejemplos prácticos de implementación de comunicación entre ESP-32 y computadoras, así como entre dos módulos ESP-32 utilizando MQTT y HTTP.

Cargado por

Manu Ramos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
23 vistas11 páginas

Investigacion Interfaces

El documento explora las diversas formas de comunicación del ESP-32, destacando su conectividad Wi-Fi y Bluetooth, bajo costo y versatilidad. Se analizan protocolos de comunicación como UART, I2C y SPI, así como métodos inalámbricos y punto a punto entre dispositivos. Además, se presentan ejemplos prácticos de implementación de comunicación entre ESP-32 y computadoras, así como entre dos módulos ESP-32 utilizando MQTT y HTTP.

Cargado por

Manu Ramos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Métodos de comunicación

Karime
SistemasRamos Rodriguez
programables
191G0283
Objetivo:
Explorar y comprender las diversas formas de comunicación disponibles para el ESP-32 en dos contextos
clave: entre el ESP-32 y una computadora, y entre dos módulos ESP-32.

Introducción:
El ESP-32 es un sistema de chip (SoC) de bajo costo y bajo consume de energía. Esta placa permite
controlar todo tipo de sensores, módulos y actuadores mediante WIFI y bluetooth lo cual lo hace ideal
para proyectos de Internet de las cosas “IoT” de forma eficiente y económica. El ESP-32 ha ganado una
gran importancia en el ámbito de la electrónica y la Internet de las cosas (IoT) debido a varias
características que lo hacen atractivo para una amplia gama de aplicaciones. Algunas de ellas son:

 Conectividad Wi-Fi y Bluetooth: El ESP-32 integra capacidades de conectividad Wi-Fi y Bluetooth


en un solo chip, lo que lo hace ideal para dispositivos IoT que requieren comunicación
inalámbrica.
 Bajo Costo: El ESP-32 es conocido por ser una solución económica.
 Arquitectura de Doble Núcleo: La presencia de dos núcleos de procesador permite ejecutar
múltiples tareas de forma simultánea, mejorando el rendimiento y la capacidad de respuesta del
sistema.
 Bajo Consumo de Energía: El ESP-32 está diseñado para ser eficiente en términos de consumo de
energía. Esto es crucial para dispositivos alimentados por batería, que son comunes en el ámbito
de la IoT.
 Versatilidad en E/S y Periféricos: El ESP-32 cuenta con una variedad de pines de entrada/salida
(I/O) y soporta diferentes interfaces de comunicación, como SPI, I2C y UART. Esto facilita la
conexión a una amplia gama de sensores, actuadores y otros dispositivos, lo que lo convierte en
una opción versátil para una variedad de aplicaciones.
 Comunidad de Desarrolladores y Documentación Abundante: La comunidad de desarrolladores
en torno al ESP-32 es activa y solidaria. Esto significa que hay una abundancia de recursos en
línea, tutoriales y bibliotecas que facilitan el desarrollo de proyectos con este chip.

En resumen, la combinación de conectividad inalámbrica, bajo costo, eficiencia energética y versatilidad


en la interfaz de hardware hace que el ESP-32 sea una opción muy valiosa en el ámbito de la electrónica
y la IoT, contribuyendo al desarrollo y la implementación de una amplia variedad de dispositivos y
aplicaciones inteligentes.
Comunicación entre ESP-32 y Computadora:
Investigación sobre las interfaces de comunicación serial, como UART,
SPI y I2C, utilizadas para la conexión entre el ESP-32 y una
computadora.
UART
El protocolo UART, viene de las siglas en inglés ‘Universal Asynchronous Receiver-Transmitter’ (Receptor-
transmisor asíncrono universal) y UART realiza solo comunicación en serie asíncrona.

Funcionamiento

En cuanto a su funcionamiento es simple, los datos que fluyen desde TX del UART transmisor hasta el RX
del UART receptor, una vez se haya conectado e iniciado la comunicación. Sin embargo, la comunicación
entre dispositivos puede realizarse de 3 formas:

 Símplex = transmisión de datos en una dirección.


 Half-duplex = transmisión de datos en cualquier dirección, pero no simultáneamente.
 Full-duplex = transmisión de datos en ambas direcciones simultáneamente.

La transmisión de UART convierte los datos en paralelo del dispositivo maestro (por ejemplo, la CPU) en
forma de serie y los transmite en serie a la UART receptora. Después volverá a convertir los datos en
serie en datos paralelos para el dispositivo receptor.

I2C
El protocolo I2C, significa circuito inter-intergrado, de las siglas inglesas ‘Inter-Integrated Circuit’. Se suele
pronunciar I-cuadrado C o IIC por sus siglas. Fue desarrollado por Philips Semiconductor para
televisiones en los años 1980’s.

Este protocolo utiliza dos líneas para controlar otros dispositivos. La primera línea es el reloja llamado
SCL (línea de reloj en serie), mientras que la otra es para datos llamado SDA (puerto de aceptación de
línea de datos). Este protocolo es similar al UART, sin embargo, no se utiliza para la comunicación PC-
dispositivo, sino con módulos y sensores, siendo el PC el “maestro” y el resto los llamados “esclavos”.
Estos curiosos términos podemos definirlos como:

 Maestro: dispositivo que proporciona un reloj para la comunicación


 Esclavo: dispositivo que no es el maestro que utiliza el reloj del maestro para comunicar

A su vez, tiene también tres modos según su velocidad:

 Baja (< 100 Kbps)


 Media (400 Kbps)
 Alta (3.4 Mbps) – I2C v.2.0

I2C es un bus serie síncrono de dos cables (SDA y SCL) bidireccional simple y solo requiere dos cables
para transmitir información entre los dispositivos conectados al bus. Es por tanto de tipo half-duplex.
Funcionamiento

El funcionamiento es un poco más complejo que UART, pero al final es muy parecido. El maestro envía a
cada esclavo la dirección de 7 o 10 bits del esclavo y un bit de lectura/escritura al esclavo con el que
desea comunicarse.

El esclavo comparará la dirección con la suya. Si la dirección coincide, el esclavo devolverá un bit ACK que
cambia la línea SDA a baja por un bit. Si la dirección no coincide con su dirección, el esclavo deja la línea
SDA alta.

A continuación, el maestro enviará o recibirá la trama de datos. Al acabar esta acción, la transferencia de
datos, el dispositivo receptor devuelve otro bit ACK al remitente para reconocer la transmisión exitosa.

Por otro lado, para detener la transmisión de datos, el maestro envía una señal de parada al esclavo
cambiando SCL alto antes de cambiar SDA alto.

SPI
Las siglas SPI vienen del inglés “Serial Peripheral Interface” o interfaz de periféricos en serie, siendo un
protocolo similar al I2C pero especialmente pensado para microcontroladores. También es usado en
situaciones donde la velocidad es importante como, por ejemplo, tarjetas SD, módulos de visualización o
cuando la información se actualiza y cambia rápidamente como termómetros.

Este protocolo de comunicación serial es de tipo serie de tipo síncrono y consta de dos líneas de datos
(MOSI y MISO), una línea de reloj (SCK) y una línea de selección esclava (SS). Estas líneas tienen las
siguientes funciones:

 MOSI: Master Output Slave In - Salida del maestro entrada del esclavo (línea a través de la cual el
maestro envía datos a sus esclavos)
 MISO - Master In Slave Out – Entrada del maestro salida del esclavo (línea a través de la cual los
esclavos responde al maestro)
 SCK - Serial Clock (reloj proporcionado por el dispositivo maestro)
 SS - Slave Select (línea utilizada para seleccionar el esclavo con el que el maestro desea
comunicarse)

Funcionamiento

Por lo general es un protocolo más rápido que el I2C debido a que es más simple.

Existen dos modos de comunicarse con este protocolo:

 En un primer modo, si se utiliza un único dispositivo controlador para activar un único dispositivo
de bajada, se trata simplemente de una topología punto a punto. Seleccionar cada dispositivo
con una línea Chip Select, por lo que se necesita una línea de selección de chip separada para
cada dispositivo. Esta es la forma más común en que los Raspberry Pi utilizan actualmente SPI,
por ejemplo. La activación de varios dispositivos depende del número de salidas de selección de
chip que proporcione el controlador (modo estándar).
 El segundo modo utiliza la conexión en cadena margarita, en la que una única salida de selección
de dispositivo activa sucesivamente cada uno de los dispositivos de la propia cadena margarita.
Por lo tanto, no hay límite para la cantidad de dispositivos SPI que se pueden conectar. Sin embargo,
existen límites prácticos debido al número de líneas de selección de hardware disponibles en el
dispositivo principal (el máster) con el método de selección de chip o la complejidad de pasar datos a
través de dispositivos en el método de conexión en cadena.

Exploración de la comunicación mediante protocolos inalámbricos,


como Wi-Fi y Bluetooth, y sus aplicaciones prácticas.
Wi-Fi (Wireless Fidelity):
Wi-Fi es una tecnología de comunicación inalámbrica que permite la conexión a redes locales (LAN) sin la
necesidad de cables. Opera en las bandas de frecuencia de 2.4 GHz y 5 GHz y utiliza estándares como
802.11b, 802.11g, 802.11n, 802.11ac, entre otros.

Aplicaciones Prácticas:

 Conexión a Internet: La aplicación más común de Wi-Fi es proporcionar acceso a Internet de alta
velocidad en dispositivos como teléfonos inteligentes, tabletas, computadoras portátiles y otros
dispositivos habilitados para Wi-Fi.
 Redes Domésticas e Industriales: Wi-Fi se utiliza para crear redes locales inalámbricas en
entornos domésticos y empresariales, permitiendo la conexión y comunicación entre
dispositivos dentro de una ubicación específica.
 Dispositivos Inteligentes y Hogar Inteligente: Muchos dispositivos inteligentes, como
termostatos, cámaras de seguridad, luces y electrodomésticos, utilizan Wi-Fi para la
comunicación y el control remoto a través de aplicaciones móviles.
 Educación y Trabajo Remoto: Wi-Fi es esencial para habilitar la conectividad en entornos
educativos y laborales, facilitando la comunicación en línea, la transmisión de datos y la
colaboración a distancia.

Bluetooth
Bluetooth es una tecnología de comunicación inalámbrica de corto alcance diseñada para conectar
dispositivos a distancias cortas (generalmente hasta 10 metros). Opera en la banda de frecuencia de 2.4
GHz y utiliza perfiles estándar, como el perfil de manos libres (HFP), el perfil de transferencia de archivos
(FTP), y el perfil de objeto de empuje (OPP).

Aplicaciones Prácticas:

 Auriculares y Altavoces Inalámbricos: Bluetooth se utiliza ampliamente para conectar


auriculares, altavoces y otros dispositivos de audio, permitiendo una experiencia de audio sin
cables.
 Dispositivos de Salud y Fitness: Muchos dispositivos como monitores de frecuencia cardíaca,
pulseras de actividad y otros dispositivos de seguimiento utilizan Bluetooth para conectarse a
teléfonos inteligentes y recopilar datos de salud.
 Intercambio de Archivos: Bluetooth facilita la transferencia inalámbrica de archivos entre
dispositivos, como imágenes, videos y documentos.
 Automóviles y Sistemas de Entretenimiento: Se utiliza en sistemas manos libres en automóviles,
permitiendo la conexión de teléfonos móviles para llamadas y transmisión de audio.
 Dispositivos de Juegos y Control Remoto: Muchos controladores de juegos, teclados y ratones
inalámbricos utilizan Bluetooth para conectarse a dispositivos de juego y computadoras.

En conjunto, Wi-Fi y Bluetooth han habilitado una amplia gama de aplicaciones prácticas que abarcan
desde la conectividad a Internet hasta la interconexión de dispositivos en entornos personales,
domésticos y empresariales. Su adopción generalizada ha contribuido significativamente a la movilidad y
flexibilidad en la forma en que interactuamos con la tecnología en la actualidad.

Ejemplos de implementación de la comunicación entre el ESP-32 y una


computadora, destacando casos de uso comunes.
Ejemplo 1: Enviar datos desde la computadora al ESP-32
Este código de Python enviará la cadena "Hola, ESP-32!" al ESP-32 a través de la comunicación serial.

Este código utiliza la biblioteca serial para abrir una conexión con el puerto serial al que está conectado
el ESP-32 y luego envía la cadena “Hola, ESP-32!".

Ejemplo 2: Control de un LED desde la computadora


En este ejemplo, puedes controlar un LED conectado al ESP-32 desde la computadora enviando
comandos simples. En este caso, puedes encender o apagar el LED enviando "ON" o "OFF" desde la
computadora al ESP-32.
Comunicación entre Dos ESP-32:
Análisis de las opciones de comunicación punto a punto, como la
conexión directa mediante cables y pines GPIO.
La comunicación punto a punto mediante cables y pines GPIO (General Purpose Input/Output) es una
opción común y directa para establecer conexiones entre dispositivos electrónicos, como los módulos
ESP32.

Ventajas:

 Simplicidad: La conexión directa mediante cables y pines GPIO es relativamente simple y fácil de
implementar. No se requieren componentes adicionales, como módulos de red.
 Bajo Costo: Al no depender de hardware adicional, la implementación suele ser más económica.
 Latencia Baja: La comunicación directa tiende a tener una latencia baja, lo que es beneficioso
para aplicaciones en tiempo real.
 Control Total: Permite un control total sobre la comunicación y la transferencia de datos entre
dispositivos.

Desafíos y Consideraciones:

 Distancia Limitada: La longitud de los cables puede ser limitada, lo que restringe la distancia
entre los dispositivos conectados.
 Configuración de Pines: Se requiere una configuración adecuada de los pines GPIO para
garantizar la correcta comunicación entre dispositivos.
 Escalabilidad Limitada: Conectar más dispositivos puede volverse complicado y limitado debido a
la cantidad de pines GPIO disponibles.
 Problemas de Ruido: La conexión por cables puede estar sujeta a interferencias y ruido
electromagnético, especialmente en entornos eléctricamente ruidosos.
 Confiabilidad: La conexión física puede ser vulnerable a problemas como conexiones sueltas o
cables dañados, afectando la confiabilidad de la comunicación.
 Configuración Manual: La configuración y asignación de pines debe realizarse manualmente, lo
que puede aumentar la posibilidad de errores humanos.

Casos de Uso Comunes:

 Prototipado Rápido: Ideal para prototipos y pruebas rápidas donde la simplicidad y la velocidad
son prioritarias.
 Proyectos de Bajo Costo: Adecuado para proyectos con restricciones presupuestarias donde se
busca minimizar el costo de hardware.
 Sistemas Embebidos Simples: Aplicable en sistemas embebidos más simples sin la necesidad de
comunicación a larga distancia.
 Control Directo de Periféricos: Utilizado para controlar periféricos directamente conectados,
como sensores o actuadores.

La comunicación punto a punto mediante cables y pines GPIO es una opción viable y eficiente en
situaciones donde la simplicidad, el bajo costo y el control directo son prioritarios. Sin embargo, su uso
puede estar limitado en términos de distancia, escalabilidad y confiabilidad en comparación con
opciones de comunicación inalámbrica o más avanzadas. La elección de esta opción dependerá de los
requisitos específicos del proyecto y de la naturaleza de la aplicación.

la comunicación a través de redes, utilizando protocolos como MQTT o


HTTP para establecer la comunicación entre dos módulos ESP-32.
MQTT
Para establecer la comunicación entre dos módulos ESP32 utilizando el protocolo MQTT, necesitarás un
broker MQTT que actúe como intermediario entre los dos dispositivos. Puedes usar un broker MQTT en
la nube o configurar un broker MQTT local. Ejemplos de código para un ESP32 que publica mensajes y
otro ESP32 que suscribe y recibe esos mensajes. Utilizaré la biblioteca PubSubClient para Arduino, que es
una biblioteca comúnmente utilizada para trabajar con MQTT.

Funcionamiento General:

 Conexión a la Red Wi-Fi: Ambos ESP32 se conectan a la misma red Wi-Fi para asegurar la
comunicación.
 Conexión al Broker MQTT: Ambos ESP32 se conectan al broker MQTT mediante la biblioteca
PubSubClient.
 Publicación de Mensajes: El ESP32 publicador envía mensajes al tema "esp32_topic" en el broker
MQTT cada cierto intervalo.
 Suscripción a Mensajes: El ESP32 suscriptor se suscribe al tema "esp32_topic" en el broker
MQTT y recibe los mensajes publicados por el ESP32 publicador. Los mensajes son procesados
en la función de devolución de llamada (callback).
 Ambos ESP32 deben estar dentro del alcance de la red Wi-Fi y ser capaces de comunicarse con el
broker MQTT. Este escenario simula una comunicación básica entre dos dispositivos usando el
protocolo MQTT. El suscriptor recibe los mensajes publicados por el publicador en el mismo
tema, permitiendo así una interacción entre ambos dispositivos.

HTTP
Establecer comunicación entre dos ESP32 mediante el protocolo HTTP implica configurar uno de los
ESP32 como un servidor HTTP y el otro como un cliente HTTP.

Funcionamiento General:

 Conexión a la Red Wi-Fi: Ambos ESP32 se conectan a la misma red Wi-Fi para permitir la
comunicación.
 Servidor HTTP: El ESP32 servidor escucha en el puerto 80 y responde a las solicitudes HTTP en la
ruta "/" con un mensaje de saludo.
 Cliente HTTP: El ESP32 cliente realiza solicitudes HTTP al servidor a través de la dirección del
servidor definida en serverAddress.
 Procesamiento de Solicitudes: Cuando el cliente realiza una solicitud, el servidor responde con el
mensaje definido en el código del servidor.

Ambos ESP32 deben estar dentro del alcance de la red Wi-Fi y ser capaces de comunicarse entre sí. Este
escenario simula una comunicación básica entre un servidor y un cliente mediante el protocolo HTTP.
Cada vez que el cliente realiza una solicitud, el servidor responde con un mensaje específico. Este
enfoque es más simple que MQTT y se adapta bien a situaciones donde la comunicación es esporádica o
no es necesario mantener un estado persistente entre las solicitudes

Ejemplos prácticos de proyectos que requieren la comunicación


directa entre dos ESP-32, enfocándose en la implementación y los
desafíos asociados.
Sistema de Alarma Inalámbrica:
Objetivo: Crear un sistema de alarma inalámbrica que notifica a un usuario cuando se detecta una
intrusión.

Implementación:

 Un ESP32 con sensores de movimiento y/o contacto actúa como el sensor de alarma.
 El otro ESP32 recibe las alertas y las envía a través de notificaciones (correo electrónico, mensaje
de texto).

Desafíos:

 Minimizar falsas alarmas ajustando la sensibilidad de los sensores.


 Implementar un mecanismo de notificación confiable.

Sistema de Riego Automático:


Objetivo: Automatizar el riego de un jardín basado en las condiciones del suelo.

Implementación:

 Un ESP32 con sensores de humedad del suelo mide la humedad actual.


 El otro ESP32 controla la válvula de riego y recibe instrucciones para regar o no regar.

Desafíos:

 Calibrar correctamente los sensores de humedad del suelo.


 Ajustar la programación del sistema para garantizar un riego eficiente.

Control de Dispositivos IoT:


Objetivo: Controlar dispositivos IoT desde otro lugar utilizando una interfaz web o una aplicación.

Implementación:

 Uno de los ESP32 se conecta a los dispositivos a controlar (por ejemplo, luces, actuadores).
 El otro ESP32 actúa como un control remoto que envía comandos para activar/desactivar los
dispositivos.

Desafíos:

 Garantizar la seguridad en la comunicación para evitar accesos no autorizados.


 Implementar una interfaz de usuario amigable para el control remoto

Conclusiones:
Como conclusión se puede obtener lo siguiente

En la comunicación de entre dos esp32 tenemos como ventajas que ambos dispositivos pueden
comunicarse sin la necesidad de utilizar una interfaz de usuario en una computadora, al comunicarse
directamente tienen una reducción de latencia, no es necesario depender de una conexión a internet o
alguna red y su comunicación puede ser más fácil de escalar aunque sus desventajas son la limitación de
distancia la cual es limitada por los cables, la configuración de la comunicación y de pines debe de
hacerse manualmente y a medida que se agregan mas dispositivos la asignación de pines y la
comunicación puede volverse mas compleja y difícil de controlar. Algunos de sus casos de uso son
controlar y monitorear sistemas como sensores y actuadores sin depender de una conexión a internet,
conectar dispositivos IoT para intercambiar datos y para sistemas de comunicación en tiempo real.

A comparación de la comunicación entre un esp32 y una computadora que tiene como ventajas que
cuenta con una interfaz de usuario, la computadora puede procesar mas datos, se puede acceder a
recursos externos gracias a la conectividad con el internet y podría tener mayor almacenamiento aunque
de igual manera tiene sus desventajas como la dependencia a la computadora, podría tener mayor. Sus
casos de uso también varían y algunos de estos son monitoreo y control remoto de dispositivos IoT
utilizando una interfaz, sistemas de adquisición de datos y interfaz con aplicaciones en la computadora

Aunque cada tipo de comunicación tiene diferentes ventajas y desventajas al momento de elegir alguno
de los dos dependerá de los requisitos específicos del proyecto o de lo que estemos desarrollando.

También podría gustarte