DigiMesh

Xbee e DigiMesh

In questi giorni ho cominciato a sperimentare con Arduino nel settore della comunicazion wireless. In particolare sto utilizzando dei moduli XBee prodotti da Digi nella versione DigiMesh.

Gli XBee sono essenzialmente dei moduli, prodotti dalla DIGI (www.digi.com - ex
Maxstream) che consentono il trasferimento dati via RF (Radio Frequenza) sfruttando
una normale comunicazione seriale. Questo vuol dire che per riuscire a trasferire dei
dati, senza fili, è necessario soltanto saper utilizzare la periferica UART inclusa sul
nostro microcontrollore preferito o la porta seriale del PC: è possibile difatti
immaginare, nella loro configurazione più semplice, una coppia di XBee come un
sostituto di un cavo seriale. Ne esistono di diverse tipologie e serie.
(tratto da "Easy bee di Giovanni Bernardo")

I moduli Digimesh appartengono alla serie 1 e si differenziano da essi esclusivamente dal firmware che permette di implementare a topologia di rete DigiMesh

Purtroppo ll protocollo è proprietario della DIGI, ma la sua versatilità mi ha spinto a considerarlo un interessante prodotto. In particolare consente di creare delle reti Mesh di tipo Peer to Peer (ovvero senza coordinatori):

In questo tipo di topologia ogni nodo può comunicare con tutti gli altri e di conseguenza non c’è bisogno di dispositivi che fungono da coordinatore.

Per maggiori informazioni vi consiglio la guida Easy Bee

API Mode

I moduli Xbee hanno la possibilità di funzionare in due diverse configurazioni:

  • Modalità Trasparente
  • Modalità API
Nella prima i dati inviati al modulo vengono trasmessi “così come sono” al nodo configurato (la configurazione avviene tramite la modalità AT, ma vi rimando alla lettura della guida linkata sopra)
La modalità API (Application Programming Interface) è un’alternativa alla modalità trasparente che consente, oltre che trasmettere e ricevere dati, di interagire ad un livello più basso con i moduli XBee consentendo, tra le altre cose, di:
  • Cambiare i parametri di configurazione (inviare comandi AT) senza entrare in modalità comandi
  • Conoscere l’ RSSI (Received Signal Strength Indicator – Indicatore di forza del segnale ricevuto)
  • Ricevere una conferma di pacchetto dati consegnato correttamente per ogni pacchetto trasmesso o un’indicazione di consegna fallita
  • Trasmettere dati a più destinatari Identificare l’indirizzo di chi ha trasmesso il pacchetto dati
La comunicazione in modalità API avviene inviando sulla linea seriale dei pacchetti di dati appositamente strutturati in frames.
Un frame è costituito da un byte di start (0x7E), due byte che identificano la lunghezza del messaggio, seguono quindi i bytes di dati da inviare e infine 1 byte di checksum: Si capisce quindi perchè la modalità trasparente abbia tale nome: i dati vengono inviati sulla seriale vengono inviati tal quale, in modalità API invece i dati vengono interpretati.
Advertisements

3 Comments

  1. Dear Matteo,

    We are seeking some help on Digimesh+Arduino and we have tested your python-Xbee with Digimesh. That works fine. However we are unable to get any reliable Rx/Tx examples on Digimesh with Arduino. Perhaps you already have something ?

    Thanks and best regards

    VJ Velu
    Raleigh, NC, USA

    Mi piace

  2. Pingback: Python-Xbee | Matteo Lucchesi

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...