Configuración del dispositivo Meshtastic ⚙️ incluye parámetros esenciales como Rol 🎭, Modo de retransmisión 🔁, asignaciones GPIO 🔌, intervalos de transmisión ⏱️ y comportamiento de energía 🔋. Estas configuraciones definen cómo funciona cada dispositivo dentro de la malla Meshtastic 🕸️—ya sea como Cliente 👤, Enrutador 📡, Repetidor 🔄, Sensor 🌡️ o Rastreador 📍—y cómo maneja la retransmisión de mensajes. La configuración se aplica mediante un mensaje de administrador 🛠️ usando la estructura protobuf Config.Device.
📑 Parámetros de configuración del dispositivo
🎭 Roles de dispositivo Meshtastic
| Rol del dispositivo | Descripción | Mejores usos |
| 👤 CLIENTE | Nodo de mensajería estándar, conectado a la app 📱 o independiente. Retransmite paquetes si ningún otro nodo lo ha hecho. | Rol de propósito general para personas que usan aplicaciones cliente para comunicarse 💬 a través de la malla. |
| 🤫 CLIENTE_SILENCIOSO | Nodo que no retransmite paquetes 🚫, reduciendo el uso del tiempo de aire ⏳. | Ideal para despliegues densos 🏙️ donde es importante minimizar el tráfico de retransmisión. |
| 🙈 CLIENTE_OCULTO | Dispositivo que solo transmite cuando es necesario, apoyando el sigilo 🕵️ o el ahorro de energía 🔋. | Útil para roles ocultos o de baja potencia que necesitan participación en la red mesh. |
| 📍 RASTREADOR | Prioriza paquetes de posición GPS 🛰️ para un seguimiento de ubicación confiable. | Mejor para rastrear activos 📦 o personas 🚶 donde las actualizaciones oportunas son críticas. |
| 🆘 PERDIDO_Y_ENCONTRADO | Transmite regularmente la ubicación 📡 al canal predeterminado para facilitar la recuperación. | Usado para localizar nodos perdidos en el campo 🌲. |
| 🌡️ SENSOR | Prioriza paquetes de telemetría 📊 como datos ambientales o de sensores. | Ideal para recolección de datos 🌱 con uso eficiente de energía 🔋 y actualizaciones frecuentes. |
| 🎖️ TAK | Optimizado para integración con sistemas ATAK, minimizando transmisiones rutinarias. | Usado en despliegues tácticos 🪖 que requieren soporte de plugin ATAK. |
| 🎯 TAK_TRACKER | Envía automáticamente transmisiones TAK PLI 📡 mientras reduce el tráfico rutinario. | Integración independiente con sistemas ATAK para operaciones tácticas basadas en ubicación. |
| 🔄 REPETIDOR | Nodo de infraestructura que siempre retransmite paquetes una vez 🔁, extendiendo la cobertura. No se muestra en la topología. | Repetidores estratégicamente ubicados 🏔️ para maximizar la cobertura sin aparecer en la lista de nodos. |
| 📡 ROUTER | Nodo de infraestructura que siempre retransmite paquetes una vez. Visible 👀 en la topología y lista de nodos. | Mejor usado en ubicaciones fijas 🏠 para extender la cobertura y mejorar la fiabilidad del enrutamiento. |
| ⏳ ROUTER_TARDE | Retransmite paquetes solo después de otros roles, mejorando la cobertura para clusters locales 🌐. | Ideal para cubrir huecos de cobertura 🕳️ o apoyar clusters aislados. |
📊 Análisis comparativo de roles
Esta tabla muestra los valores predeterminados después de seleccionar un preset ⚙️. Como siempre, los ajustes individuales se pueden modificar 🛠️ tras elegir un preset.
| Rol del Dispositivo 🎭 | BLE/WiFi/Serial 📡 | Pantalla Activada 🖥️ | Consumo de Energía 🔋 | Retransmitir 🔁 | Enrutamiento Prioritario 🚦 | Visible en la Lista de Nodos 👀 |
| 👤 CLIENTE | Sí ✅ | Sí ✅ | Regular ⚡ | Sí 🔁 | No 🚫 | Sí 👀 |
| 🤫 CLIENTE_SILENCIOSO | Sí ✅ | Sí ✅ | Mínimo ⏳ | No 🚫 | No 🚫 | Sí 👀 |
| 🙈 CLIENTE_OCULTO | Sí ✅ | Sí ✅ | Mínimo ⏳ | Solo Local 📍 | No 🚫 | No 🚫 |
| 📍 RASTREADOR | Sí ✅ | No 🚫 | Regular / Bajo 🔋 | Solo Despierto ⏱️ | No 🚫 | Sí 👀 |
| 🆘 PERDIDO_Y_ENCONTRADO | Sí ✅ | No 🚫 | Regular ⚡ | Sí 🔁 | No 🚫 | Sí 👀 |
| 🌡️ SENSOR | Sí ✅ | No 🚫 | Regular / Bajo 🔋 | Solo Despierto ⏱️ | No 🚫 | Sí 👀 |
| 🎖️ TAK | Sí ✅ | Opcional ⚙️ | Regular ⚡ | Sí 🔁 | No 🚫 | Sí 👀 |
| 🎯 TAK_TRACKER | Sí ✅ | Opcional ⚙️ | Regular ⚡ | Sí 🔁 | No 🚫 | Sí 👀 |
| 📡 ROUTER | No 🚫 | No 🚫 | Alto ⚡⚡ | Sí 🔁 | Sí ✅ | Sí 👀 |
| ⏳ ROUTER_TARDE | Sí ✅ | Sí ✅ | Alto ⚡⚡ | Sí 🔁 | No 🚫 | Sí 👀 |
| 🔄 REPETIDOR | Sí ✅ | No 🚫 | Alto ⚡⚡ | Sí 🔁 | Sí ✅ | No 🚫 |
🔋 Entendiendo el Ahorro de Energía y el Rendimiento del Rol
⚙️ Sólo Plataforma ESP32 – Gestión de Energía Meshtastic
En la plataforma ESP32 💻, todos los roles—excepto TRACKER 📍 y SENSOR 🌡️—soportan operación de bajo consumo usando power.is_power_saving 💤. Cuando está habilitado, el dispositivo entra en modo de suspensión 😴, apagando periféricos 🔌, GPS 🛰️ y radios 📡 para conservar energía 🔋.
Parámetros de tiempo de espera ⏱️ como display.screen_on_secs, power.min_wake_secs, y power.wait_bluetooth_secs influye cuándo el dispositivo duerme. Eventos externos como recepción de paquetes 📦, pulsaciones de botón 🔘 o conexiones Bluetooth 📱 pueden reiniciar la cuenta regresiva.
Para el rol ROUTER 📡, el ahorro de energía siempre está habilitado ✅ para asegurar un uso eficiente de la energía mientras se mantiene la red mallada 🕸️.
🌐 Plataformas ESP32 y NRF52 – Comportamiento de Sueño de Tracker y Sensor
En ambas plataformas ESP32 💻 y NRF52 🔋, los roles TRACKER 📍 y SENSOR 🌡️ usan ciclos de sueño especializados 💤. Los trackers duermen hasta la próxima transmisión GPS 🛰️, luego despiertan para enviar paquetes de posición 📍. Los sensores duermen hasta el siguiente intervalo de telemetría 📊, luego despiertan para recolectar y transmitir datos 🌱.
A diferencia de otros roles, estos nodos no mantienen la radio LoRa en espera 🚫, despertando sólo en intervalos configurados ⏱️. Esto los hace ideales para reportes periódicos de bajo consumo 🔋.
- 📌 El modo Sólo Despierto permite retransmisiones sólo durante los períodos activos, no mientras duerme 😴.
- 📡 Para nodos ROUTER en ESP32, el ahorro de energía está habilitado por defecto ⚡. Para actualizar vía Bluetooth 🔗, cambia temporalmente el rol a un modo sin suspensión, luego vuelve al original una vez completado ✅.
⚙️ Otros Parámetros de Configuración del Dispositivo
- 🔁 Configuración de Retransmisión Meshtastic: Define cómo se retransmiten los mensajes a través de la malla 🕸️.
| Valor | Descripción |
| TODOS 📡 | Por defecto – Retransmite todos los mensajes de mallas locales y extranjeras 🌍, incluso si la encriptación difiere. |
| ALL_SKIP_DECODING 🚫 | Igual que ALL pero omite decodificación, retransmite a ciegas 👀. Solo para rol de Repetidor 🔄. |
| LOCAL_ONLY 📍 | Retransmite solo mensajes de canales locales, ignora mallas extranjeras 🚫. |
| KNOWN_ONLY 🧩 | Filtra paquetes de nodos desconocidos ❌, retransmite solo desde entradas conocidas en NodeDB. |
| NONE 🚫 | Desactiva la retransmisión. Solo para roles como SENSOR 🌡️, TRACKER 📍 y TAK_TRACKER 🎯. |
| CORE_PORTNUMS_ONLY 🎯 | Retransmite solo tipos de paquetes principales: NodeInfo ℹ️, Texto 💬, Posición 📍, Telemetría 📊, Enrutamiento 🔄. |
- 🔘 Configuración GPIO del Botón de Usuario: Define el número de pin GPIO para el botón de usuario si falta.
- 🔔 Configuración GPIO del Zumbador PWM: Asigna el pin GPIO para alertas del zumbador 📢.
- ⏱️ Intervalo de Difusión de NodeInfo: Establece el intervalo para las transmisiones automáticas de NodeInfo ℹ️.
- 👆 Doble Toque como Pulsación de Botón: Habilita el gesto de doble toque si hay acelerómetro presente.
- 🚫 Desactivar Función de Triple Clic: Apaga el atajo de triple clic para alternar GPS 📍.
- 🌍 Definición de Zona Horaria (TZDEF): Define los desplazamientos horarios locales ⏰ usando cadenas POSIX TZ.
- 💡 Latido LED Desactivado: Detiene el parpadeo del LED ✨ para sigilo o ahorro de energía 🔋.
📱 Accesibilidad del Cliente de Configuración del Dispositivo
🤖 Android
- Abre la App Meshtastic 📲.
- Navegar: ⋮ (3 puntos) ➡️ Configuración de Radio ➡️ Dispositivo.
🍎 Apple
Todas las opciones de configuración (excepto Servidor NTP 🌐) están disponibles en iOS, iPadOS y macOS en Configuración ➡️ Configuración del Dispositivo ➡️ Dispositivo.
💻 CLI
Todas las opciones son accesibles a través del CLI de Python 🐍. Comandos de ejemplo a continuación:
| Configuración ⚙️ | Valores Aceptables ✅ | Predeterminado 📌 |
| device.role 🎭 | CLIENTE 👤, CLIENTE_SILENCIO 🤫, ENRUTADOR 📡, REPETIDOR 🔄, RASTREADOR 📍, SENSOR 🌡️ | CLIENTE 👤 |
| device.rebroadcast_mode 🔁 | TODOS 📡, TODOS_OMITIR_DECODIFICACIÓN 🚫, SOLO_LOCAL 📍 | TODOS 📡 |
| device.button_gpio 🔘 | 0 – 34 🔢 | 0 |
| device.buzzer_gpio 🔔 | 0 – 34 🔢 | 0 |
