Torna agli aggiornamenti
New releaseAug 9, 2026

MeshCore room-server-v1.17.0

Un nuovo protocollo mesh di routing ibrido e leggero per radio a pacchetto.

Condividi

Informazioni su MeshCore

MeshCore è una libreria C++ leggera e portatile che consente il routing di pacchetti multi-hop per progetti embedded che utilizzano LoRa e altre radio a pacchetto. È progettata per sviluppatori che vogliono creare reti di comunicazione resilienti e decentralizzate che funzionano senza Internet.

🔍 Cos'è MeshCore?

MeshCore ora supporta una gamma di dispositivi LoRa, consentendo un flashing facile senza dover compilare manualmente il firmware. Gli utenti possono flashare un binario precompilato utilizzando strumenti come Adafruit ESPTool e interagire con la rete tramite una console seriale. MeshCore offre la possibilità di creare reti mesh wireless, simili a Meshtastic e Reticulum ma con un focus sul routing di pacchetti multi-hop leggero per progetti embedded. A differenza di Meshtastic, che è pensato per la comunicazione LoRa informale, o di Reticulum, che offre networking avanzato, MeshCore bilancia semplicità e scalabilità, rendendolo ideale per soluzioni embedded personalizzate, dove i dispositivi (nodi) possono comunicare su lunghe distanze inoltrando messaggi attraverso nodi intermedi. Questo è particolarmente utile in situazioni off-grid, di emergenza o tattiche in cui l'infrastruttura di comunicazione tradizionale non è disponibile.

⚡ Caratteristiche principali

  • Routing di pacchetti multi-hop
    • I dispositivi possono inoltrare messaggi attraverso più nodi, estendendo la portata oltre la copertura di una singola radio.
    • Supporta fino a un numero configurabile di hop per bilanciare l'efficienza della rete e prevenire traffico eccessivo.
    • I nodi utilizzano ruoli fissi in cui i nodi "Companion" non ripetono affatto i messaggi per impedire l'uso di percorsi di instradamento avversi.
  • Supporta radio LoRa – Funziona con hardware Heltec, RAK Wireless e altri basati su LoRa.
  • Decentralizzato e resiliente – Non richiede server centrale o Internet; la rete è auto-riparante.
  • Basso consumo energetico – Ideale per dispositivi alimentati a batteria o solari.
  • Semplice da implementare – Applicazioni di esempio precompilate facilitano l'avvio.

🎯 Per cosa puoi usare MeshCore?

  • Comunicazione off-grid: Rimani connesso anche in aree remote.
  • Risposta alle emergenze e ripristino in caso di disastri: Crea reti istantanee dove l'infrastruttura è assente.
  • Attività all'aperto: Comunicazione per escursioni, campeggio e gare di avventura.
  • Applicazioni tattiche e di sicurezza: Casi d'uso militari, di polizia e di sicurezza privata.
  • IoT e reti di sensori: Raccogli dati da sensori remoti e trasmettili a una posizione centrale.

🚀 Come iniziare

Per sviluppatori:

L'esempio Simple Secure Chat può essere utilizzato tramite il Monitor Serial in Visual Studio Code, o con un Terminale USB Seriale su Android.

⚡️ Flasher MeshCore

Abbiamo firmware precompilato pronto per essere flashato su dispositivi supportati.

  • Avvia https://meshcore.io/flasher
  • Seleziona un dispositivo supportato
  • Flasha uno dei tipi di firmware:
    • Companion, Repeater o Room Server
  • Una volta completato il flashing, puoi connetterti con uno dei client MeshCore qui sotto.

📱 Client MeshCore

Firmware Companion

Il firmware Companion può essere connesso tramite BLE, USB o Wi-Fi a seconda del tipo di firmware flashato.

Firmware Repeater e Room Server

I firmware Repeater e Room Server possono essere configurati tramite USB nello strumento di configurazione web.

Possono anche essere gestiti tramite LoRa nell'app mobile utilizzando la funzione di gestione remota.

🛠 Compatibilità hardware

MeshCore è progettato per i dispositivi elencati nel Flasher MeshCore

📜 Licenza

MeshCore è un software open-source rilasciato sotto licenza MIT. Sei libero di usarlo, modificarlo e distribuirlo per progetti personali e commerciali.

Contribuire

Invia le PR usando il branch 'dev' come base! Per modifiche minori invia semplicemente la tua PR e cercheremo di revisionarla, ma per qualsiasi cosa di più 'impatto' apri prima una Issue e avvia una discussione. È meglio sondare prima cosa vuoi ottenere e cercare di raggiungere un consenso sull'approccio migliore, specialmente quando ha un impatto sulla struttura o sull'architettura di questo codebase.

Ecco alcuni principi generali a cui dovresti cercare di attenerti:

  • Mantienilo semplice. Per favore, non pensare come un programmatore di linguaggi di alto livello. Pensa embedded e mantieni il codice conciso, senza strati inutili.
  • Nessuna allocazione dinamica della memoria, tranne durante le funzioni di setup/begin.
  • Utilizza lo stesso stile di parentesi e indentazione presente nei moduli sorgente principali. (Probabilmente verrà presto aggiunto un file .clang-format, ma per favore NON ri-formattare retroattivamente il codice esistente. Ciò crea solo diff inutili che rendono più difficile trovare i problemi)

Aiutaci a dare priorità! Per favore, reagisci con il pollice in su alle issue/PR a cui tieni di più. Consideriamo il numero di reazioni quando pianifichiamo il lavoro.

Esecuzione dei test unitari

Per eseguire i test unitari, lancia il seguente comando:

pio test --environment native --verbose

Road-Map / Da fare

Ci sono diverse funzionalità piuttosto importanti in arrivo, senza ancora tempistiche precise. In ordine cronologico molto approssimativo:

  • Companion radio: riprogettazione UI
  • Repeater + Room Server: aggiungere ACL (come ha Sensor Node)
  • Standardizzare la modalità Bridge per i repeater
  • Repeater/Bridge: Standardizzare i codici di trasporto per zonizzazione/filtraggio
  • Core + Repeater: rilevamento dei vicini a zero hop migliorato
  • Core: supporto per percorsi manuali round-trip
  • Companion + App: supporto per più sub-mesh (e modalità client 'off-grid' ripetitore)
  • Core + App: supporto per compressione messaggi LZW
  • Core: CR (Coding Rate) dinamico per hop deboli vs forti
  • Core: nuovo framework per ospitare più nodi virtuali su un unico dispositivo fisico
  • Specifica del protocollo V2: discussione e consenso sul protocollo pacchetti V2, inclusi hash di percorso, nuove specifiche di crittografia, ecc.

📞 Supporto

  • Segnala bug e richiedi funzionalità nella pagina GitHub Issues.
  • Trova guide e componenti aggiuntivi sul mio sito.
  • Unisciti al Discord di MeshCore per chattare con gli sviluppatori e ricevere aiuto dalla community.

Categorie