Neomano
← Volver al inicio

YuboxNow: Equipa tu placa ESP32 con su propia interfaz Web de configuración y soporte LoRaWAN

Interfaz de configuración Web para ESP32. Soporta WiFi, LoRaWAN y muchas características indispensables para IoT.

Por Edgar Landívar

YuboxNow: Equipa tu placa ESP32 con su propia interfaz Web de configuración y soporte LoRaWAN

De la misma manera que puedes configurar un ruteador inalámbrico, YuboxNow te permite embeber una interface de configuración en tu placa electrónica ESP32. YuboxNow se encuentra bajo licencia libre y una característica muy interesante es que soporta chipsets con LoRaWAN, que está muy de moda en el mundo de Internet de las Cosas o IoT.

Qué tarjetas ESP32 están soportadas?

Teóricamente cualquier tarjeta ESP32. Las que puedo confirmar en lo personal son:

  • Heltec WiFi LoRa
  • HiLetgo ESP-WROOM-32 (sin LoRaWAN)
  • Yubox Node
  • Yubox ONE

Aquí haré un pequeño tutorial de cómo instalar YuboxNow en la tarjeta Heltec WiFi LoRa, debido a que es muy fácil conseguirla. Dejo vínculo a Amazon.

Más información de la placa Heltec WiFi LoRa en su sitio Web oficial https://heltec.org/project/wifi-lora-32/

Requisitos

  • Un board ESP32 soportado
  • Arduino IDE, al menos versión 1.8.13
  • Soporte ESP32 para Arduino IDE (Arduino-ESP32), versión 2.0.3 o superior (esto se hace en el gestor de placas de Arduino)
  • Bibliotecas de YUBOX Now y dependencias actualizadas

Paso 1) Instalar Plugins de Arduino

El sketch de YUBOXNow se puede compilar desde el Arduino IDE, como se hace con otros proyectos. Se debe de elegir el board “Heltec WiFi LoRa 32 (V2)” desde el gestor de tarjetas. Debemos también tener en cuenta que vamos a necesitar tener los siguientes PLUGINS e Arduino instalados previamente. No confundir plugins con librerías.

  • YUBOX – Assemble HTML Interface: crea el directorio data/ y reúne los módulos de YUBOXNow en los archivos HTML y Javascript para el SPIFFS inicial. Se trata de una librería que se puede descargar de este vínculo, en formato ZIP y se instala dentro del directorio “tools” que se encuentra en la carpeta base de Arduino.
  • ESP32 Sketch Data Upload: genera y carga el sistema de archivos SPIFFS inicial de YUBOXNow al board. Se puede instalar desde el gestor de bibliotecas del ArduinoIDE o se pueden seguir las instrucciones aquí: https://github.com/me-no-dev/arduino-esp32fs-plugin

Luego de instalar estos plugins la carpeta tools debe quedar parecida a la siguiente imagen.

blank

Luego de esto reiniciamos Arduino y debemos ver estas dos nuevas opciones en el menú de Herramientas.

blank

Paso 2) Instalar YuboxNow

El proyecto YuboxNow se encuentra alojado en GitHub en el siguiente vínculo. Podemos usar la herramienta GIT para clonar el proyecto, o si eso suena complicado, también podemos descargarlo directamente de aquí, en formato zip.

Este archivo contiene una carpeta llamada yubox-now-master. Esta carpeta la colocamos dentro del directorio “libraries“, donde se instalan todas las demás bibliotecas de Arduino.

Sistema OperativoRuta bibliotecas (librerías) Arduino
Mac OS X/Users/USUARIO/Documents/Arduino/libraries
WindowsC:\Users\USUARIO\Documents\Arduino\libraries
Linux/home/USUARIO/arduino/sketchbook/libraries
Rutas típicas de la carpeta de bibliotecas de Arduino, dependiendo del Sistema Operativo

Si tenemos problemas con la ruta, podemos ir al menú de Preferencias, dentro del Arduino IDE y allí está la ruta exacta.

YuboxNow tiene sus propias dependencias, entre las cuales citamos las siguientes bibliotecas:

LibreríaMétodo de instalación
ArduinoJSONDesde el gestor de bibliotecas de Arduino
AsyncTCPSockDesde https://github.com/yubox-node-org/AsyncTCPSock/archive/master.zip
ESPAsyncWebServerDesde https://github.com/yubox-node-org/ESPAsyncWebServer/archive/refs/heads/yuboxfixes-0xFEEDC0DE64-cleanup.zip
Async MQTT client for ESP8266 and ESP32Desde https://github.com/marvinroger/async-mqtt-client/archive/master.zip

Información detallada de cómo instalar estas bibliotecas se encuentra aquí: https://github.com/yubox-node-org/yubox-now/

