4 puntos por GN⁺ 2024-01-02 | 1 comentarios | Compartir por WhatsApp
  • Meshtastic es una red mesh open source en la que dispositivos de bajo consumo y bajo costo se conectan entre sí sin estaciones base ni internet, útil en situaciones donde no hay infraestructura de comunicación
  • Usa comunicación de largo alcance basada en LoRa y cifrado AES-256 para enviar y recibir mensajes privados peer-to-peer incluso en entornos fuera de la red
  • El alcance de su ecosistema se está ampliando, con más de 8 dispositivos respaldados por la comunidad, más de 149 contribuidores de código en todo el mundo, 26 regiones LoRa y 39 idiomas compatibles
  • Mediante apps para iOS, iPad y Mac OS, app para Android, Web Client y Python CLI/SDK, usuarios móviles y desarrolladores pueden acceder a la misma red
  • Ofrece varios clientes, documentación y una herramienta de flasheo, por lo que la ruta de entrada desde la preparación del hardware hasta la configuración y el control de dispositivos es relativamente clara

Red mesh que funciona sin infraestructura

  • Meshtastic es una red mesh descentralizada fuera de la red basada en open source
  • Está diseñada para ejecutarse en dispositivos económicos y de bajo consumo, y ofrece conectividad peer-to-peer sin estaciones base ni internet
  • Su premisa central es: “No cell towers. No internet. Just pure peer-to-peer connectivity.”

Funciones de comunicación

  • Long Range: permite comunicaciones con alcance de varios kilómetros mediante tecnología LoRa
  • Encrypted: mantiene los mensajes privados y seguros mediante cifrado AES-256
  • No Infrastructure: funciona sin estaciones base, WiFi ni conexión a internet

Comunidad y alcance de soporte

  • El tamaño del ecosistema que presenta Meshtastic es el siguiente
    • Dispositivos respaldados por la comunidad: más de 8
    • Contribuidores de código en todo el mundo: más de 149
    • Regiones LoRa: 26
    • Idiomas compatibles: 39

Clientes para acceso y control

  • Apple Apps: apps compatibles con iOS, iPad y Mac OS para administrar redes Meshtastic mientras te desplazas
  • Android App: permite conectar y controlar dispositivos Meshtastic desde la app de Android
  • Web Client: cliente basado en web que permite acceder a redes Meshtastic desde varios dispositivos
  • Python CLI/SDK: ofrece una interfaz de línea de comandos y un SDK para desarrolladores Python

Herramientas para empezar y configurar

  • Get Started: enlaza a la documentación para empezar con Meshtastic
  • Read the Docs: punto de entrada a la documentación para usuarios que necesitan hardware
  • Flasher: enlaza a la herramienta de flasheo del sitio de Meshtastic

1 comentarios

 
GN⁺ 2024-01-02
Comentarios en Hacker News
  • Hay un proyecto relacionado: https://github.com/antirez/freakwan/
    Por cierto, lo hice yo. El concepto es similar a Meshtastic, pero el objetivo fue documentar y dejar más claras las decisiones a nivel de protocolo, y crear una implementación mucho más fácil de hackear y modificar
    Si entiendes italiano, también hay una presentación aquí: https://talks.codemotion.com/introduzione-alla-tecnologia-rf...

  • Lo probé en Burning Man 2023, y Burning Man es duro con el equipo y el entorno de radiofrecuencia también es sorprendentemente complejo
    Aun así, fue estable y la experiencia de usuario fue buena, así que me gustó bastante

    • Tenía entendido que LoRa no tiene mucho ancho de banda; por simple curiosidad, ¿para qué uso lo ocupaste?
    • Yo también lo usé ahí y funcionó bastante bien, pero parecía necesitar ajustes para que mi ubicación se actualizara más rápido
      También hice un fork de firmware modificado para mostrar la ubicación en la playa
      https://github.com/exadeci/Meshtastic-device-bm
    • También lo probé en EDC el año pasado y de forma similar funcionó bastante bien
    • ¿Hay algún artículo recomendable para leer?
  • Compré un montón de equipo LoRa/Meshtastic e investigué si podría registrar mi ubicación y mostrarla en un mapa de una forma similar a APRS
    Pero pareció mucho más difícil que configurar un APRS iGate y ver mi ubicación en aprs.fi
    Quiero intentarlo de nuevo algún día, pero siento que necesito una buena guía de inicio que me motive

    • Tengo bastante hardware LoRa de Meshtastic, y hacer que realmente funcione bien fue mucho más difícil de lo que esperaba
  • Me recuerda al dicho de no preguntar la edad a una mujer, el sueldo a un hombre ni el rendimiento a un transceptor LoRa
    Si estás en el rango de decenas de bits por segundo, una vez que consideras los encabezados de paquetes, la corrección de errores y demás, con suerte solo obtendrás unos pocos caracteres por segundo, o incluso menos

    • Si ves la hoja de datos del Semtech SX1262, uno de los chips de radio que se usan comúnmente en equipos Meshtastic, la tasa mínima de bits es de 18 bps, o sea bastante lenta
      Pero usando un ancho de canal mayor y un factor de expansión bajo puede subir hasta 62.5 kbps. No sé exactamente qué modo usa Meshtastic por defecto, pero parece que hay 8 preajustes
    • La expresión “no preguntes la edad a una mujer ni el sueldo a un hombre” suena algo sexista
      Sé que es un dicho, y no estoy culpando al comentario original
  • Antes de emocionarse demasiado con esto, vale la pena señalar que usar un sistema de radio mallado semidúplex/TDD con antenas omnidireccionales está entre las formas menos eficientes de construir una red IP inalámbrica a escala de pueblo o ciudad pequeña
    Cuando las antenas omnidireccionales se comunican entre sí, también actúan como recolectores de ruido de 360 grados, así que terminan recibiendo no solo a la contraparte con la que están transmitiendo en ese momento, sino también tráfico o señales de ocupación de ranuras de tiempo de nodos mesh un poco más lejanos
    Del mismo modo, al enviar paquetes a un nodo específico, el 99% de la señal RF se dispersa en direcciones de azimut que no se quieren ni se necesitan, elevando el piso de ruido en nodos cercanos con configuraciones de hardware similares
    Si alguien quiere hacer algo así con un presupuesto muy ajustado, recomendaría más bien revisar sistemas inalámbricos punto a punto 802.11ac/ax diseñados para crear un puente Ethernet L2 entre dos puntos. Suelen estar basados en antenas reflectoras parabólicas, y últimamente también hay equipos baratos de puente punto a punto de 24GHz y 60GHz, asumiendo línea de vista y una zona de Fresnel despejada
    El equipo tipo LoRa también opera en bandas mucho más bajas que 2.4GHz o 5GHz, parecidas a VHF/UHF y generalmente por debajo de 1300MHz, y si se necesita un enlace fijo entre dos puntos, es mucho mejor poder orientar entre sí antenas Yagi-Uda o dipolos en vez de enfrentar dos antenas omnidireccionales
    Si los nodos no se mueven y su posición relativa no cambia, recomendaría fuertemente considerar casi cualquier opción que no sea omnidireccional para los enlaces de red entre nodos, por una mejor estabilidad del enlace y mayor tasa de datos
    Este es un ejemplo cualquiera encontrado con una búsqueda de 5 segundos; miren el patrón de ganancia en una dirección específica: https://www.elprocus.com/design-of-yagi-uda-antenna/
    Una de las cosas geniales que se hacen hoy con chipsets y módulos RF del tipo LoRa es ExpressLRS. Implementa un puente UART serial entre un control remoto y el controlador de vuelo a bordo de un UAV, un bote no tripulado o un vehículo terrestre, entre otros. Es una evolución del concepto general de TBS Crossfire para uso RC
    https://www.google.com/search?client=firefox-b-d&q=expresslr...

    • Creo que escribiste bastante sin tener muy claro qué es Meshtastic
      Meshtastic es mensajería de texto con canales, y ofrece transmisión de datos de sensores y funciones de datos de ubicación para algunos nodos
      No está pensado para ofrecer redes TCP/IP
    • Parece escrito asumiendo algo que no es LoRa
      Construir “una red IP inalámbrica a escala de pueblo o ciudad pequeña” nunca fue el objetivo. Lo único que se puede hacer es una red simple de mensajes de texto con bastante buen alcance y bajo ancho de banda
    • También se podría pegar este equipo a drones y lanzarlos por turnos para seguir amplificando la señal en cierta zona
      Parece que realmente hay mucho potencial para eludir al ISP
    • En entrenamiento de LLM se usa LoRA, con la A mayúscula; en radio es LoRa
    • Por eso se inventaron cosas como las antenas inteligentes y el beamforming
      Pero en sistemas de muy bajo rendimiento como LoRa, lentos en el dominio temporal, no es un concepto fácil de aplicar si se considera movilidad
  • Hay un video de un británico muy entusiasta usando de verdad la app de Android y mostrando funciones como traceroute: https://www.youtube.com/watch?v=LmGr1pGJ4sM

  • Dice que escala solo hasta 80 nodos, así que salvo que uno lo construya por su cuenta, parece difícil encontrar una malla a la que unirse, y probablemente solo funcione entre gente conocida
    Quiero una red mesh mundial que reemplace internet

    • Yo también. Al menos por ahora, creo que el camino a futuro son las aplicaciones tolerantes a particiones más que una malla gigantesca
      Una búsqueda como “¿Taco Express ya abrió?” no debería funcionar resolviendo un nombre globalmente único a una dirección globalmente única, preguntándole a un servidor lejano y haciendo que ese servidor vuelva a pedir información de ubicación para averiguar de cuál Taco Express se trata. Eso es demasiado frágil
      En cambio, la búsqueda debería propagarse por las mallas que estén al alcance hasta encontrar un nodo con autoridad sobre el horario de Taco Express, probablemente una Raspberry Pi en el propio Taco Express. La estructura sería obtener un resultado local porque el objetivo de la consulta es local
      El problema de unir esas mallas también es interesante, pero hasta que no exista un ecosistema de apps que no dependa de direcciones estables de nodos individuales, no será tan útil
      Lo que se necesita no es direccionamiento de servidores y solicitud/respuesta, sino direccionamiento basado en contexto y publicación/suscripción. Hace falta un cambio conceptual bastante grande, y tristemente no creo que ocurra hasta que algún desastre convenza a la gente de que es necesario
    • Internet ya es una red mesh mundial
      En comparación con enlaces de fibra de 1000 km y 10000 Gbps que cuestan millones de dólares desplegar, lo que puede aportar una sola persona es casi nada. Aun así, nada impide conseguir puertos en dos centros de datos o puntos de intercambio de internet, conectarlos de algún modo y luego cobrar por transportar tráfico entre ellos
      En Europa, la cotización para transportar 10Gbps a lo largo de 650 km era de unos 800 dólares al mes, así que potencialmente se puede ganar algo por ese lado
    • Si te interesan las redes mesh grandes, vale la pena mirar Wirepas. Eso sí, no usa LoRa sino 802.15.4
      Fui gerente de producto de un sistema de seguimiento de personal basado en mesh para obras de construcción, y licenciamos tecnología de Wirepas para usarla en la solución. En ese proceso aprendí mucho sobre las sutilezas de las redes mesh
    • Si dices “una red mesh mundial que reemplace internet”, me da curiosidad qué criterios de diseño tienes en mente
      Hay compensaciones difíciles entre capacidad de descubrimiento, latencia, disponibilidad y seguridad
  • ¿No había una red mesh de Android de código abierto? ¿Basada en Wi‑Fi o Bluetooth?
    Me parece haber escuchado que se usaron redes mesh en protestas hace unos años, ¿todavía no hay nada que siga siendo realmente útil?

    • Yggdrasil puede usar Wi‑Fi en Android. Aún no lo he probado personalmente: https://yggdrasil-network.github.io/
      Yggdrasil permite usar aplicaciones TCP/IP sobre su propia red mesh, pero no ofrece por sí mismo funcionalidades finales para el usuario
      Manyverse puede usar Wi‑Fi para redes sociales descentralizadas: https://www.manyver.se/
      Actualmente están reescribiendo el backend, dejando atrás Secure Scuttlebutt y migrando a su propio protocolo, que por ahora se llama PPPPP
      Reticulum/Sideband ofrece un sistema de mensajería P2P sobre Wi‑Fi u otros medios: https://github.com/markqvist/sideband
    • Ya sería raro que todavía no existiera. De verdad hace mucha falta descentralización del hardware
    • Recuerdo algo que se desplegó en Puerto Rico después del huracán de 2017. Buscando rápido, creo que era esto: https://techcrunch.com/2017/11/14/a-mesh-network-spontaneous...
    • He oído de Briar, Bridgeify, Serval y Meshenger; ¿qué más hay?
    • Creo que quizá estabas pensando en esto: https://en.m.wikipedia.org/wiki/FireChat
      Se descontinuó en 2018 y ni siquiera era de código abierto
  • Quise participar en el movimiento Decentralized Web que presentó TimBL, pero se fue desinflando
    Me postulé para ir al “offline camp” en Oregon, pero lo cancelaron por unos incendios forestales grandes, y probablemente tenía que ver con Camp Fire. Al final terminé acampando junto al río
    He gastado más de 1 millón de dólares durante más de 10 años intentando crear software comunitario de código abierto que pueda correr en cualquier servidor genérico, ya sea en aviones, cruceros como los de Norwegian Cruise Lines o pueblos rurales
    Quiero ayudar con la educación local, incluyendo a niñas afganas. También estoy en contacto con RohingyaProject.com y otros para apoyar a refugiados apátridas
    Estas redes mesh ya existen y el hardware de los teléfonos también es excelente. Lo que falta es un gran backend software que haga que la gente deje Big Tech, es decir, Twitter o Facebook; igual que la Web sacó a la gente de AOL y MSN, y Wordpress de la Web 1.0
    Si alguien quiere participar, o conoce un movimiento de “decentralized web” o “indieweb” que de verdad esté activo, me gustaría que lo compartiera abajo
    https://qbix.com/blog/2021/01/15/open-source-communities/
    Un artículo reciente sobre la plataforma:
    https://www.laweekly.com/restoring-healthy-communities/

  • https://www.robots-everywhere.com/cellsol/ Nosotros hicimos esto por ahí de 2020, y soporta tanto Meshtastic como paquetes de disasterradio