Tanti Arduini che comunicano in un'area di 150x300 metri

Amici,
prendo spunto da un mio ultimo topic e cerco insieme a voi la soluzione migliore ad una necessità di comunicazione fra diversi Arduini posti a fare tante cose (verificare se una caldaia è in blocco, misurare una temperatura, monitorare la pressione dell'acqua in un impianto) nella mia azienda agricola.

La superficie da coprire è più o meno un rettangolo di 150x300 metri.

Le possibilità che mi vengono in mente sono:

  1. Rete LAN che unisce tutte le ethernet shields.... impossibile cablare tutta la superficie!
  2. Modulini Convertitori RS485 TTL UART e filo... di nuovo impossibile cablare tutto.
  3. Powerline+Ethernet shields+Arduini .. il vantaggio enorme è che dove arriva la corrente arriva il segnale!
  4. Creare una rete wi-fi in tutta l'area .... e poi ESP8266 (addirittura in standalone dove il controllo è facile)!

Che mi suggerite?

Immaginando che il segnale del router parta da un angolo di questo rettangolo, a che distanza andrebbero posti i range extender in cascata ???????

Ci sono anche gli XBee pro.

Specifica un po meglio il progetto. perché per esempio
1 e 4 Lan e Wlan devi o avere un server dove tutti gli arduino lasciano i dati o richedono dati o senó un arduino deve sapere con quale Arduino vuole comunicare.

2 RS485 oltre il cavo serve un master che gestisce il flusso di dati.

3 no, devono essere tutti sulla stessa linea (stessa fase) prima del contatore o termomagnetico forse anche prime del Interuttore differenziale

Ciao Uwe

Zamundo:
La superficie da coprire è più o meno un rettangolo di 150x300 metri.

Su una simile area la vedo dura risolvere senza spendere un bel mucchietto di Euro. :slight_smile:
Ma proprio non puoi far girare un cavetto tipo quello telefonico, magari a due coppie così porti anche l'alimentazione, in modo da implementare una bella RS485 ?

@Astro: Come ultima ratio si potrebbe cablare tutto ma considera che a parte il costo del cavo (circa 500mt) la rogna assurda è fare gli scavi, passare i corrugati... un incubo.

@Uwe: specifico meglio. Considera che ci sono 6 caldaie che vorrei mi avvertissero se entrano in "blocco" e leggere lo stato di una decina di sensori temperatura.

L'idea migliore mi sembrerebbe propagare con dei range extender una rete wifi e collegarvi gli ESP8266.
A tal proposito mi chiedo: non può un unico arduino fare da server e ricevere i dati degli altri 20 ?
Tanto non mi serve nessuna velocità di acquisizione del dato.
Potremmo perfino immaginare di "leggere" i clients uno alla volta ogni minuto

al posto dei ripetitori puoi usare gli stessi esp, configurati come proxy.
Per la comunicazione ti devi studiare come funziona la libreria peer to peer che mette a disposizione l'sdk.

In bocca al lupo, è un lavoro molto complesso.

Zamundo:
L'idea migliore mi sembrerebbe propagare con dei range extender una rete wifi e collegarvi gli ESP8266.

Gli ESP8266 hanno una portata ridicola, 20-30 metri al massimo.

e con antenna direttiva?
costa comunque meno un ESP che 30 metri di cavo...

Se il campo è libero puoi utilizzare i modulini nRF24L01+.
Quelli con antenna esterna possono arrivare a 1000mT
e la spesa è abbastanza contenuta.

busco:
Se il campo è libero puoi utilizzare i modulini nRF24L01+.
Quelli con antenna esterna possono arrivare a 1000mT

Ma assolutamente no, quei moduli hanno solo 1 mW di potenza, al massimo ci fai 50-60 metri in condizioni ottimale.

astrobeed:
Ma assolutamente no, quei moduli hanno solo 1 mW di potenza, al massimo ci fai 50-60 metri in condizioni ottimale.

Ti assicuro che che se non ci sono ostacoli raggiunge quelle distaze.

busco:
Ti assicuro che che se non ci sono ostacoli raggiunge quelle distaze.

Ok, me lo dimostri con i calcoli come è possibile fare 1km, in condizioni ottimali, con solo 1 mW ?

secondo me si sta confendondo con l'altro modulo, c'è l'ho sulla punta della lingua

Questo con antenna:

http://www.ebay.it/itm/MODULO-WIRELESS-NRF24L01-PA-LNA-CON-ANTENNA-ARDUINO-/262326679110?hash=item3d13e37646:g:0zkAAOSwxN5WZbZO

Ne trovi anche più economici.

gli nrf non arrivano a tutta quella distanza.
Ma c'è un'altro modulo che costa sui 15€ che sta sui 400/500 metri.

busco:
Questo con antenna:

Certo che se vi fidate del primo venditore ebay truffaldino siamo proprio messi bene.
Tanto per cominciare questo è il sito del produttore dove ci sono le specifiche tecniche, come puoi vedere si tratta di moduli a bassissimo consumo con potenza 0dbm, ovvero 1 mW, sono fatti apposta per consumare poco e di conseguenza la potenza è molto bassa, buoni per IoT in interno a corto raggio, copertura tipica una stanza.
Secondo punto in Europa la massima potenza, uso libero, per moduli di quel tipo è 10 mW, ovvero 7 dbm, quindi puoi scordarti il km perché anche con 10 mW non ci arrivi a quella distanza, nella migliore delle ipotesi, con antenne buone, fai 500-600 metri, p.e. con dei moduli Xbee pro che arrivano 10 mW.
Se vuoi fare più strada servono data link da almeno 100 mW, però sono soggetti a licenza governativa, ovvero manco li puoi acquistare come privato, meno ancora usarli e non tirare fuori il classico discorso "figurati se mi trovano" perché vi trovano senza problemi e le multe sono salatissime, c'è pure il rischio di complicazioni penali.

astrobeed:
Se vuoi fare più strada servono data link da almeno 100 mW, però sono soggetti a licenza governativa, ovvero manco li puoi acquistare come privato, meno ancora usarli e non tirare fuori il classico discorso "figurati se mi trovano" perché vi trovano senza problemi e le multe sono salatissime, c'è pure il rischio di complicazioni penali.

... e difatti, secondo me, la soluzione è una rete "mesh" di Xbee ... con i quali si riesce a coprire distanze maggiori grazie appunto al loro protocollo che permette il "routing" dei messaggi fino al destinatario passando per vari moduli intermedi :wink:

Costano ? Ovvio che si, parliamo di prodotti professionali quindi costano ... ma per queste cose sono gli unici affidabili :slight_smile:

Guglielmo

... oppure, restando nei 400/500 mt ... due doppini incrociati (costo ... una miseria) e via di RS485 :smiley: :smiley: :smiley:

Guglielmo

Grazie tantissimo dell'aiuto.
Ma allora perchè non tornare all'idea dei powerline ?
Posso facilmente fare in modo di individuare la stessa "fase" per tutta l'area interessata.
Quindi i powerline dovrebbero portare la connessione ethernet a tutte le diverse ethernet shields dei rispettivi arduini.
E' difficile creare un sistema con un Arduino server che legga i dati (a turno e senza fretta) degli altri 20 ?

I powerLine che funzionano bene ... non sono esattamente economici.

Ne ho provati parecchi ed oggi in casa distribuisco la rete ethernet (mi occorre per le televisioni che ho nelle varie stanze con i loro internet-decoder) tramite dei "Devolo dLAN® 1200+" oggetti che funzionano molto bene e che mi garantiscono una decente banda passate per lo scopo per cui li uso, ma ... non è che te li regalano eh ... :confused:

Quindi ... vedi un po' tu ... secondo me una economicissima RS485 andava più che bene, poi ... de gustibus non disputandum est !

Guglielmo

gpb01:
Quindi ... vedi un po' tu ... secondo me una economicissima RS485 andava più che bene, poi ... de gustibus non disputandum est !

Concordo, però se deve mettere altre canaline, non può passare i cavi dentro quelle dove c'è la 230 Vac, la cosa potrebbe risultare decisamente più costosa dell'uso dei moduli Xbee.
La rete potrebbe essere composta da moduli Xbee s2, relativamente poco costosi, utilizzati come terminale e vari moduli Xbee s2 pro da usare come router di rete in modo da estendere la portata dei moduli standard senza dover per forza usare solo moduli pro che sono decisamente molto più costosi.
Tento conto dell'applicazione, stiamo parlando di una azienda agricola non di giocare con Arduino, va bene cercare la soluzione più economica, però voler spendere di meno del giusto è andare a cercarsi col lanternino i guai :slight_smile:

@Zamundo
Se in settimana capiti dalle mie parti vediamoci, così ti aiuto a trovare la soluzione migliore al tuo problema, però portati appresso una mappa dell'area così posso fare le correte stime per scegliere i materiali.