Una vez instaladas las dependencias y la librería YuboxNow, abrimos uno de los ejemplos que vienen con YuboxNow, desde el menú de “Archivo –> Ejemplos –> YuboxNow –> ybx-blinktest”.

Lo primero que haremos antes de compilar es ejecutar los plugins previamente instalados para poder cargar el directorio Web a la tarjeta. Primero ejecutamos el Yubox Assemble HTML Interface y luego el ESP32 Sketch Data Upload.

blank

3) Soporte LoRaWAN Arduino

Podemos usar YuboxNow sin soporte para LoRaWAN, pero aquí mostraremos cómo añadir este soporte (y su correspondiente menú), puesto que muchas veces es algo engorroso configurar LoRaWAN desde el código. Con YuboxNow es mucho más sencillo, porque se hace a través de una interfaz Web. Para agregar el soporte LoRaWAN, es necesario instalar las siguientes bibliotecas adicionales en el Arduino IDE:

  1. SX126x-Arduino, librería base para comunicación con los chips SX126x de Semtech. Se la puede instalar desde el gestor de bibliotecas de Arduino.
  2. Beelan LoRaWAN, la biblioteca base que implementa soporte LoRaWAN para el chipset SX127x. Esta biblioteca puede instalarse de forma ordinaria usando el gestor de bibliotecas de Arduino IDE, y buscándola con el nombre indicado.
  3. yubox-LoRaWAN, el adaptador que permite configurar el AppEUI y AppKey para el soporte OTAA de LoRaWAN. Esta librería implementa un nuevo menú llamado LoRaWAN en la interfaz Web de YuboxNow. La versión que utiliza la biblioteca Beelan-LoRaWAN está en la rama SX127x-Beelan-LoRaWAN, la cual puede descargarse como un archivo ZIP desde https://github.com/yubox-node-org/yubox-LoRaWAN/archive/refs/heads/master.zip.
blank

Paso 4) Ejecutar programa de ejemplo

La biblioteca yubox-LoRaWAN contiene el ejemplo yubox-lorawan-helloworld que muestra la integración como parte de un programa completo.

Se debe estar seguro de haber seleccionado el board “Heltec WiFi LoRa 32 (V2)” como objetivo desde el Arduino IDE, de lo contrario, las definiciones de pines LoRa no estarán disponibles y fallará la compilación.

Construir el contenido html

Para esto ejecutamos el plugin Yubox Assemble HTML Interface. Lo que hace este plugin es tomar como base una plantilla, la cual se encuentra en la carpeta data-template y construir un directorio llamado data, que es el que realmente se transfiere al ESP32.

Compilar Arduino

Luego de compilar y transferir el código deberíamos ver una nueva red en el menú de red WiFi de nuestro computador. El nombre de la red comienza con la palabra YUBOX. Nos conectamos a esa red y visitamos la interfaz Web en la IP 192.168.4.1. Ya está casi todo listo!

blank

Paso 5) Configuración LoRaWAN

Ahora sí, vamos a un navegador, visitamos al IP antes mencionada y nos encontramos con la interfaz de YuboxNow. El usuario por omisión es admin y la clave es yubox. Lo primero que debemos hacer al ingrsar es cambiar la clave.

Accederemos a una interfaz responsiva y slim desde donde configurar el acceso a WiFi, actualizar el firmware o configurar LoRaWAN será bastante sencilla… siiiiiiiiiii!

Les dejo mi pantalla de configuración de LoRaWAN. Los datos más importante son el EUI del dispositivo y la clave de aplicación. El EUI de aplicación puede quedar en 16 ceros como se ve en la figura, a menos que nuestra red LoRaWAN necesite algo diferente.

blank

Extra) Compilación desde línea de comandos, para usuarios expertos

Algunos usuarios expertos prefieren compilar sin utilizar el Arduino IDE. Es por eso que YuboxNow trae la posibilidad de compilar desde la línea de comandos. Para compilar ejecutamos el comando make con las siguientes opciones.

make ARDUINO_INSTALL=~/arduino-1.8.15 YF=~/Arduino/libraries/yubox-now-master ESP32_BOARD=heltec_wifi_lora_32_V2

La opción ARDUINO_INSTALL debe apuntar al directorio donde se encuentra instalado Arduino en nuestro sistema.

Para transferir nuestro sketch ejecutamos nuevamente el comando make, pero con la opción fullupload

make fullupload

Este comando asume que nuestro dispositivo se encuentra conectado al puerto USB llamado /dev/ttyUSB0, pero se lo puede cambiar la ruta si agregamos el parámetro SERIALPORT=ruta

Compartir¡Copiado!

También te puede interesar

Comentarios

Inicia sesión con GitHub para comentar.
Publicidad

Del autor · Noticias · IA · Audio

MiPais.com Las noticias del mundo, en audio, desde un globo terráqueo

Visitar MiPais.com