.
Este es el modulo central
.
.
este es el modulo remoto
.
.
El codigo de los modulos esta muy largo y se queda en “Tu comentario esta en proceso de revision”
Introducción a las telecomunicaciones con IoT y LoRa
Comunicación IoT con LoRa y ESP32: Programación y Aplicaciones
Fundamentos de LoRa
Fundamentos del Funcionamiento de la Radio y Electromagnetismo
Conceptos Fundamentales de Radio LoRa y Aplicaciones Prácticas
Configuración de hardware LoRa con tarjetas TTGO y ESP32
Configuración del proyecto
Configuración de Librerías LoRa y OLED en Proyectos ESP32 con IDF
Programación de Pantallas OLED con ESP32 y Protocolo I2C/SPI
Programación de Pantallas OLED con ESP32 y Visual Studio Code
LoRa con ESP32
Modulación y Transmisión de Mensajes en Radio LoRa
Comunicación ESP32 con LoRa: Configuración y Programación Básica
Recepción de Mensajes con LoRa en Visual Studio Code
Comunicación de mensajes entre tarjetas LoRa con FreeRTOS
Aplicaciones con LoRa
Creación de un Chat Web con ESP32 y Servidor HTTP
Comunicación HTTP con ESP32 y Radio LoRa
Creación de una Aplicación Web de Mensajería con HTML y JavaScript
Comunicación de Dispositivos Móviles con Redes Wi-Fi
Redes LoRa
Redes LoRaWAN y Mesh: Configuración y Aplicaciones Prácticas
Proyectos con LoRa y ESP32 para IoT
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Para transmitir mensajes de Lora es fundamental entender la importancia de gestionar tanto el envío como la recepción de mensajes de manera adecuada. Dado que no podemos enviar y recibir con la misma antena al mismo tiempo, es crucial crear pausas cuando trabajamos con sistemas de radio. Aquí mostramos cómo configurar la transmisión usando FreeRTOS para gestionar tareas de recepción y transmisión.
Primero, tendrás que tener a la mano dos tarjetas de desarrollo, ya que una se encargará de transmitir y otra de recibir. Además, es esencial identificar a qué puertos COM están conectadas tus tarjetas (COM7 y COM9, por ejemplo, aunque esto puede variar en tu caso).
Recuerda tener el entorno configurado con el editor Visual Studio Code y las bibliotecas necesarias cargadas en tu proyecto. Deberás familiarizarte con la librería de tareas FreeRTOS
para manejar la manipulación de las tareas de transmisión y recepción.
Para transmitir un mensaje, empleamos la función loraSendPacket
, que requiere un buffer para el mensaje y su tamaño. Antes de comenzar el envío:
printf
para mostrar un mensaje en la terminal que indique que estás transmitiendo.char
, conviértelas al tipo uint8_t
.printf
para confirmar que el mensaje fue enviado. Asegúrate de incluir un cambio de línea para organizada presentación en la terminal.Además, utiliza las funciones taskSuspend
y taskResume
para evitar que la tarea TX y RX choquen. Cuando envíes un mensaje, suspende temporalmente la recepción hasta que la transmisión haya concluido.
// Código para manejar transmisión y recepción
void enviarMensaje() {
char* msg = "pink";
uint8_t largoMsg = 5; // largo del mensaje
printf("Transmisión del paquete: %s\n", msg);
loraSendPacket((uint8_t*)msg, largoMsg);
taskSuspend(handleRxTask); // Suspende recepción
taskResume(handleRxTask); // Reanuda recepción después de enviar
}
Para evitar errores como ciclos infinitos, incluye delays estratégicos después de tus operaciones de loop. Esto puede realizarse añadiendo un taskDelay
en tu ciclo principal para manejar los intervalos entre transmisiones.
Recomendación: Integre un taskDelay
de 2 segundos para permitir una pausa significativa entre cada mensaje enviado.
// Ejemplo de delay en transmisión
for(;;) {
enviarMensaje();
taskDelay(2000 / portTICK_PERIOD_MS);
}
Implementa las recomendaciones de FreeRTOS
para que tu sistema gestiona correctamente el paso del tiempo y no sobrecargues a tu microcontrolador con tareas sin control.
En caso de que experimentes problemas de compilación o funcionamiento, revisa los siguientes puntos:
uint8_t
, estés señalando que es un puntero.printf
para mostrar al recibir, así como asegurar el manejo correcto de los mensajes.Estos pasos te ayudarán a configurar cualquier proyecto de LoRa que desees emprender, permitiéndote expandirte hacia aplicaciones de sensores, sistemas de comunicación, y mucho más. ¡Ánimo con tu desarrollo!
Aportes 2
Preguntas 1
.
Este es el modulo central
.
.
este es el modulo remoto
.
.
El codigo de los modulos esta muy largo y se queda en “Tu comentario esta en proceso de revision”
Qué satisfacción tan bonita ver a las tarjetas subiendo el count y cambiando la potencia al alejarlas. Trabajar con hardware es genial!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?