Pages: [1]   Go Down
Author Topic: Un Arduino per domarli tutti :D  (Read 481 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Prima cosa un saluto a tutti voi !!
Mi presento.... mi chiamo Sacha, vivo in Svizzera, di professione programmatore ....

Mi sono da poco affacciato da poco in questo mondo chiamato arduino.... dopo aver letto informazioni di qua e di la... mi è balzata in testa una certa idea alla quale al momento non ho trovato una risposta chiara e quindi la rivolgo a voi....
La mia idea era quella avere disseminati in giro per la casa diversi arduino (tipo uno in ogni locale con funzionalità varie ed eventuali  smiley-grin) e poterli comandare/pilotare da una postazione centrale unica, sempre basata con arduino. Premetto che non vorrei usare come centrale in pc da dover tenere sempre acceso.
Quindi chiedo a voi .... come posso fare ??? soprattutto a livello HW ???

Anticipatamente ringrazio  smiley-lol
Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10106
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

secondo me puoi implementare una rete token ring utilizzando le seriali di arduino.
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 51
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Anche il polling non sarebbe male, alla fine non credo che tu debba continuamente inviare/ricevere da un solo arduino per oltre qualche secondo. smiley
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 235
Posts: 20230
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Potresti realizzare un network con un modulo XBee su ogni Arduino ( costicchia un po)

Ciao Uwe
Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10106
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,
ti faccio qualche domanda che aiuterà molto a capire cosa vuoi fare e quale sia la soluzione migliore, vedi te se per ogni domanda rispondere singolarmente per ogni arduino o dare un valore generale. Specifica in oltre tutte le caratteristiche che ti vengono in mente, una buona strutturazione dell'hardware e del software non può che far bene

la connessione ti serve wireless o va bene via cavo?
numero di arduino?
distanza massima tra arduino-arduino e arduino-pc?
i dati viaggiano unidirezionalmente (o solo invio dati dal pc o solo dagli arduino) o la comunicazione è a due vie (sia pc che arduino possono ricevere e inviare dati)
quantità (in bit) dei dati?
nel caso le trasmissioni possano essere effettuate ogni tot, frequenza minima di invio dei dati?
nel caso in cui le trasmissioni siano dinamiche, o meglio non puoi prevedere quando succederà un evento che scatenerà l'invio dei dati, tempo minimo di risposta da parte del pc centrale + eventuali altri arduino "tirati in causa" dall'evento?
possibilità di espandere la rete?
possibilità che l'espansione ( comunque la modifica) della rete sia più o meno automatica?
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao lesto, allora le risposte al questionario  smiley-grin sono ...

la connessione ti serve wireless o va bene via cavo?
- beh wireless sicuramente è più pratico...

numero di arduino?
- eh ... il numero al momento non lo so diciamo che sarebbero almeno 6 uno in ogni locale (2 camere, bagno, cucina, salotto, entrata)

distanza massima tra arduino-arduino e arduino-pc?
- non so proprio ... forse max 5-6 metri...

i dati viaggiano unidirezionalmente (o solo invio dati dal pc o solo dagli arduino) o la comunicazione è a due vie (sia pc che arduino possono ricevere e inviare dati)
- direi bidirezionale ossia la centrale dovrebbe visualizzare i dati provenienti da vari punti e inviare dati (tipo accendere o spegnere luci o regolare la temperatura, impostazione di timer).

quantità (in bit) dei dati?
- questo francamente lo ignoro ...

nel caso le trasmissioni possano essere effettuate ogni tot, frequenza minima di invio dei dati?
- hmmmmm ... su richiesta ...

nel caso in cui le trasmissioni siano dinamiche, o meglio non puoi prevedere quando succederà un evento che scatenerà l'invio dei dati, tempo minimo di risposta da parte del pc centrale + eventuali altri arduino "tirati in causa" dall'evento?
- ...
possibilità di espandere la rete?
- si

possibilità che l'espansione ( comunque la modifica) della rete sia più o meno automatica?
- non necessariamente automatica

La mia idea, comunque, era di impostare una centrale di comando magari sfruttando un bel touch screen per comandare i diversi punti della casa (i vari arduino). Magari penso le cose troppo in grande ... non lo so ...
Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10106
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

wireless viene più costoso, ma tantè..
ci sono gli zigbee che sono simil-wifi (sono una versione wifi non compatibile con quella dei pc, ma si può dire che funzionano in modo simile) ma son molto costosi
sinceramente nell'ultimo periodi sto spingendo su dei moduletti a 433mhz da 10€ l'uno, però c'è da comprare l'accoppiata ricevente e trasmittente, e c'è da programmarsi un minimo di protocollo di comunicazione... vedi tu cosa conviene

io fare un moduletto rx/tx per ogni arduino + rx/tx per il pc.
il pc fa da master. Ogni volta che un modulo è acceso, controlla se c'è una trasmissione in corso per qualche secondo. Se non rileva comunicazioni O un messaggio di comunicazione terminata(vedi sotto) invia una richiesta di "registrazione", il pc la accetta e assegna un numero univoco, chiamiamolo IP per capirci.
d'ora in poi sia il server per comunicare con un modulo invia l'IP del ricevente+i dati. Stessa cosa, i client che comunicano col server inviano il loro IP+i dati. Ricordati di tenere un'IP di broadcast, ovvero i dati che seguono quel'ip sono da eseguire su tutti i client

Per evitare che più sistemi comunichino contemporaneamente ci servono i comandi:
1. richiesta comunicazione, inviata dal client al server, contiene solo l'ip del client+il codice della richiesta
2. richiesta accettata, inviata al server a tutti. Contiene l'IP dell'unico client a cui è permesso comunicare+il codice della richiesta
3. comunicazione terminata, inviata dal client ( o dal PC nel caso il client non risponda da un pò) a tutti. Contiene l'Ip del client +il codice della richiesta, ora tutti i client possono richiedere la comunicazione

In questo modo l'espansione della rete è automatica, i dati viaggiano in 2 direzioni, c'è una bassissima probabilità di interferenze tra i moduli (solo nel caso di richiesta di comunicazione) e le trasmissioni sono dinamiche
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Pages: [1]   Go Up
Jump to: