4 pontos por GN⁺ 2024-01-02 | 1 comentários | Compartilhar no WhatsApp
  • Meshtastic é uma rede mesh de código aberto que conecta dispositivos de baixo consumo e baixo custo sem estações rádio-base ou internet, útil em situações sem infraestrutura de comunicação
  • Usa comunicação de longo alcance baseada em LoRa e criptografia AES-256, permitindo trocar mensagens privadas peer-to-peer mesmo em ambientes off-grid
  • O alcance do ecossistema está se ampliando, com mais de 8 dispositivos apoiados pela comunidade, mais de 149 contribuidores de código no mundo todo, 26 regiões LoRa e 39 idiomas suportados
  • Por meio de apps para iOS, iPad e Mac OS, app Android, Web Client e Python CLI/SDK, usuários móveis e desenvolvedores podem acessar a mesma rede
  • Com vários clientes, documentação e ferramenta de flasher, o caminho de entrada — da preparação do hardware à configuração e ao controle dos dispositivos — é relativamente claro

Rede mesh que funciona sem infraestrutura

  • Meshtastic é uma rede mesh descentralizada off-grid baseada em código aberto
  • Foi criada para rodar em dispositivos baratos e de baixo consumo, oferecendo conexão peer-to-peer sem estações rádio-base ou internet
  • A premissa central é “No cell towers. No internet. Just pure peer-to-peer connectivity.”

Recursos de comunicação

  • Long Range: a tecnologia LoRa permite comunicação em alcance de vários quilômetros
  • Encrypted: a criptografia AES-256 mantém as mensagens privadas e seguras
  • No Infrastructure: funciona sem estações rádio-base, WiFi ou conexão com a internet

Comunidade e abrangência de suporte

  • O tamanho do ecossistema apresentado pelo Meshtastic é o seguinte
    • Dispositivos apoiados pela comunidade: mais de 8
    • Contribuidores de código no mundo todo: mais de 149
    • Regiões LoRa: 26
    • Idiomas suportados: 39

Clientes de acesso e controle

  • Apple Apps: apps compatíveis com iOS, iPad e Mac OS que permitem gerenciar uma rede Meshtastic em movimento
  • Android App: permite conectar e controlar dispositivos Meshtastic pelo app Android
  • Web Client: cliente baseado na web que permite acessar uma rede Meshtastic em vários dispositivos
  • Python CLI/SDK: oferece interface de linha de comando e SDK para desenvolvedores Python

Ferramentas de início e configuração

  • Get Started: leva à documentação para começar com o Meshtastic
  • Read the Docs: ponto de entrada da documentação para usuários que precisam de hardware
  • Flasher: leva à ferramenta de flasher do site do Meshtastic

1 comentários

 
GN⁺ 2024-01-02
Comentários do Hacker News
  • Há um projeto relacionado: https://github.com/antirez/freakwan/
    A propósito, fui eu que fiz. O conceito é parecido com o Meshtastic, mas o objetivo foi documentar e deixar mais claras as escolhas em nível de protocolo, além de criar uma implementação muito mais fácil de hackear e modificar
    Se você entende italiano, há também uma apresentação que fiz aqui: https://talks.codemotion.com/introduzione-alla-tecnologia-rf...

  • Usei no Burning Man de 2023, e o Burning Man é um ambiente duro para equipamentos, além de ter um ambiente de radiofrequência surpreendentemente complexo
    Mesmo assim, foi estável e a experiência de uso foi boa, então gostei bastante

    • Pelo que sei, LoRa não tem muita largura de banda; por pura curiosidade, para que vocês usaram?
    • Também usei naquela época e funcionou muito bem, mas parecia precisar de ajustes para que minha localização fosse atualizada mais rapidamente
      Também criei um fork de firmware modificado que mostra a localização na playa
      https://github.com/exadeci/Meshtastic-device-bm
    • Também usei no EDC do ano passado e, de forma parecida, funcionou muito bem
    • Há algum texto que valha a pena ler?
  • Comprei um monte de equipamentos LoRa/Meshtastic e investiguei se daria para registrar minha localização e exibi-la em um mapa, de um jeito parecido com APRS
    Mas parecia muito mais difícil do que configurar um APRS iGate e ver minha localização no aprs.fi
    Quero tentar de novo algum dia, mas senti que precisaria de um bom guia inicial que me motivasse

    • Tenho bastante hardware Meshtastic LoRa, mas fazer tudo funcionar de verdade foi muito mais difícil do que eu esperava
  • Isso me faz lembrar do ditado: não pergunte a idade a uma mulher, o salário a um homem, nem a vazão a um transceptor LoRa
    Na faixa de dezenas de bits por segundo, levando em conta cabeçalhos de pacote, correção de erros etc., na melhor das hipóteses dá apenas alguns caracteres por segundo, ou menos

    • Olhando o datasheet do Semtech SX1262, um dos chips de rádio comumente usados em dispositivos Meshtastic, a menor taxa de bits é bem lenta, 18 bps
      Mas, usando uma largura de canal maior e um fator de espalhamento menor, chega a 62,5 kbps. Não sei exatamente qual modo o Meshtastic usa por padrão, mas parece haver 8 presets
    • A expressão “não pergunte a idade a uma mulher nem o salário a um homem” soa um pouco sexista
      Sei que é um ditado, e não estou culpando o comentário pai
  • Antes de ficar empolgado demais com isso, vale pontuar que usar antenas omnidirecionais em um sistema de rádio mesh half-duplex/TDD está entre as formas menos eficientes de criar uma rede IP sem fio em escala de vilarejo ou cidade pequena
    Quando antenas omnidirecionais se comunicam entre si, elas também são coletores de ruído em 360 graus, então acabam captando não só o par com quem estão transmitindo/recebendo naquele momento, mas também o tráfego de nós mesh um pouco mais distantes ou sinais de ocupação de slots de tempo
    Da mesma forma, ao enviar um pacote para um nó específico, 99% do sinal de RF se espalha em direções de azimute que você não quer nem precisa, elevando o piso de ruído para nós próximos com configuração de hardware semelhante
    Se alguém quer fazer algo assim com um orçamento muito apertado, eu recomendaria olhar para sistemas sem fio 802.11ac/ax ponto a ponto, projetados para criar uma ponte Ethernet L2 entre dois pontos. Em geral são baseados em antenas refletoras parabólicas e, mais recentemente, também há equipamentos baratos de bridge ponto a ponto em 24 GHz e 60 GHz, desde que haja linha de visada e zona de Fresnel desobstruída
    Equipamentos do tipo LoRa também são muito melhores quando você precisa de um link fixo entre dois pontos em faixas parecidas com VHF/UHF, bem mais baixas que 2,4 GHz ou 5 GHz, geralmente abaixo de 1300 MHz, e consegue apontar antenas Yagi-Uda ou dipolos uma para a outra em vez de colocar duas antenas omnidirecionais se encarando
    Se os nós não se movem e a relação de posição entre eles não muda no local, recomendo fortemente considerar praticamente qualquer coisa que não seja omnidirecional para os links de rede entre os nós, em busca de melhor estabilidade de link e maior taxa de transferência de dados
    Um exemplo aleatório encontrado em uma busca de 5 segundos; veja o padrão de ganho em uma direção específica: https://www.elprocus.com/design-of-yagi-uda-antenna/
    Uma das coisas legais feitas hoje com chipsets e módulos de RF do tipo LoRa é o ExpressLRS. Ele implementa uma ponte UART serial entre um controle remoto e o controlador de voo embarcado de um UAV, barco não tripulado ou veículo terrestre. É uma evolução do mesmo conceito geral usado no TBS Crossfire para RC
    https://www.google.com/search?client=firefox-b-d&q=expresslr...

    • Parece que você escreveu bastante sem saber direito o que é o Meshtastic
      Meshtastic é mensageria de texto com canais e oferece transmissão de dados de sensores de alguns nós e recursos de dados de localização
      Não tem o objetivo de fornecer rede TCP/IP
    • Parece que isso foi escrito partindo do pressuposto de algo que não é LoRa
      Criar uma “rede IP sem fio em escala de vilarejo ou cidade pequena” nunca foi o objetivo. O que ele permite criar é uma rede simples de mensagens de texto, com alcance bem bom e baixa largura de banda
    • Se você prender esses equipamentos a drones e mantê-los no ar em revezamento, talvez consiga amplificar continuamente o sinal de uma área específica
      Vejo muitas possibilidades de contornar ISPs
    • Em treinamento de LLMs, escreve-se LoRA, com A maiúsculo; no rádio, é LoRa
    • Foi por isso que inventaram coisas como antenas inteligentes e beamforming
      Mas, em sistemas com throughput muito baixo e lentos no domínio do tempo, como LoRa, não é um conceito fácil de aplicar quando se considera mobilidade
  • Há um vídeo de um britânico muito entusiasmado usando de fato o app Android e mostrando coisas como o recurso de traceroute: https://www.youtube.com/watch?v=LmGr1pGJ4sM

  • Como dizem que escala só até 80 nós, parece difícil encontrar uma mesh para participar, a menos que você a crie; parece algo viável apenas entre conhecidos
    Quero uma rede mesh mundial para substituir a internet

    • Eu também quero. Pelo menos por enquanto, acho que aplicações tolerantes a particionamento são o caminho adiante, mais do que uma mesh gigantesca
      Uma busca por “o Taco Express está aberto agora?” não deveria resolver um nome globalmente único para um endereço globalmente único, perguntar a um servidor distante e então esse servidor pedir informações de localização para descobrir qual Taco Express é. Isso é frágil demais
      Em vez disso, a busca deveria se propagar pelas meshes atualmente alcançáveis até encontrar um nó com autoridade sobre o horário de funcionamento do Taco Express, provavelmente um Raspberry Pi dentro do Taco Express. Como o alvo da consulta é local, a estrutura retorna um resultado local
      O problema de interligar essas meshes também é interessante, mas não será tão útil até surgir um ecossistema de apps que não dependa de endereços estáveis de nós individuais
      O que é necessário não é endereçamento de servidores e request/response, mas endereçamento baseado em contexto e publish/subscribe. É uma mudança conceitual bem grande e, infelizmente, acho que ela não acontecerá até que algum desastre convença as pessoas da necessidade
    • A internet já é uma rede mesh mundial
      Em comparação com um link de fibra óptica de 1000 km e 10000 Gbps que custa milhões de dólares para implantar, a contribuição de uma pessoa individual é praticamente nula. Ainda assim, nada impede você de conseguir portas em dois datacenters ou pontos de troca de tráfego, conectá-los de algum jeito e cobrar pelo transporte de tráfego entre eles
      Na Europa, recebi uma cotação de cerca de US$ 800 por mês para transporte de 10 Gbps em um trecho de 650 km, então potencialmente daria para ganhar algo nessa ordem
    • Se você se interessa por redes mesh grandes, vale dar uma olhada na Wirepas. Mas ela não é LoRa; é baseada em 802.15.4
      Trabalhei como gerente de produto de um sistema de rastreamento de pessoas baseado em mesh para canteiros de obras, e licenciamos a tecnologia da Wirepas na solução. Nesse processo, aprendi muitas sutilezas de redes mesh
    • Em uma “rede mesh mundial para substituir a internet”, fico curioso sobre quais critérios de projeto você tem em mente
      Há trade-offs difíceis entre descobribilidade, latência, disponibilidade e segurança
  • Não existe uma rede mesh Android open source? Baseada em Wi-Fi ou Bluetooth
    Acho que ouvi dizer que redes mesh foram usadas em protestos alguns anos atrás; ainda não há nada realmente utilizável?

    • Yggdrasil pode usar Wi-Fi no Android. Ainda não testei pessoalmente: https://yggdrasil-network.github.io/
      O Yggdrasil permite usar aplicações TCP/IP sobre sua própria rede mesh, mas não oferece, por si só, funcionalidades para o usuário final
      Manyverse pode usar Wi-Fi para redes sociais descentralizadas: https://www.manyver.se/
      Atualmente estão reescrevendo o backend e migrando do Secure Scuttlebutt para um protocolo próprio, atualmente chamado PPPPP
      Reticulum/Sideband oferece um sistema de mensagens P2P sobre Wi-Fi ou outros meios: https://github.com/markqvist/sideband
    • Seria estranho se ainda não existisse. O que realmente falta é descentralização de hardware
    • Lembro de algo que foi implantado em Porto Rico depois do furacão de 2017. Procurando rapidamente, era isto: https://techcrunch.com/2017/11/14/a-mesh-network-spontaneous...
    • Já ouvi falar de Briar, Bridgeify, Serval e Meshenger; que outros existem?
    • Talvez você esteja pensando nisto: https://en.m.wikipedia.org/wiki/FireChat
      Foi descontinuado em 2018 e também não era open source
  • Eu queria participar do movimento Decentralized Web anunciado pelo TimBL, mas ele acabou não indo para frente
    Inscrevi-me para ir ao “offline camp” no Oregon, mas foi cancelado por causa de um grande incêndio florestal, provavelmente relacionado ao Camp Fire. No fim, acabei acampando à beira de um rio
    Gastei mais de 10 anos e US$ 1 milhão tentando criar um software comunitário open source que pudesse rodar em qualquer servidor de uso geral, como em aviões, navios de cruzeiro como os da Norwegian Cruise Lines e vilarejos rurais
    Quero ajudar na educação local, incluindo meninas afegãs. Também estou em contato com iniciativas como RohingyaProject.com para apoiar refugiados apátridas
    Essas redes mesh já existem, e o hardware dos celulares também é excelente. O que falta é um ótimo software de backend que ajude as pessoas a sair das Big Techs, como Twitter ou Facebook. Assim como a Web tirou as pessoas da AOL e da MSN, e o Wordpress tirou as pessoas da Web 1.0
    Se quiser participar, ou se souber de algum movimento “decentralized web” ou “indieweb” realmente ativo, seria ótimo se comentasse abaixo
    https://qbix.com/blog/2021/01/15/open-source-communities/
    Artigo recente sobre a plataforma:
    https://www.laweekly.com/restoring-healthy-communities/

  • https://www.robots-everywhere.com/cellsol/ Criamos isto por volta de 2020, e ele dá suporte tanto a pacotes do Meshtastic quanto do disasterradio