Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Heltec LoRa Chat

Sketch para Heltec WiFi LoRa 32 V2 en Arduino IDE. La placa crea un AP WiFi, sirve una interfaz web desde LittleFS y usa LoRa para enviar y recibir mensajes entre nodos.

Uso rapido en Arduino IDE

  1. Abre Heltecv2_Chat.ino.
  2. Selecciona la placa Heltec WiFi LoRa 32(V2) o una placa ESP32 compatible con los pines del sketch.
  3. Instala la libreria LoRa de Sandeep Mistry desde el Library Manager.
  4. Instala las librerias Adafruit SSD1306 y Adafruit GFX Library desde el Library Manager para usar la pantalla OLED.
  5. Verifica y sube el sketch.
  6. Sube la carpeta data/ a LittleFS con la herramienta de subida de archivos para ESP32.
  7. Conectate al WiFi HeltecChat-XXXX con clave heltecchat.
  8. Abre http://192.168.4.1.

Para chatear necesitas al menos dos placas con el mismo firmware, frecuencia, sync word, spreading factor y bandwidth. Cada placa levanta su propio AP; conectate al AP de una de ellas para enviar o ver los mensajes que esa placa recibe por LoRa.

Funciones

  • Chat LoRa punto a punto desde una interfaz web local.
  • AP WiFi propio con portal en http://192.168.4.1.
  • Selector de emojis por categorias.
  • Alias configurable desde el menu.
  • Deteccion de uno o varios nodos cercanos.
  • Estado online/offline por paquetes de presencia LoRa.
  • Barras de calidad de senal calculadas desde RSSI/SNR.
  • Panel tecnico en menu hamburguesa, separado del chat.
  • Pantalla OLED con resumen rapido del estado local.

La interfaz muestra si otros receptores estan online usando pequenos paquetes de presencia por LoRa. Para ver ese estado, todos los nodos deben tener esta misma version del sketch cargada. Si un nodo se apaga, normalmente pasa a offline despues de unos 15 a 20 segundos. Si aparece otro nodo, la cabecera muestra la cantidad de nodos online y el menu muestra la lista de nodos detectados con su ultima senal.

La interfaz y la OLED muestran barras de calidad de senal calculadas desde RSSI/SNR. Es una estimacion practica: una barra es debil, cuatro barras es excelente.

La pantalla OLED integrada muestra un resumen local: IP del AP, cantidad de clientes WiFi, estado LoRa, receptor online/offline, RX/TX, barras de senal y el ultimo mensaje corto.

Cuando cambies archivos de data/, debes volver a subir LittleFS. Cuando cambies Heltecv2_Chat.ino, debes volver a subir el sketch. Para cambios como presencia, senal u OLED, conviene actualizar todos los nodos.

Los emojis ocupan mas bytes que texto normal en LoRa, por eso un mensaje con muchos emojis puede alcanzar antes el limite de 160 bytes.

Banda para Chile

El sketch queda configurado en 915.2 MHz, dentro del rango 915-928 MHz usado en Chile para LoRa/AU915:

constexpr long LORA_FREQUENCY = 915200000L;
constexpr long LORA_BANDWIDTH = 125000L;
constexpr uint8_t LORA_SPREADING_FACTOR = 7;
constexpr uint8_t LORA_SYNC_WORD = 0x34;

Si cambias la frecuencia, mantenla dentro de la banda permitida y usa la misma configuracion en todos los nodos.

Estructura

  • Heltecv2_Chat.ino: AP WiFi, DNS cautivo, servidor HTTP, LittleFS y radio LoRa.
  • data/index.html: interfaz del chat.
  • data/styles.css: estilos responsivos.
  • data/app.js: polling de mensajes, envio y estado del nodo.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages