zigbee

Ciao,

per un'applicazione vorrei usare dei moduletti basati sul protocollo zigbee. Mi è capitato solo di utilizzarne due in una situazione punto-punto, stavolta la cosa è più complessa.

In generale potrei avere confinati in una grande stanza, diciamo approssimativamente max 200 mq, fino a 16 moduli che devono comunicare con un "master". La topologia della rete sarà dunque, da un punto di vista logico, uno-a-molti.

La banda di trasmissione richiesta potrebbe essere abbastanza rilevante per alcuni di questi moduli (fino a 100 kbps) ma implementerei un protocollo a divisione di tempo per dare modo a tutti di esprimere le loro informazioni :)

Il master dovrà comunicare i dati raccolti a un pc.

Le domande sono queste:

1) avrebbe senso utilizzare moduli wi-fi? Il loro costo è più elevato ma arriverei direttamente al pc e avrei a disposizione una banda più che sufficiente. Ma riescono a coesistere senza problemi 16 nodi ip?

2) utilizzando invece i classici moduli zigbee (PRO) potrei anche qui avere difficoltà a gestire 16 moduli in uno spazio relativamente ristretto? Potrebbero anche essere piuttosto vicini tra loro (qualche metro).

3) dovrei sincronizzare un rtc su ciascuna schedina. Banalmente invierei un comando broadcast come sincronismo (dal punto di vista logico, perché se ho ben capito di fatto la trasmissione è broadcast e poi ognuno decide se il pacchetto è indirizzato a lui). L'importante è che tutte le schede ricevano il dato con un dt < 1 ms, il top sarebbe entro 100 us (di differenza tra le varie schede, non mi interessa il ritardo rispetto al master). Dite che si riesce?

4) pensavo di utilizzare i moduli xbee della digi international. sono affidabili o c'è di meglio / più economico?

Grazie! Marco

Reply to
Marco Trapanese
Loading thread data ...

[CUT]

Hai visto questi della Microchip? MRF24J40MA-I/RM

su RS li trovi a meno di 10euro...

seb

Reply to
seb

Il 14/10/2011 12:06, seb ha scritto:

Interessanti! Ora guardo anche gli altri fratelli della famiglia. Tu li hai utilizzati, sono affidabili?

Marco

Reply to
Marco Trapanese

Li ho valutati tempo fa per un progetto simile al tuo e mai messo in opera, si è preferito usare l'X10 :) La Microchip fornisce anche uno stack più leggero dello zigbee, lo chiamano MiWi che potrebbe fare al caso tuo.

seb

Reply to
seb

Il 14/10/2011 12:36, seb ha scritto:

Ok grazie.

Marco

ps. se qualcun altro volesse rispondere agli altri quesiti del primo post è il benvenuto ;)

Reply to
Marco Trapanese

Marco Trapanese :

Non dovresti avere nessun problema di questo tipo, neanche con la velocità minima, specialmente se una metà della banda è libera.

Credo di no.

Se sulle schede non gira nient'altro, il

Reply to
Francesco Potortì

Il 14/10/2011 14:51, Francesco Potortì ha scritto:

[wifi]

Ottimo, è una strada più costosa ma sicuramente più flessibile.

Non conosco a fondo lo zigbee, ma se mi permettesse di inviare dati in maniera quasi-trasparente io farei così:

  1. durante la fase di inizializzazione le schede sono "ferme", restano solo in attesa del comando di sincronismo
  2. invio il frame di sincronismo in maniera broadcast. ciascuna scheda deve solo decodificare il pacchetto e azzerare un contatore
  3. successivamente interrogo in maniera sequenziale ciascuna scheda chiedendo se hanno ricevuto il sincronismo
  4. da qui in poi posso mandare i comandi che mi servono

Dal momento che tutte le schede riceveranno lo stesso pacchetto e avranno lo stesso firmware (probabilmente un xmega dalle parti di 30 MHz) l'unica variabile è l'eventuale jitter che il modulo zigbee può avere nel restituirmi la stringa inviata.

Marco

Reply to
Marco Trapanese

Marco Trapanese :

Aggiungo che non ci ho messo le mani personalmente, ma dei colleghi ci hanno lavorato, per quel che so devi vedere come si comporta il software che hai, non credo che ci sia una risposta generale.

O più semplicemente, dopo aver ricevuto il sincronismo ogni scheda, con un ritardo proporzionale al numero di scehda, manda una conferma al capo. Se dopo il ritardo massimo il capo non ha ricevuto tutte le conferme, ricomincia da capo, ricordandosi chi non ha risposto. Se manca la conferma sempre dalla stessa scheda, dopo un po' di tentativi assume che sia guasta e va avanti con le altre.

Variazione: le risposte sono mandate in broadcast: se una scheda riceve la risposta di qualcun'altra senza aver ricevuto prima il sincronismo allora sa di aver perduto il sincronismo e magari può provare a sincronizzarsi sulla risposta. Questo rende il meccanismo parzialmente distribuito, ma più complesso, e probabilmente per sedici soli nodi non ne vale la pena.

Che, in assenza di eventi non deterministici, dovrebbe essere zero. Ma qual è la variabilità del ritardo lo puoi capire dalle risposte delle schede, se ognuna ci mette sopra un marcatempo.

Reply to
Francesco Potortì

Il 14/10/2011 15:58, Francesco Potortì ha scritto:

Si, cambia poco, il concetto comunque è lo stesso.

Concordo, mi piace di più l'approccio sistematico di prima.

Infatti, sarà quello che valuterò subito in fase di test. Il punto era capire se per qualche motivo la cosa era da scartare in partenza.

Ciao e grazie! Marco

Reply to
Marco Trapanese

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.