No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Comunicación HTTP con ESP32 y Radio LoRa

13/17
Recursos

¿Cómo se configura el servidor HTTP en SP32 para manejar mensajes?

Con el servidor HTTP del SP32 ya planteado, es hora de adentrarnos en la parte específica del proyecto: el API para enviar y recibir mensajes. En este interesante proyecto, tu celular actúa como un módem, conectándose directamente con la tarjeta SP32 a través de Wi-Fi. Este enlace permite que la tarjeta SP32 escuche también mediante radio LoRa, facilitando la comunicación. Aquí vamos a desglosar cada parte del proceso involucrado:

  • La conexión Wi-Fi se realiza vía IP, permitiéndote interactuar con el dispositivo directamente desde el navegador.
  • Al recibir un mensaje a través de LoRa, se almacena en la tarjeta SP32.
  • Se emplean peticiones HTTP para solicitar el último mensaje guardado.
  • Si existe un mensaje, es devuelto; si no, retorna vacío.

¿Cómo se envían y reciben mensajes a través de Radio LoRa?

Los mensajes que se reciben a través de LoRa se almacenan temporalmente en el SP32 y se pueden consultar a través del API. Pero si deseas enviar mensajes a través de LoRa, el procedimiento es simple:

  1. Se recibe el mensaje mediante una petición HTTP utilizando la URL api.send.
  2. La tarjeta SP32 lo retransmite por Radio LoRa.

Este ciclo asegura que, una vez recibido por la segunda tarjeta, el mensaje sea conservado para futuras consultas o acciones.

¿Cuáles son los pasos para la implementación de endpoints en SP32?

Veamos cómo implementar los endpoints para manejar las peticiones:

  1. Deshabilitación de envío continuo: Ya no es necesario emitir el mensaje PINC, por lo que la tarea que lo gestionaba debe ser comentada o eliminada.
  2. Creación de endpoints para API:
    • Duplicar la configuración existente para manejar dos archivos HTML; uno para mensajes y otro para el envío de mensajes.
    • API para mensajes recibidos: Utilizar api.message con el método GET para gestionar las peticiones de mensajes.
    • API para enviar mensajes: Usar api.send de forma que al recibir una petición, el mensaje se retransmita a través de LoRa.

¿Cómo crear y configurar funciones para manejar mensajes HTTP?

Duplicamos funciones ya establecidas y las adaptamos a las nuevas necesidades:

  • Función para obtener el mensaje: Después de configurar api.message, la función debe devolver un JSON. Si el mensaje es inexistente, el JSON debería devolver vacío.

    // Ejemplo de JSON vacío
    const char* emptyMessage = "{\"message\":\"\"}";
    
  • Actualización de la función si hay un mensaje en memoria: Rellenar la variable msg con el contenido deseado y retornarlo a través de HTTP.

¿Qué recomendaciones aplicar durante la implementación y prueba del sistema?

Para asegurarte de que todo funcione correctamente:

  • Realizar pruebas en ambas tarjetas de desarrollo usando peticiones a api.msg para verificar mensajes entrantes.
  • Utiliza api.send para asegurar que el envío de mensajes desde el servidor HTTP funcione y se retransmita a través de LoRa.
  • Observa cómo se limpian los mensajes para evitar duplicados en futuras consultas.

Estas configuraciones son cruciales para que el sistema de mensajería opere a la perfección, creando un entorno de comunicación eficaz y robusto usando SP32 y LoRa. Continúa explorando y mejorando con nuevas aplicaciones y el desarrollo del frontend de esta fascinante aplicación. ¡El viaje del aprendizaje apenas comienza y el potencial es infinito!

Aportes 1

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Gran curso, muchas gracias Diana por compartir tu conocimiento!