Arduino Forum

Forum 2005-2010 (read only) => International => Italiano => Topic started by: admin on Jul 15, 2010, 07:22 pm

Title: Domotica con Arduino
Post by: admin on Jul 15, 2010, 07:22 pm
Un po di tempo fa (sull'onda di un momento di entusiasmo) avevo creato la comunità Ars Domotica per vedere se c'è interesse attorno alla domotica e Arduino.
La discussione è poi scemata e non ha senso mantenere in vita una community "in coma" da mesi.
Potrebbe essere utile invece riprendere il discorso qui e vedere se c'è gente interessata.

L'idea sarebbe quella di immaginare un semplice protocollo open source per realizzare sistemi domotici basati su Arduino.

Ci sono diversi protocolli che si potrebbero usare come ispirazione. ne listo qualcuno qui:
* X10
* DMX / RDM
* P-Bus

Le caratteristiche principali sono:
* Multi master - tutti protocolli basati sulla mediazione di una centralina finiscono per bloccare tutto il sistema se la centralina va in panne.
* basato su un protocollo aperto
* semplice da funzionare con un semplice doppino elettrico
* implementabile in un piccolo processore a bassisimo costo
* open source

Se c'è qualcuno interessato a questo tema possiamo far ripartire la discussione qui.

m

Title: Re: Domotica con Arduino
Post by: Calamaro on Jul 15, 2010, 07:52 pm
Presente.
Sarei interessato soprattutto a capire i concetti sulla domotica e soprattutto vorrei capire cosa sarebbe interessante sviluppare con questi protocolli.
Title: Re: Domotica con Arduino
Post by: pictux on Jul 15, 2010, 08:15 pm
Ciao,
avevo dimostrato il mio interesse per l'argomento nel "vecchio" Ars Domotica, ora son qui a rinnovarlo.

Ritengo che, a parte l'HW in senso più o meno stretto (Arduino e protocolli os), altrettanta attenzione sia da dedicare all'interfaccia finale per l'utente.

Qualche idea in merito (maturata in autonomia o con spunti esterni) già ce l'ho!
M
Title: Re: Domotica con Arduino
Post by: gslow on Jul 15, 2010, 09:00 pm
Mi occupo di Domotica quasi quotidianamente il progetto può essere interessante solo se riusciamo a mantenere i costi delle "interfacce" bassi bassi competere con i grandi produttori ne cito alcuni Bticino Vimar Abb Vantage Controls (il top della domotica) è difficile.

A disposizione per qualsiasi cosa.  ;)
Title: Re: Domotica con Arduino
Post by: Pelletta on Jul 15, 2010, 09:28 pm
Ciao a tutti, interessantissima la cosa....
Sono circa sei mesi da quando ho iniziato a giocare con i componenti e a fare qualche script e come primo progetto importante se così si può definire è stato proprio di fare un sistema domotico per gestire la mia soffitta che sto trasformando pian piano in laboratorio. Vi mostro in anteprima il mio lavoro ancora incompleto, spero sia di gradimento:
(http://img267.imageshack.us/img267/249/kittscale.png)
Avrete sicuramente riconosciuto tutti qual'è stata la mia fonte di ispirazione e arduino mi ha dato la disponibilità di realizzare il sogno che avevo da bambino. Il progetto è ancora in alto mare, sto facendo pian piano tutti pezzetti di codice per far funzionare ogni singola parte dell'insieme ma vi assicuro che dietro di roba ce n'è davvero molta (ethernet shield, wave shield. sensori di temperatura, umidità, switch audio per tutte le periferiche, emettitori e ricevitori IR per comandare tutte le periferiche della soffitta, relè, luce di emergenza per quando manca la corrente e molto altro....
Questo è il mio primo lavoro e spero di portarlo a termine, diciamo una sfida che ho fatto con me stesso.
Non so quanto possa contribuire anche io date le mie poche conoscenze, in fondo è da poco che ho iniziato ma sicuramente starò dietro al progetto perchè la voglia di imparare e migliorarmi è tanta.
Saluti a tutti.

PS: il primo premio sezione tamarro dell'anno non me lo toglie nessuno  ;D
Title: Re: Domotica con Arduino
Post by: stefanosky on Jul 15, 2010, 11:07 pm
se posso dare una mano da junior magari.
la domotica è stata sempre una passione.
da piccolo avevo realizzato un sistema per la musica con un relè che, attivato dalla porta della stanza, faceva accendere la radio nella stanza; ora la possibilità di ascoltare la stessa musica in tutta casa (con dei satelliti) è un buisness :)
ciao
Title: Re: Domotica con Arduino
Post by: pictux on Jul 16, 2010, 02:05 am
[OT]
@Pelletta
avevo sentito parlare per radio di questo tizio toscano:
http://www.kitt.im/kitt-supercar-replica-toscana.html
ma non penso abbia usato Arduino  ;)
[/OT]
Title: Re: Domotica con Arduino
Post by: ArdLuka on Jul 16, 2010, 10:18 am
Argomento interessantissimo presente!
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Jul 16, 2010, 11:00 am
Anch'io ci sto tantissimo!!!   :D

Stavo giusto documentandomi un po' sul panorama domotico e la prima cosa che ho capito è che una delle questioni principali è quella di trovare una soluzione adatta a tutte le casistiche, per esempio in edifici dove è già presente un impianto elettrico è impensabile tirare il doppino per creare il bus...e quindi nascono i protocolli power line o a radio frequenza.

Se invece si tratta di un edificio in costruzione allora si può pensare di cablare tutta la casa con un doppino, però il bus dovrebbe raggiungere ogni angolo.

Quindi le conclusioni che ho tratto sono che un sistema che va a modificare l'impianto già esistente secondo me rappresenta una domotica "soft", mentre un impianto elettrico pensato con l'idea di farlo domotico dovrebbe prevedere che ogni singolo componente diventi intelligente.

Da che cosa partiamo?  :)



Title: Re: Domotica con Arduino
Post by: pictux on Jul 16, 2010, 11:36 am
Ciao,
un chiarimento:

Quote
L'idea sarebbe quella di immaginare un semplice protocollo open source per realizzare sistemi domotici basati su Arduino.

Ci sono diversi protocolli che si potrebbero usare come ispirazione. ne listo qualcuno qui:
* X10
* DMX / RDM
* P-Bus


Ci sono po un po' di punti che vorrei capire meglio:me).
1. si intende qui di IDEARE un nuovo protocollo  :-? o di scegliere tra quelli esistenti, ma che rispondano ai prerequisiti di cui sopra?

2. Arduino stessa fungerà da centralina, a cui saranno connessi direttamente "nudi e crudi" sensori, relè, interruttori etc. oppure saranno ammessi a loro volta altri protocolli ?
Intendo: ci son prese pilotate via X10, oppure sensori di temperatura I2C, etc etc (in questo secondo caso l'obiettivo di economicità un poco si perde...)

2. domanda poco attinente al discorso generale:
DMX si basa su RS485 (se ho capito bene); nella configurazione ottimale detta "daisy chain" sbaglio o il master è comunque 1?

3. la domanda 2, poco attintente, apre uno spiraglio: data l'economicità intrinseca di Arduino, perchè scartare a priori la possibilità di avere un'Arduino Master e le altre Slave? Basterebbe prevedere un'Arduino di backup (cosa che faccio sempre  :))

Title: Re: Domotica con Arduino
Post by: marcotasto on Jul 16, 2010, 03:50 pm
Buongiorno a tutti. Questo e' il mio primo post sul forum di Arduino con il quale entro "ufficialmente" in contatto oggi... per mancanza di tempo.

Sono interessato all'argomento "domotica" da parecchi anni e, in base alla mai sufficiente esperienza che mi sono fatto studiando i protocolli di alcuni prodotti in commercio, vorrei porre l'attenzione su questi requisiti che, a mio avviso, sono molto importanti durante la fase di definizione del protocollo.

In sintesi cio' che mi viene in mente ora:
1. Connessione tra i device il piu' semplice possibile. Il doppino e' un ottimo candidato poiche' puo' essere giuntato e sdoppiato generando una architettura mista a catena e a stella
2. I dispositivi dovrebbero ricevere tensione dal doppino stesso. Questo evita la necessita' di alimentatori sparsi per la casa e rende possibile un backup (magari tramite celle fotovoltaiche?) del sistema
3. Comunicazione non master/slave ma asincrona tra i dispositivi
4. Comunicazione non in banda base ma modulata per permettere differenti codifiche all'interno dello stesso canale in contemporanea (si pensi ad esempio al trasferimento della segnalazione e dei dati audio/video di uno o piu' citofoni/videocamere di sorveglianza). La presenza di differenti codifiche/modulazioni sullo stesso fisico permetterebbe di abbattere i costi sulle periferiche meno "aggressive" (ad esempio gli interruttori e/o gli attuatori) ma permetterebbe a quelle piu' esigenti di coesistere sullo stesso cavo
5. Una capacita' intrinseca di "scollegarsi dal bus" dei vari nodi che, per qualche ragione, non funzionino correttamente e che potrebbero ammutolire l'intero bus

Molte di queste caratteristiche sono presenti su ethernet/IP che, pero', ha costi troppo elevati (piu' che altro di cablaggio).

Mi rendo conto che le esigenze qui sopra poco si sposano con la riduzione dei costi... pero' si parte chiedendo 100 per ottenere 50.. no?
Title: Re: Domotica con Arduino
Post by: pictux on Jul 16, 2010, 03:57 pm
ciao

@Marco
Quote
Molte di queste caratteristiche sono presenti su ethernet/IP che, pero', ha costi troppo elevati (piu' che altro di cablaggio).


l'uso di ethernet è stata una delle prime cose che ho pensato anche io.
Oltretutto lo standard PoE è già esistente, si tratterebbe di applicarlo ad Arduino.

In quanto ai costi di cablaggio... io magari ragiono sui lavori che ho fatto e sto facendo in casa, ma non mi sembrano per nulla alti.

saluti
m
Title: Re: Domotica con Arduino
Post by: marcotasto on Jul 16, 2010, 04:29 pm
Ciao pitusso.

Mi sono espresso male: ethernet e' costoso, a mio avviso, per questi motivi:
- tutte le volte che devi "sdoppiare" il cavo e' necessario un componente attivo che consuma corrente ed occupa spazio
- gli apparecchi che lo utilizzano hanno una complessita' intrinseca abbastanza elevata... non solo hardware, ma anche lato utente: assegnazione IP address, gateway etc etc. Tutte cose che, ancora, non sono alla portata di tutti, considerando le conoscenze medie informatiche della popolazione.

Per quanto mi riguarda, attualmente accendo le luci del giardino e l'irrigazione tramite ethernet... pero' mi rendo conto di essere visto come uno smanettone.  :'(

Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 16, 2010, 04:53 pm
c'è sempre dhcp... e poi non sarà mai più difficile da configurare di un router adsl  :) che ormai hanno tutti in casa.
poi c'è l'installatore e l'utilizzatore (che non sempre coincidono)
Title: Re: Domotica con Arduino
Post by: admin on Jul 16, 2010, 05:02 pm
Ciao

A settembre viene lanciata una scheda Arduino Ethernet che ha la presa di rete invece che USB, scheda microSD e opzionale alimentatore power over ethernet.... però non è economica....

bisognerebbe lavorare su protocolli più semplici... tipo l'rs485 (costo bassissimo) oppure il DALI che viene usato solo x la luce ma con opportune modifiche si può usare x altro.

sono sicuro che riusciamo a fare una specie di arduino super minimale con l'rs485 a bordo che può lavorare con semplici sensori e attuatori (tipi una arduino x stanza) creando unaspecie di piccola rete casalinga...
il tutto potrebbe andare ad un arduino eth che fa da ponte verso le applicazioni su computer o cellulare

m


Title: Re: Domotica con Arduino
Post by: pictux on Jul 16, 2010, 05:20 pm
Ciao

Code: [Select]
sono sicuro che riusciamo a fare una specie di arduino super minimale con l'rs485 a bordo che può lavorare con semplici sensori e attuatori (tipi una arduino x stanza) creando unaspecie di piccola rete casalinga...
il tutto potrebbe andare ad un arduino eth che fa da ponte verso le applicazioni su computer o cellulare


secondo me è un buon compromesso; d'altronde, per interfacciarsi a computer/cellulari, nientre è meglio del sano e consolidato tcp/ip!

Richiedo nuovamente: la configurazione network rs485 consente più master?
Grazie!
M

P.S: manco a farlo apposta la settimana scorsa mi son arrivati 4 nuovi RS485...
Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 16, 2010, 05:41 pm
magari si potrebbe tentare in qualche modo di usare entrambi rs485 con SLIP (non da bagno ;D)
http://en.wikipedia.org/wiki/SLIP
Title: Re: Domotica con Arduino
Post by: admin on Jul 16, 2010, 11:18 pm
è possibile implementare il multi master con rs485 bisogna stabilire una logica per gestire le collisioni.

All'MIT hanno implementato un progetto che chiamano internet0 dove portano il protocollo IP sul microcontrollore usando l'rs485 invece che il transceiver ethernet classico. Non si sa molto di come l'hanno implemetato perchè pare che l'abbiano venduto ad  un'azienda ed è tutto confidenziale.

SLIP non va bene perche è un protocollo point to point cioè permette a un nodo in fondo a una connessione seriale di accedere a una rete IP

Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 17, 2010, 06:05 am
e can bus?
http://www.can-cia.org/
Title: Re: Domotica con Arduino
Post by: admin on Jul 17, 2010, 09:03 am
can è uno dei possibili bus.

è più costoso del rs485 però ha dei vantaggi... qualcuno dovrebbe fare delle prove

ho trovato una libreria can per avr con un chip esterno che interfaccia il bus http://www.kreatives-chaos.com/artikel/universelle-can-bibliothek

ci sono degli AVR con il CAN a bordo ma non abbiamo ancora portato arduino sui quei processori..

m
Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 17, 2010, 09:18 am
un pò di materiales...  ;D
http://real2electronics.blogspot.com/2010/06/can-bus-mcp2515.html
Title: Re: Domotica con Arduino
Post by: gioscarab on Jul 17, 2010, 11:44 am
Anche io ho sentito parlare benissimo del CAN  ;) anche se non ho mai avuto a che fare direttamente con esso. Se serve una mano, chiaramente sono presente e dispostissimo!!  :D
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Jul 17, 2010, 11:56 am
molto bravo il tizio spagnolo!!

ho una domanda: CAN, Modbus, KNX sono protocolli molto utilizzati e aperti, però ci sono già tutti i livelli fatti.
Il protocollo RS485, se ho capito bene è più o meno alla base di tutti i protocolli di comunicazione a doppino, solo che i chip di interfaccia integrano solo il livello fisico...quindi a noi starebbe da definire tutto il resto, metodi di accesso al canale, gestione delle collisioni (come già detto da Massimo), lunghezza della trama, ecc.

Di protocolli "custom" e proprietari ce ne sono in giro tanti, ma secondo voi un lavoro del genere potrebbe essere alla nostra portata, oppure è meglio sceglierne uno standard?
Title: Re: Domotica con Arduino
Post by: frenjo on Jul 17, 2010, 12:49 pm
interessantissimo.... mi associo...
p.s. ho scoperto arduino da pochissimo... e' uno spettacolo....
grande  Massimo
Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 17, 2010, 12:54 pm
considerazioni:
essendo un protocollo una comunicazione di minimo due èntità la scelta dello standard permetterebbe di interfacciarsi a periferiche standard e pensare solo al controllo principale, mentre sul custom devi "insegnare la lingua" anche alle periferiche e quindi devi progettare anche quelle ed in più non hai compatibilità con apparecchi già in commercio...
quindi se si vuole produrre qualcosa di commerciabile (senza avere i miliardi per spingere un nuovo standard) si usa un proto standard, se non si mira al commerciabile, allora quello custom è più interessante...
@Massimo ma avr-libc supporta già fino all' at90can128 e quindi  l'ide dovrebbe compilare anche contro questi dispositivi no?
Title: Re: Domotica con Arduino
Post by: saki_kawa on Jul 17, 2010, 02:22 pm
Salve a tutti!
Sono un super appassionato di domotica e sopratutto amante di tutto ciò che semplifica la vita di tutti i giorni.. cosa che la domotica/robotica potrebbe fare in maniera molto più concreta di come fa attualmente.

Sono disponibilissimo a dare una mano!
Però ho paura di avere idee un po' opposte a quelle del progetto in cantiere.. invece che sull'entry level io mi spingerei più sull'high level..

Per un semplice motivo: il mercato.
Infatti la stragrande maggioranza delle persone che conosce anche di striscio la domotica sono persone "addette ai lavori" o "wanna be", che però sono decisamente una nicchia.
Le persone "comuni" sentendo parlare di domotica (lo dico a ragion veduta avendo testato il discorso in giro) si aspettano una casa fantascientifica, tutta automatizzata e autosufficiente.

Ora, questo sarebbe piuttosto arduo da realizzare oggi, a meno che non si voglia buttare giù e rifare da 0 una casa, ma qualcosina è fattibilissima.

Per farla breve.. io mi sto orientando alla realizzazione di un mainframe centrale che gestisca vari sensori, da aggiungere o togliere a piacere, ed in più cerchi di interfacciarsi con il maggior numero possibile di elettrodomestici/apparecchi comuni nella casa.
Come protocollo diciamo che per ora non ho ancora affrontato bene la problematica, per ora uso come intermediario un database mySql, quindi ogni sensore ha il suo linguaggio ed interagisce con il mainframe tramite db.
Il mainframe si comanda vocalmente e dispone di vari sistemi per monitorare ed organizzare la vita degli abitanti.
Questa è la mia idea di domotica.

Se però preferite lavorare su un livello più soft, ci sono comunque a darvi una mano!!
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Jul 17, 2010, 05:12 pm
Sono d'accordo con te sul pensiero riguardo alle persone "comuni", però sono la maggior parte della "popolazione" e anche se sono proprio le persone che non si chiedono come ad esempio, sia fisicamente collegato l'interruttore alla lampadina, e gli basta che la luce si accenda, verranno comunque anche loro prima o poi a contatto con la domotica!

L'idea che mi sono fatto io è che la parola domotica sia ormai giunta alle orecchie di tutti, però la sensazione comune è ancora quella di un bel giocattolo che paghi tanto, che fa cose belle ma, più o meno superflue e che potrebbe anche non rispondere ai tuoi comandi.

Alcune tematiche di rilievo che invece rimangono solo tra gli "addetti ai lavori" sono che un impiato di tipo a bus semplificherebbe l'insallazione, sarebbe più modulare (ogni interruttore sarebbe un sensore, con il risultato di poter accendere una luce in centinaia di modi diversi), ci sarebbero meno cavi elettrici che girano tra i muri e si ridurrebbero i campi magnetici generati dai 220V.

Come tempo fa avevamo già discusso nel thread di robotica io sono più a favore dell'intelligenza distribuita con un supervisore che tiene sotto controllo tutti, piuttosto che un unico cervellone centrale, visto che più che potenza di calcolo serve garantire un certo grado di indipendenza alll'impianto. Senza contare che un sistema a mainframe andrebbe progettato ad hoc per ogni abitazione.

Io quindi punterei più sul trovare un modo per rendere la soluzione il più "plug and play" possibile e trovare quali sensori potrebbero essere veramente utili in ambito domotico.
Title: Re: Domotica con Arduino
Post by: gioscarab on Jul 17, 2010, 05:53 pm
Sono d'accordo con Fede. Alla fine il successo di arduino è stato dato dalla sua facilità di utilizzo e da quanto è user-friendly rispetto a PIC e vari altri sistemi simili. Quindi se si riuscisse a ottenere un simile risultato per un prodotto orientato verso la domotica amatoriale, credo posssa ottenere un discreto successo.
(non mangiatemi  ;)) Io con i2c mi sono trovato benissimo, e trovo sia davvero comodo. Non potrebbe essere utilizzato in questo ambito?
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Jul 17, 2010, 06:11 pm
hehe il problema principale è che la lunghezza massima del bus è inferiore ai 10m
Title: Re: Domotica con Arduino
Post by: saki_kawa on Jul 18, 2010, 12:44 am
@Federico:
Non fa una grinza!! ;)
Sono due aspetti diversi, quello prettamente domotico base (luci, allarmi, porte, temperatura, ecc), cose di cui tutti abbiamo bisogno e che farebbe comodo avere automatizzate.
L'altro è qualcosa di più, che giustamente può spaventare anche o creare dubbi, ma che risolve vere problematiche ancora non risolte, come gestire compiti che per ora sono ancora prettamente umani, lavare pavimenti, tenere sotto controllo la propria salute, ecc.

Diciamo che la differenza è che il primo approccio crea nuovi elettrodomestici per la casa, il secondo rende la casa un elettrodomestico.

Ma sono convintissimo che entrambi gli approcci serviranno e anzi sicuramente fatta bene la base il resto sarà solo uno step quasi automatico! ;)


Vorrà dire che comincerò a leggermi un po' di bibliografia sui protocolli per darvi una mano!
Title: Re: Domotica con Arduino
Post by: saki_kawa on Jul 18, 2010, 01:20 am
Quote
Vorrà dire che comincerò a leggermi un po' di bibliografia sui protocolli per darvi una mano!

Comincio subito.. per quanto riguarda l'RS485 pensavate ad un'implementazione half-duplex o full-duplex?.. perchè per la full-duplex ci sarebbe anche il CSMA/CD, che è usato per le reti power-lan, non sò i prezzi, ma potrebbe essere utile perchè poterlo interfacciare con dei sistemi power-lan eviterebbe il problema di stendere cavi, usare wi-fi o altre soluzioni, tutto è già direttamente disponibile in qualunque abitazione.
Title: Re: Domotica con Arduino
Post by: admin on Jul 18, 2010, 10:34 am
i protocolli "open" non lo sono più di tanto... si knx è "open" però vogliono 1000 eur per scaricare il pdf con le specifiche...

il poe è perfetto però costa parecchio, non è un sistema che si possono mettere a casa tutti.

il multi-master non è cosi importante si può vivere anche con un sistema con un solo master basta che sia un arduino e non un computer.

un arduino mega ti tiene sotto controllo un condominio senza problemi

m
Title: Re: Domotica con Arduino
Post by: Freedom on Jul 18, 2010, 07:07 pm
Buongiorno a tutti,
tempo fa sono intervenuto su ars domotica proponendo Freedom (development framework per applicazioni domotiche sviluppato dall'Università degli Studi di Trento - freedom.disi.unitn.it/) come programma di supporto per lo sviluppo e testing delle soluzioni basate su arduino proposte dagli utenti.  Saremmo interessati in una collaborazione attiva per la definizione di un sistema domotico veramente open, basato su arduino, che permetta di liberarsi dai vincoli imposti dai prodotti per la domotica attualmente sul mercato. La proposta è ritenuta interessante?
Title: Re: Domotica con Arduino
Post by: admin on Jul 18, 2010, 08:31 pm
Ciao

Grazie per il link però non si capisce molto dal sito... non c'è un diagramma dell'architettura, la documentazione è un todo ed il repository è impossibile da navigare.

ci fai un riassunto? l'unica keyword che ho visto è activemq, io l'avevo usato per il software che abbiamo sviluppato per un museo ma alla fine mi sono accorto che mandare 2 byte da una scheda all'altra avevamo 20 mega di classi java.... troppo.

Semplice è bello :) se una cosa è semplice si fa presto a spiegarla :)

m

Title: Re: Domotica con Arduino
Post by: gioscarab on Jul 19, 2010, 01:15 pm
Perchè non ce lo scriviamo noi il protocollo?
Io sto sperimentando vari protocolli di comunicazione, da semplici impulsi ir (tipo codice morse) a comunicazione via 2 porte digitali tra due arduino. Secondo me se ci mettiamo potremmo tirare fuori una libreria interessante. Sarebbe da chiarire la velocità di comunicazione richiesta e tutte le altre specifiche di base, e iniziare a lavorarci assieme.
Se un buon protocollo open non c'è, o sono complessi e affetti da elefantiasi pensiamone uno nuovo!
Title: Re: Domotica con Arduino
Post by: ArdLuka on Jul 20, 2010, 09:33 am
ma per i cavi?
bisogna sfasciare mezza casa o avete intenzione di usare un approccio come powerline ethernet dai cavi elettrici?
Title: Re: Domotica con Arduino
Post by: admin on Jul 20, 2010, 09:36 am
se usi un doppino non particolarmente spesso lo puoi piazzare vicino ai cavi elettrici esistenti... il powerline è possibile ma bisogna fabbricarsi un piccolo modem che trasmetta e riceva i dati sulla linea a 220v.

m
Title: Re: Domotica con Arduino
Post by: ArdLuka on Jul 20, 2010, 09:45 am
L'idea che ho io è sensore->presa->amplificatore->cavo->arduino o forse si parte da un approccio diverso.
Il problema sarà appunto installare i cavi con amplificatori operazionali che partano dalle prese.
Secondo voi non sarebbe meglio prima stabilire cosa la casa deve fare stanza per stanza?
Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 20, 2010, 10:16 am
con degli ic tipo questi?:
http://www.echelon.com/support/documentation/manuals/transceivers/005-0193-01B_PL_Data_Book.pdf
Title: Re: Domotica con Arduino
Post by: admin on Jul 20, 2010, 03:16 pm
beh si ricade nel protocollo proprietario e poi dovremmo progettare il modem perchè quello è solo il transceiver.

La ST fa dei chip simili che sono meno proprietari http://www.st.com/stonline/products/families/communication/wireline/power_line_transceivers/power_line_transceivers.htm

comunque costicchiano , uno dei modelli piu semplici a 2400bps costa 32Dollari http://www.hth.com/plm-24/order.htm

m
Title: Re: Domotica con Arduino
Post by: gioscarab on Jul 20, 2010, 04:33 pm
Ciao Massimo, io non ho capito che velocità di trasferimento serve.
Non potremmo scriverci noi un protocollo utilizzando due o piu porte digitali? Es. un arduino è connesso ad un altro con due porte digitali, il terzo è connesso al secondo con due porte digitali e quindi indirettamente al primo e cosi' via? Il primo e l'ultimo della fila avrebbero due porte occupate, quelli in mezzo 4.
Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 20, 2010, 05:03 pm
in effetti il costo sarebbe un pò alto ma comunque da sottrarre a quelli di installazione/cablaggio.
il protocollo invece sarebbe un problema...
Title: Re: Domotica con Arduino
Post by: admin on Jul 20, 2010, 05:17 pm
gbm è un po troppo a basso livello :) ci sono dei protocolli già fatti che funzionano bene e sono aperti.

Le due opzioni più semplici al momento sono:
* bus rs485 (stile DMX).. qui si può sfuttare la metodologia  a 9 bit... cioè il microcontrollore riconosce in automatico se il suo indirizzo passa sul bus... limitazione solo 255 nodi principali. vantaggio semplice e costa mooolto poco
* bus can. veloce e robusto, è multi master e ci sono dei microcontrollori che lo supportano.. l'arduino base può interfacciarsi con moduli tipo quello che si vede qui http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1248361174

forse il can è il migliore al momento

m
Title: Re: Domotica con Arduino
Post by: saki_kawa on Jul 20, 2010, 05:27 pm
Perchè prima non facciamo il punto della situazione? Magari riusciamo a schiarirci le idee.

Dico la mia, modificate questa lista a vostro piacimento secondo le vostre idee, così arriviamo ad un punto comune.

I punti fondamentali del progetto a me sembrano questi:


Nello specifico.

Per gli interruttori:
inserimento nei box luci standard,
reperimento corrente da linea 220V standard.

Per i sensori ambientali:
valgono i punti degli interruttori più l'ipotesi di poterli posizionare in zone diverse dai box luce o cassette di derivazione, ma hanno bisogno di corrente, quindi sempre vicino alle prese.

Per i micro attuatori:
è un caso più particolare, dato che a seconda del loro compito devono potersi interfacciare con altri componenti. (Es.: serrature, tapparelle, tende, rubinetti, valvole acqua/gas, caldaie, termostati, ecc.)
Nota: a volte la corrente non arriva dove dovrebbero essere installati.. vedi porte, rubinetti, ecc..

Per i sensori e gli interruttori è evidente che possono essere cablati nelle canaline elettriche o telefoniche esistenti, ma per gli attuatori è tutto un altro discorso.

Velocità di comunicazione:
per gli interruttori tale velocità deve essere veramente alta, non si può accendere una luce ed aspettare qualche secondo o decimo di secondo prima che si accenda realmente;
per i sensori, a meno che non regolino temperature della doccia o altri sistemi che richiedono una correzione immediata, i tempi possono essere più lenti, in un eventuale protocollo si potrebbe dare priorità bassa a questi segnali;
per gli attuatori vale la stessa regola degli interruttori, il tempo di esercizio può variare, ma il tempo di risposta deve essere rapido.
Per la comunicazione tra i vari moduli, diciamo che vale la velocità sufficiente e necessaria, quindi quella più alta, altrimenti si crea un bel collo di bottiglia nel caso un modulo-interruttore dovesse controllarne un altro.

Ultimo, ma assolutamente primario come punto, le funzionalità.
Cosa vogliamo che facciano di base i moduli?
Accendere/spegnere le luci, come minimo; magari bloccare e sbloccare porte, attivare/disattivare antifurto, regolare temperatura stanza.. controllo ambientale generico, regolazione tende, gestione piante e/o giardino, ricordare interventi di manutenzione degli elettrodomestici, monitorare consumi energetici. Altro??



Aggiungiamo i punti interessanti, così da avere una visione d'insieme e poter ragionare più nel concreto.. se volessimo fare le cose per benino potremmo anche usare Google Wave ed uno dei suoi plugin fenomenali come brainstorm per esempio..  ;)
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Jul 20, 2010, 11:26 pm
Quote
Per gli interruttori:
inserimento nei box luci standard,
reperimento corrente da linea 220V standard.


non dovrebbero più interrompere nessun circuito elettrico a 220V ma diventare come dei sensori ( alimentati a 5V e letti da pin digitali ).
Ogni luce o in generale un carico viene attivata/o da un'uscita digitale...che ecciterà un relè.

Quindi secondo me si potrebbe pensare a quanti ingressi e a quante uscite avrebbe bisogno una stanza media...e su quella base destinare le funzionalità del modulo.

Bisogna poi decidere cosa buttare sul bus, perchè in realtà molte funzioni potrebbero anche essere svolte in loco dal singolo arduino, per spiegarlo con un esempio:
quando premo l'interruttore per accendere la luce della stanza, l'arduino per prima cosa appena rileva lo stato del pulsante attiva l'uscita che accende la lampadina.
solo dopo aggiorna lo stato dell'interruttore e della lampadina comunicandolo agli altri arduini, perchè magari la stessa lampadina può essere accesa o spenta da un'altra stanza (da un altro arduino).

...quindi in sostanza dovremmo anche stabilire come si deve comportare ogni singola unità...che poi andrà ad interfacciarsi con le altre attraverso il protocollo di comunicazione che sceglieremo.

Tornando all'argomento protocollo, il CAN se viene usato nel mondo automotive ed industriale è perchè è tra i migliori quanto affidabilità e prestazioni...però non capisco perchè non abbia grande impiego nel mondo domotico.
Mentre riguardo a:
Quote
* bus rs485 (stile DMX).. qui si può sfuttare la metodologia  a 9 bit... cioè il microcontrollore riconosce in automatico se il suo indirizzo passa sul bus... limitazione solo 255 nodi principali. vantaggio semplice e costa mooolto poco

sono comunque favorevole a condividere un tentativo di implementazione se si pensa che ne possa valere la pena!
Title: Re: Domotica con Arduino
Post by: Qez on Jul 21, 2010, 12:12 am
Ciao a tutti, mi inserisco anch'io, apppena appena registrato ma interessatissimo alla discussione!

avevo solamente un appunto preliminare da fare: la tua proposta Massimo di usare la bassa tensione da far passare insieme al 220V credo che sia contro la normativa vigente.. ovviamente lo farei tranquillamente in casa mia, salvo dover togliere tutto quanto prima di cercare di venderla!  :-/
D'altro canto powerline ha il grosso vantaggio di sfruttare la rete domestica già cablata per l'alimentazione: ma non ho ancora trovato in commercio qualcosa ad un prezzo ragionevole per interfacciarsi.. ho comprato un paio di belkin per giocare un po', con ottime prestazioni teoriche ma comunque costano un centinaio di euro, non è proprio una cifra abbordabile!

ciao
Marco
Title: Re: Domotica con Arduino
Post by: saki_kawa on Jul 21, 2010, 12:15 am
Quote
non dovrebbero più interrompere nessun circuito elettrico a 220V ma diventare come dei sensori ( alimentati a 5V e letti da pin digitali ).
Ogni luce o in generale un carico viene attivata/o da un'uscita digitale...che ecciterà un relè.

Sì giustissimo! Preso dalla foga non avevo valutato che a questo punto basta un modulo (Arduino) per stanza, e quindi non serve che stia dentro la scatola di derivazione..  :P

Per il discorso singole unità.. conviene che ogni Arduino memorizzi lo stato di una singola luce?.. non potrebbe leggerlo da un file condiviso per esempio? Così anche per interfacciare uno schermo o qualche altra interfaccia si potrebbe leggere direttamente il file centrale.
Non è una domanda retorica, lo pongo proprio come quesito.
In realtà se vogliamo usare solo un Arduino come modulo (luci per esempio) sarà solo l'Arduino di quella stanza a memorizzarlo, se però nascesse la necessità di condividere l'informazione con altri Arduino, con un bel log centrale si risparmierebbe l'invio di un comando agli altri.. e solo quando necessario si potrebbe leggere il log; per massimizzare le funzioni in locale di ogni singolo Arduino, e non usarle per trasmissioni a gratis.
Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 21, 2010, 06:24 am
non sarebbe più comodo interrogare lo status al volo ogni tot. di tempo oppure quando serve? così si parlano direttamente e non tramite un file.
poi il log centralizzato tipo "registro degli eventi" memorizzerà sia la domanda che la risposta.
Title: Re: Domotica con Arduino
Post by: admin on Jul 21, 2010, 07:53 am
Credo che per semplicità sarebbe meglio avere un'arduino che è responsabile per un ambiente e comunica via bus con le altre schede

in questo modo se si interrompe il bus puoi comunque accendere la luce entrando nella stanza :)

una volta definito un protocollo di comunicazione si possono definire i tipi di messaggi inviabili etc

Se è necessario avere un master per coordinare gli slave allora usiamo un'arduino mega.. usiamo il PC per operazioni non "mission critical"

la cosa interessante sarebbe usare un ethernet shield cosi da assegnare un URL ad ogni oggetto del sistema. a quel punto puoi fare le interfacce utente anche in html+javascript

a sua volta il "coordinatore" può inviare via rete messaggi di allarme etc.

con questa architettura si possono creare dei rami che viaggiano in wireless dove non si possono tirare cavi.

m

Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 21, 2010, 08:32 am
con ethernet a disposizione si potrebbe pensare anche a sistemi autoconfiguranti per le periferiche tipo:
al reset il protocollo arp notifica la presenza di un nuovo modulo in rete e quindi il master la interroga per conoscere le sue potenzialità, oppure la scheda interrogata fornisce una descrizione di se stessa ed il master crea al volo un'interfaccia grafica standard con i controlli messi a disposizione dal modulo appena riconosciuto... quindi con un solo gui e una gestione dei tab si potrebbe accedere rapidamente al controllo delle schede appena installate, quindi configurazione quasi zero! :)
Title: Re: Domotica con Arduino
Post by: admin on Jul 21, 2010, 08:34 am
Per ragioni di costo l'eth potrebbe essere solo sul nodo "coordinatore" però non toglie che si possa implementare simili funzioni anche sul bus "leggero" che fa parlare i nodi tra di loro.

Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 21, 2010, 08:48 am
anche con can-bus si potrebbe fare la stessa cosa, una sorta di "plug&play" (che brutta parola... :))
la logica è incapsulabile in (quasi) qualsiasi protocollo, per questo mi piaceva l'idea e poi con l'autoconfigurazione iniziale , l'esperienza "out of the box" sarebbe quasi immediata ed a portata di tutti no? ::)
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 21, 2010, 11:01 am
Ciao a tutti e soprattutto a Marco!
Se ricordi, tempo fa, ti avevo contattato per cercare un "gruppo amatoriale arduino" a Milano: il mio sogno segreto era proprio quello di mettere assieme un sistema domotico.
Sono architetto e ho sempre odiato le soluzioni convenzional/commerciali dei grandi produttori: chiuse, vincolanti, complesse poi da gestire, coordinare, progettare e realizzare in cantiere.
Purtroppo non ho affatto grandi competenze in elettronica e quando accarezzavo il sogno domotico, mi è sempre piaciuto l'X10: semplice, modulare. Non mi ha mai convinto troppo nè il costo complessivo (25-35? ogni attuatore o comando fuori scatola - praticamente il doppio se incassati - ), che moltiplicato per il numero dei pezzi da installare diventa una bella spesa!

Come progettista (anche un po' avventuroso) cerco una soluzione davvero semplice, di quelle per cui a qualsiasi elettricista possa dire: "ascolta, mi devi (o: ti fornisco) 10 arduino che mi metti qui, qui e qui; colleghi questi cavi qui e qui; li metti questi attuatori e sensori" poi si accende, un minimo di configurazione e via.

Inoltre, se interessa il concetto, quando si ristrutturano appartamenti convenzionali, il costo teorico medio per "punto luce" è circa pari a 50? (Milano): quindi ogni scatola - prese, telefono, interruttore che sia - costa così. Fate i calcoli per una stanza e per l'intero appartamento.
Ora, se introduco un sistema domotico, tra doppini e sistemi aggiuntivi, l'installatore mi fa schizzare i prezzi alle stelle e la mia bella domotica mi va fuori mercato e rigettata dal cliente (oltre tutte le obiezioni che l'elettricista solleva e i rifiuti per cose che non conosce).

Credo che la strada debba essere ridurre e semplificare sulla base di uno schema elettrico domestico convenzionale (per avere meno conflittualità sulla posa e una serie di benefici secondari, pur rimanendo in normativa):
- abolire le linee degli comandi (si taglia il 50% almeno dei cablaggi sottotraccia e dei costi: niente più interruttori a parete);
- telecomandi (universali?) IR o piccolo dispositivo WIFI o altro trasponder (che risulterebbe poi utile particolarmente per anziani e disabili, potendo portarselo dietro ed evitare "rischiose" passeggiate nelle stanze; se necessita l'interruttore convenzionale a parete, ho visto in rete alcuni comandi fissabili a parete senza batterie (con la pressione meccanica si genera una piccola corrente elettrica che alimenta l'IR o trasponder ed invia il comando al ricevitore); inoltre, attuazioni via etere riducono i numeri e i costi dei controller;
- si avrebbero quindi solo linee principali per potenza e luce (fondamentalmente attuatori) e si ridurrebbero i pin di input sul controller, riducendo ulteriormente i costi...
- ne deriva che le linee di potenza e luce sono le uniche posate e servono serialmente i carichi, pertanto dovrebbero essere indirizzate (in power-line mi pare di capire sia più bello ma più costoso, tuttavia, se ho risparmiato i costi delle linee di comando, posso sempre permettermi di spendere per il doppino da far correre sempre parallelo alla 220 senza che all'elettricista venga il mal di testa... :))
- ci sarebbe poi l'eventuale problema di capire come trasmettere Audio/video in tutta l'abitazione...

Da ultimo c'è bisogno di capire la modulareità della componentistica:
1 - telecomandi
2 - pulsanti filomuro, risposizionabili, programmabili, via etere, autoalimentati
3 - relè standard per comando motore
4 - motori e motorini d'attuazione per classi d'impiego semplificate (grande sforzo: avvolgitore tapparella, garage,...; piccolo sforzo: chiudiporta, termovalvola,...) e che si possano anche adattare su situazioni esistenti (penso al rubinetto della canna in giardino...)
- microcontroller con override da computer e gestibile con interfacce anche http (integrazione smartphone...)
5 - una scatola unità sensori ambientali da collegare alla linea luce o forza (penso a una scatoletta che contenga standard ad esempio sensore temperatura, umidità, - per esagerare - allagamento, fumi, vento, pioggia, etc) magari con inserimento modulare degli stessi (il sensore pioggia non lo monto nella versione interna...).

Se c'è qualcosa che posso fare per il gruppo (normativa, valutazione esigenze per cantieristica, analisi costi installazione e/o problematiche ed esigenze ricorrenti utenza "standard",...) sono a disposizione!
(spero di non aver esagerato!)
A presto!
Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 21, 2010, 11:55 am
come powerline ho trovato questi modem:
http://www.linksprite.com/product/showproduct.php?id=23&lang=en
e pure
http://www.lorix.com/cat054.php?n=1#1

che parlano rs232... e non costano neanche un botto rispetto a quello che si risparmia nei cablaggi.
Ci sono anche alcuni modelli predisposti per xbee per realizzare una specie di ponte radio con altri moduli
Title: Re: Domotica con Arduino
Post by: ArdLuka on Jul 21, 2010, 11:56 am
ahhh un architetto proprio quello che ci voleva!  :)
Io vedrei utile anche un bel pulsante che mi indichi domotica si/domotica no e poi dovremmo studiare anche sistemi per la pulizia dell'abitazione in nostra assenza.
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 21, 2010, 12:10 pm
ehh, anche quello mi sono chiesto: se non ci fosse un modo per fare uno scooba open source... (che magari mi tagli anche il prato...)
piuttosto che un robottino circolante per casa con i suoi sensori antitrusione e ambiente integrati: una sola sonda valida per tutto...

anzi al meglio: un robottino che si aggancia di volta il volta al pack sensori o al pack pulizia... risparmiando inutili duplicazioni di motori, controller, sensori, cavi...
Title: Re: Domotica con Arduino
Post by: ArdLuka on Jul 21, 2010, 12:59 pm
nel senso magari ci possono essere dei guasti nel sistema domotico e sarebbe utile tornare al sistema standard.

Ste hai un messaggio pvt!  :)
Title: Re: Domotica con Arduino
Post by: saki_kawa on Jul 21, 2010, 03:33 pm
Un sistema hoover robot open source è già in studio, c'è un topic ad hoc.. in cui mi sto cimentando io stesso.. ;)

Per la domotica.. a sto punto scopriamo le carte.. io sto lavorando proprio su questo, ma come detto, diversamente a come pensate voi su un sistema high level.. da interfacciare con robot hoover system, tagliaerba, e tutta una serie di droni.

Stare dentro ai 50? a punto luce è una cosa semplice se si usa un Arduino per stanza, il resto sono relè e sensori..


Dai, chi inizia a sperimentare?? Io qualcosa già sto facendo.. ma più sulla programmazione e la gestione dei servizi che sui sensori. Altri che si occupino dell'hardware??
Creiamo un gruppo per il can bus e uno per l'rs485??
Title: Re: Domotica con Arduino
Post by: pol.g on Jul 21, 2010, 03:56 pm
Ciao a Tutti,
non ho grandi competenze in materia, ma sono molto interessato dall'argomento e provo a contribuire:
Ammettendo che ogni stanza (od ogni porzione di stanza) sia dotata del suo Arduino, ed ogni Arduino di una serie di input (interruttori, sensori) e di output (principalmente comandi verso relè) può avere senso un protocollo di questo tipo: all'eccitazione di un input l'Arduino pubblica un messaggio sul bus (messaggio tipo indirizzo-Arduino-target/output-target/azione sull'output). L'arduino che si riconosce nell'indirizzo target (al limite lo stesso arduino che ha generato il messaggio) opera di conseguenza sull'output indicato.
Così facendo posso impartire comandi su qualsiasi nodo senza distinguere fra comandi in locale o in remoto, posso creare funzioni di log recettive a tutti i messaggi, posso con indirizzi dummy creare comandi per tutti gli output o per sottoinsiemi (si deve solo scegliere bene come definire gli indirizzi, poi mi vengono facili funzioni tipo "spegni tutto"), posso... non so non ci ho ancora pensato.
E' una considerazione cha ha un senso (il mio dubbio è che il singolo arduino possa contemporaneamente sia mandare che ricevere un messaggio)? Si da già per scontato che sistemi del genere funzionino così (per il CAM delle macchine mi sembra di ricordare qualcosa del genere)?

  Paolo
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 21, 2010, 04:01 pm
penso che la tecnica di indirizzamento quantomeno usata in X10 vada già bene e forse basta adattarla x arduino:
su ogni attuatore, comando o altro c'è 1 jumber che setta l'ID dell'unità
il primo bit identifica il macroinsieme, il secodo il dispositivo specifico (es: appartamento del condomino; attuatore XY)
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 21, 2010, 06:24 pm
*intendevo: jumper

altra considerazione a ruota libera: trasporto audio/video per integrazione dei sistemi telefonia fissa vivavoce/videocitofonia/filodiffusione
in modo da ovviare la duplicazione di costi o almeno integrando videocitofonia con i tel DECT :)

per il software di controllo e gestione conoscevo
http://misterhouse.sourceforge.net/
e se nn ricordo male si poteva integrare con plug-in ad hoc, ergo x arduino... :)
Title: Re: Domotica con Arduino
Post by: pictux on Jul 22, 2010, 12:52 am
Piuttosto di MisterHouse, dai un'occhiata a DomotiGa!
http://www.domotiga.nl
Title: Re: Domotica con Arduino
Post by: whole on Jul 22, 2010, 02:23 pm
ecco lo sapevo!!!
Ma la piantate di mettere in mezzo ste cose ? io poi non combino null'altro!
OK Mi attacco al carretto pure io :D
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 23, 2010, 11:13 am
Ottimo, quindi domotiGa può diventare la culla di riferimento per il progetto e bisogna interfacciarlo con arduino!
Bisognerebbe fare anche un elenco dei componenti elettronici (es: sensore umidità,...) scelti per prezzo/affidabilità/reperibilità in modo da selezionare un gruppo standard di componenti cui fare sempre riferimento (io sono un po' incompetente però per dare risposte certe...).
In secondo luogo, potremmo anche pensare a qualcosa tipo gruppi di acquisto e magari proporre a Massimo di renderli disponibili sul marketplace di arduino: una specie di domotica out the box...! :)
Title: Re: Domotica con Arduino
Post by: Nyo on Jul 23, 2010, 11:17 am
domanda a caldo.. domotiGA + arduino è possibile facilmente?
Title: Re: Domotica con Arduino
Post by: pictux on Jul 23, 2010, 11:49 am
ciao, è da tempo che ravano la rete valutando gli OSS per la domotica.
MisterHouse sembrava promettere la gestione di Arduino, ma non ne è venuto fuori nulla.
DomotiGa secondo me ha delle potenzialità: gestione integrata informatica della casa, quindi non solo domotica ma anche sorveglianza, multimedia, gestione della dispensa  :) (davvero!)...
Il che lo rende un progetto completo.
A mio avviso il punto critico principale è l'interfaccia.
Nel senso che è scritta in Visual Basic (con Gambas); questo implica le seguenti cose:
- ha bisogno di un server X per girare;
- una implementazione anche piccola comporta la conoscenza di un linguaggio a mio avviso da evitare (non voglio essere polemico o schizzinoso, ma quando vedo i GOTO mi viene la pelle d'oca...)

Piuttosto ha senso "prendere spunto" per partire con una nuova gui (o meglio wui), più leggera, meno esosa di risorse e più semplice da mantenere / modificare.
Ovvero una classica piattaforma LAMP con largo uso di ajax (in uno dei suoi framework, tipo jquery o dojo o altro).
Sarebbe così possibile mantenere la parte "server" anche su un device a basso consumo e di minimo ingombro, tipo un SheevaPlug o anche un NSLU2.
Poi la gestione la si può fare da qualsiasi device che abbia un web browser : un palmare, un pc tipo eeeTop (monitor da 15 pollici touch screen  ;)), $altro_ancora.

Che dite?

Altra cosa: chiaro che il tipo di implementazione si basa anche sulla scelta del protocollo di comunicazione con Arduino, ancora in discussione...
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Jul 23, 2010, 12:11 pm
DomotiGa o simili sono delle interfacce...qui l'idea di partenza era quella di creare l'hardware che costituisce l'infrastruttura dell'impianto domotico.
Se ci sforziamo di renderlo il più semplice poissibile, poi sarà altrettanto più semplice usare diverse interfacce già pronte.

Mentre per il discorso protocollo direi che in queste ultime due sere ho cercato di decidere cosa avrei scelto e perchè. Il risultato è stato una propensione verso il CAN.
In pratica se ho inquadarato bene il problema l'unica difficoltà sarebbe quella di riuscire a dialogare col chip CAN controller.
Anche se l'RS485 offrirebbe buone prestazioni ci sarebbe molto più da studiarci sotto ed il risultato non supererebbe quello ottenuto col CAN, neanche come costi...il gioco non vale la candela.
Title: Re: Domotica con Arduino
Post by: pictux on Jul 23, 2010, 12:26 pm
Quote
DomotiGa o simili sono delle interfacce...qui l'idea di partenza era quella di creare l'hardware che costituisce l'infrastruttura dell'impianto domotico.
Se ci sforziamo di renderlo il più semplice poissibile, poi sarà altrettanto più semplice usare diverse interfacce già pronte.

...hai ragione, anche se senza interfaccia un'impianto di domotica è bello e utile la metà  :D

Cmq,  concordo: questo thread nasce per definire lo standard HW, ma son certo che ne apriremo un'altro in seguito per l'interfaccia  :P
Title: Re: Domotica con Arduino
Post by: saki_kawa on Jul 23, 2010, 12:26 pm
Come dice giustamente Federico il primo passo è ragionare sull'hardware, fatto quello Arduino si può collegare a tutto quello che si vuole!

In modo che chi voglia un sistema entry level non debba pensare a server o gui complicate (e prezzi esosi), con 5 o 6 Arduino potrebbe gestire la casa.
Per chi volesse un sistema high level potrebbe poi interfacciarsi veramente facilmente con Arduino e la sua porta seriale, quindi no problem, in qualunque momento successivo si può pensare alla gui.

Io in questo momento sono un po' preso (ho troppi progetti in ballo), ma se chi sta sperimentando con i bus postasse qualche considerazione e test come Federico potremmo portarci avanti veramente! 8-)
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Jul 23, 2010, 12:37 pm
Hehe! Concordo che privare un impianto domotico dell'interfaccia grafica spaziale, non ha senso, anche perchè è un benefit che esce quasi gratis!! ;D

Probabilmente nei prossimi giorni cercherò di procurarmi qualche esemplare della più usata accoppiata  MCP2515 e MCP2551, così da seguire il gregge di chi sulla rete ha già sperimentato con Arduino e CAN.

Qualcuno ha dei suggerimenti migliori (anche dall'alto  ;)) o si vuole aggregare?
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 23, 2010, 03:31 pm
io da newbbie poco esperto rappresento un po' la verifica delle argomentazioni: intendo dire, se capisco io e riesco a realizzarlo con le mie manine, magari proponendo migliorie o sperimentando in seguito, allora il risultato è pienamente raggiunto.

credo che gli aspetti:
componentistica + protocolli + SW/GUI siano da amalgamarsi tra loro!

Speigo: se il protocollo è OK ma poi nn so che/dove/quali attuatori acquistare? Se ho i componenti ma poi nn ho l'applicativo di comando?
In effetti, domotica è l'integrazione di questi layer applicati all'edificio.

In questo chiedo pietà: cerco da anni una soluzione su decine di forum ma da nessuna parte esiste una simile soluzione completa, documentata passo passo, open e lowcost.
Non sarebbe male essere i primi...!
Title: Re: Domotica con Arduino
Post by: admin on Jul 23, 2010, 05:30 pm
credo che bisogna passare dal forum al playground ed aprire una sezione nel wiki italiano.

Ho offerto a Federico Vanzati di coordinare un po' il lavoro di definizione della piattaforma e lui ha accettato.

Federico: puoi aprire una pagina sul playground e cominiciare a scrivere cosa abbiamo "scoperto" sui vari livelli?

m
Title: Re: Domotica con Arduino
Post by: michele.massaro on Jul 23, 2010, 08:48 pm
Ottimo le mie scatole di derivazione sono praticamente gia' aperte per buttarci dentro l'arduino .... andiamo al playground ... facio da tester e cerco di capire cosa fate, per il momento le premesse sembrano ottime.
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 23, 2010, 09:50 pm
:) chissà xk ma mi sento felice... :d
Fede, poi posti qui il link al playground, da tenere come riferimento?
Non so se conoscete la catena di elettoronica hobbystica Conrad di Monaco di Baviera: è un specie di GBC che però là ha avuto ben più successo.
Nel corso degli ultimi anni, hanno sviluppato prima un sistema domotico http://www.conrad.de/ce/de/category/SHOP_AREA_17348/C-Control;jsessionid=EFDA44BBEB67481F03492DBA7441E4FF.ASTPCCP1 simile all'X10, ma con il solito protocollo chiuso:

e poi una cosa più professionale ma ancora più macchionsa http://www.conrad.de/ce/de/category/SHOP_AREA_17348/C-Control;jsessionid=EFDA44BBEB67481F03492DBA7441E4FF.ASTPCCP1.

Bisognerebbe fare un "pacchetto" come lo starter arduino di questo tipo ma ovviamente open...!
Title: Re: Domotica con Arduino
Post by: whole on Jul 24, 2010, 02:56 pm
Perdonatemi ho detto che salgo sul carretto ma ho omesso in cosa posso essere utile.
Visto che da poco ho iniziato a giocare con Arduino e con l'elettronica non credo di essere più di un tester per le configurazioni..
L'unica cosa su cui mi sento di poter dare del mio è sulla progettazione di interfacce utente e/o altro che riguardi l'aspetto grafico / usabilità poichè me ne occupo per lavoro.

Spero si inizi presto ad avere qualcosa su cui smanettare.
Ciao
g.
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Jul 24, 2010, 08:54 pm
Visto che per il momento non abbiamo ancora "scoperto" molto, ho creato la pagina sul playground cercando di fare un piccolo riassunto di quanto detto qui sul forum.
L'ho aggiunto alla sezione "Progetti dal Forum Italiano":
http://www.arduino.cc/playground/Italiano/Progettiforum

mentre il link diretto alla pagina è questo:
http://www.arduino.cc/playground/Italiano/Domotica

Sono sicuro che già ci saranno delle correzioni da fare sul contenuto :D...comunque direi che va rimpolpato con qualcosa di interessante perchè per il momento non c'è ancora niente!
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 25, 2010, 11:53 pm
Ciao Federico!
Stavo studiando al volo:
CAN http://it.wikipedia.org/wiki/Controller_Area_Network
MOD http://it.wikipedia.org/wiki/Modbus
RS485 mi pare rientri nel concetto di CAN

Questo è un protocollo open basato su CAN per SoHo e Domotica http://www.can-wiki.info/ e qui http://www.can-wiki.info/. Può servire?

notavo che nel playground c'è già chi ha sviluppato la libreria Arduino per il MODbus: quindi è come se stessimo giocando in casa... MOD sembra anche un attimo più semplice ma limitato :(
Volevo pubblicare qui prossimamente un'elenco di sensori/attuatori e funzioni tipiche per la domotica, tanto per avere un quadro d'insieme e un architettonico (teorico) di verifica...
Title: Re: Domotica con Arduino
Post by: lucariello on Jul 26, 2010, 10:39 am
Salve Gente,
avevo già postato qualcosa su ArsDomotica arsdomotica.ning.com/forum/topics/software-1?commentId=2692681:Comment:2300&xg_source=msg_com_forum
Mi sembra che, dato anche l'entusiasmo di molti, ci sia un gran casino riguardo l'argomento.  ;D

Data l'importanza e la vastità dell'argomento, servirebbe un forum dedicato.

Cmq cerco subito di essere attivo e produttivo favcendovi notare alcune cose:

- Bisogna stare attenti a cose come licenze e royalty su protocolli e  software che si vanno ad utilizzare.
 (CanBus e le sue varianti, per quanto alcune siano aperte, non mi sembrano libere)
- Non sarebbe meglio estendere il progetto alla "building automation"?
- Penserei a qualcosa di riproducibile industrialmente (già usare un protocollo prorpietario non lo permetterebbe)
 Un po' come per Arduino, che  c'è chi ce lo vende già bello e pronto.
- La cosa migliore sarebbe affiancarsi ad uno standard già esistente per l'home/building automation
  e l'unico che mi sembra sia l'ibero da implementare è l'EIB ma non ho trovato alcuna documentazione
  sul layer fisico ed il protocollo

...insomma realizzare qualcosa di più generico e lungimirante possibile.

Ho cercato molto in rete riguardo a protocolli e bus
googlando con qualcosa del tipo "free multimaster rs485 protocoll"
sono venuto a conoscenza di questo progetto: ulan.sourceforge.net
Che ne pensate?

Si può mettere una seconda seriale su Arduino?
si potrebbe pensare ad un progetto multi-standard e multi-protocollo

Mettiamo che come bus e standard principale per il progetto si scelga u-lan con rs485,
con una seconda seriale arduino potrebbe fare da gateway verso dispositivi già esistenti
su standard modbus, x10 o quant'altro ad un costo veramente irrisorio accontentando tutti
e permettendo di sfruttare la vastità di moduli esistenti per questi bus.


Title: Re: Domotica con Arduino
Post by: stewe on Jul 26, 2010, 11:53 am
Ciao a tutti!
Sono nuovo del mondo Arduino.
Fino ad oggi ho giocato parecchio con i PIC, sviluppando progetti anche mediamente complessi.
L'idea di creare una piccola rete domestica nella nuova casa di campagna mi attira parecchio.
Ho in mente di gestire l'irrigazione e le luci esterne.

Sono davvero interessato a questa discussione: è bellissimo e di vero aiuto essere in compagnia quando si hanno in cantiere progetti di una certa importanza.

PS: io appoggio l'idea dell'RS485 con protocollo inventato da noi.  ;)

CIAO e complimentoni a Massimo per Arduino!!!
Title: Re: Domotica con Arduino
Post by: lucariello on Jul 26, 2010, 05:08 pm
...ho trovato un protocollo di libera implementazione basato su canbus:
http://www.vscp.org/wiki/doku.php/vscp/00_vscp_intro
Title: Re: Domotica con Arduino
Post by: saki_kawa on Jul 26, 2010, 06:04 pm
Cavolo Luke vai a mille! In due post hai dato dei link utilissimi e sopratutto degli ottimi spunti su cui lavorare!! ;)
Quella dei Can bus non totalmente open non la sapevo.. ma l'ultimo che hai linkato sembra buono! Da valutare bene!
Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 27, 2010, 11:23 am
Un pò di info per capire a grandi linee il protocollo eib: http://www.jaec.info/Home%20Automation/Protocols-buses-house/Eib-Protocol/eib-protocol.php

http://www.eiba.ru/download/eib02_system.pdf
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 28, 2010, 11:33 am
e sempre dallo stesso link:
http://www.jaec.info/Home%20Automation/Protocols-buses-house/Protocols-Buses-House/protocols-buses-house.php

nelle conclusioni contiene, a mio parere, spunti condivisibili;
tra l'altro parla del BACnet dicendo che sia il protocollo più avanzato e open che ci sia... ma quanti ne esistono...!!  :o :-?
(tutorial BACnet: http://www.bacnet.org/Tutorial/HMN-Overview/sld001.htm)
Title: Re: Domotica con Arduino
Post by: astroz78 on Jul 28, 2010, 03:05 pm
Signori buongiorno, mi scuso intanto se tratto o parlo di cose già trattate, ma il mio tempo è assolutamente ridottissimo e non ho avuto tempo di leggere a fondo le 6 pagine precedenti.

Non l'avevo ancora descritto nel dettaglio, ma in passato aprii un topic per parlare del mio progetto di domotica.

In realtà il progetto è ancora in corso di realizzazione anche se già "pseudo-funziona"...ve lo descrivo.

Ho una villa nella periferia di Roma, molto grande (2 saloni, 2 cucine, 3 bagni, 4 camere, giardino). L'impianto è architettato in questo modo:

- 5 nodi funzionali (Arduino 2009)
- comunicazione tra i nodi via Ethernet Shield (tutti i nodi sono nella mia rete LAN)
- ognuno di questi 5 nodi è collegato con altrettante schede (autocostruite) con installati sopra 2 shift-register (74hc595) ognuna
- le schede shift-register sono collegate a dei relè che agiscono sull'impianto ad alta tensione
- nodo Arduino Mega per la gestione della centrale d'allarme che riceve in Input circa 35 sensori (tra PIR e magnetici) in giro per casa e si collega in Output con combinatore Lince e sirene da esterni Lince/Elkron

Calcolate che ho installato finora (e un nodo non l'ho ancora messo in piedi) 130 Relè e ho circa altrettanti pulsanti...per ora i pulsanti (serie civile bTicino Axolute) sono collegati (non tutti perchè non mi bastano gli input di Arduino) direttamente ai pin di Arduino, l'idea (quando avrò tempo) è di realizzare delle schede Shift-Register di Input per moltiplicare sostanzialmente gli indressi di Arduino 2009.

Il progetto lo stò mettendo in piedi da agosto scorso con un mio amico, a poco più che tempo perso, e a livello software abbiamo realizzato:

- protocollo di comunicazione
- sketch di gestione dei nodi PLC: scansiona i pulsanti e la rete Ethernet, al verificarsi della presenza di un evento su una porta di Input o di un comando pervenuto dalla LAN, esegue il comando (Es. cambia lo stato di OUtput di una porta). La configurazione della scheda di rete (IP, MAC Address) e l'azione collegata ad ognuna delle porte di Input è salvata nella EEPROM
- applicativo client su Windows (C# x framework .net) per l'invio della configurazione sui vari nodi
- web app (stupidissima) in PHP per l'invio dei comandi ai singoli nodi (accendi/spegni luce) tramite pagina Web, pagina esposta sulla WAN tramite serverino Apache.

Ecco...è un sistema piuttosto mastodontico, visto che gestisce di fatto:
- tutte le luci di casa
- la caldaia ed in futuro i climatizzatori
- l'irrigazione del prato
- l'apertura e la chiusura delle finestre (lucernari) a tetto motorizzate
- antifurto

Dunque, così tanto per dire, mi ritrovo di fronte ai seguenti problemi...ve li elenco non tanto per avere un vostro aiuto comunque assolutamente più che gradito, ma per mettervi di fronte alla mia esperienza.

- libreria Eternet: apertura/chiusura socket in continuazione provoca a volte e non ho capito ancora a quali condizioni il blocco della comunicazione...praticamente non c'è più connettività da e per arduino
- Ethernet Shield: se usate la ethernet shield così come vi arriva, sappiate che all'alimentazione dell'Arduino non tramite USB, ma tramite alimentazione diretta, l'Ethernet Shield non và in UpLink (sostanzialmente è come se non si connettesse allo Switch) finchè non si resetta il nodo...sostanzialmente se salta il contatore o "và via la luce", al suo ritorno tocca resettare manualmente tutti i nodi
- non esiste un sistema (quantomeno semplice...qualcosa ho letto ma devo approfondire) per gestire un WatchDog Timer...sostanzialmente se qualcosa và in palla non è facile gestire un "auto-reset"
- alimentatelo a 7/8volt l'arduino o và in fiamme (io ora l'alimento a 13,8volt...dovrò implementare uno stabilizzatore)
- la RAM è veramente poca se si vuole gestire una configurazione dinamica e la EEPROM (che cmq ha cicli di scrittura limitati) è lenta

Sicuramente mi scordo di qualcosa...ora ho scritto così di getto. Metto a disposizione la mia esperienza per discutere con voi, sarebbe bello se succedesse lo stesso con me! :) :) :) :) :)

Ciaooooooooooooooooo
Dario

P.S: Ah...sono di Roma.
Title: Re: Domotica con Arduino
Post by: Nyo on Jul 28, 2010, 03:25 pm
Ottime informazioni!
(Peccato che io non sappia fare niente di tutto questo) però di sicuro saranno utili..
Title: Re: Domotica con Arduino
Post by: lucariello on Jul 28, 2010, 05:51 pm
Complimenti astroz, hai messo in piedi un bel sistema.
Purtroppo non ho esperienza con ethernet shield altrimenti ti avrei aiutato volentieri.

Riguardo la domotica con arduino quello che si vede in giro (anche su forum di alti paesi) e su cui forse non si ci allinea
è che la maggior parte delle persone vede la cosa come per un uso strettamente personale.
Spesso si vede il caso della persona che non vuole smembrare casa e usa X10, altri preferiscono sistemi diversi su powerline,
oppure qualcun'altro si diverte con i moduli xbee, nel tuo caso l'ethernet ecc..
Manca un sistema che sia veramente "Libero" ...free as in freedom per dirla alla Stalman.
Un sistema libero dovrebbe essere nel modo migliore accessibile a tutti, perché chi non ha le competenze specifiche
per poterlo usare e meno libero di chi le ha. Quindi più semplice = più libero perchè di più facile comprensione.
Anche l'accessibilità economica può essere una discriminante per la libertà; più è caro meno è libero (al contrario del software,
in cui l'impatto economico può essere forse limitato solo dalla potenza di calcolo necessaria,con l'hardware si può creare
facilmente questo problema).

Idealmente l'ethernet è una soluzione brillante ma l'impatto economico dell'impianto e i costi dei singoli moduli
lo rendono meno fattibile. ...per non parlare poi della fragilità del sistema (se si rompe uno switch non accendo più la luce?)

Nelle pagine precedenti ho letto l'intervento di un architetto (stefano72) che poneva il punto sulla semplicità.
E' importantissimo che l'impiantista possa realizzare un sistema domotico senza essere un tecnico iper specializzato.
Io penso che con un pò d'impegno si può realizzare qualcosa di più semplice di quello che offre oggi il mercato.
Visto che mi trovo, riguardo sempre l'intervento di Stefano, volevo dibattere sull'eventualità di integrare audio e video nel sistema.

Penso che la cosa sia per ora troppo complessa ma bisognerebbe già prevedere una possibile espansione in tal senso.
(affiancando l'ethernet al sistema ad esempio, ma senza renderlo necessario per il funzionamento del resto dell'impianto)
Per la cosa potrebbero venirci in aiuto altri progetti open come beagleboard o foxboard.


Passiamo alla parte un po più tecnica:
Le mie ricerche proseguono, sto studiando un po' il vscp su can e mi sembra molto allettante. Il protocollo è libero, anche
se il software è semilibero (ci sono restrizioni per l'uso commerciale) pensate possa essere un problema?

Per quanto riquarda EIB documenti sull'architettura non mancano, il problema è che non riesco a capire se veramente
sia così aperto come viene spacciato o ci sono restrizioni.
La cosa simpatica dell'eib è che mi pare possa trasportare anche l'audio ed in più c'è un solo doppino per l'alimentazione e
e i dati.
Il GROSSISSIMO problema è che per quanto stia sbattendo la testa sul monitor,  non riesco a trovare nessuna informazione
riguardo al layer fisico e di protocollo. Come funziona elettricamente sto maledetto standard? ci sono componenti che mi permettono
collegarmi sul suo bus direttamente? ...alla fine ho mollato anche perché forse è meglio capire prima come stiamo messi a livello di royalty.

Un altro standard che mi sono guardato un pò è lonworks di Echelon
La politica è un pò più aperta, non bisogna affiliarsi allo standard, come succede per molti altri,
ma si posso anche usare comonenti già "licenziati" per lo standard e che permettono di realizzare dei moduli a
proprio piacimento per qualsiasi uso. http://www.stocktwentytwo.com/product_detail.php?pid=521
Simpatica come soluzione ma nel nostro caso ci vincolerebbe alla Echelon.

Alla fine, un pò demoralizzato, ho cercato di fare una ricerca "al contrario"
ho cercato sul mercato la componentistica per collegarmi su un qualche bus per
vedere cosa ci fosse di facile reperibilità.
ho visto per esempio su rs-online http://it.rs-online.com/web/search/searchBrowseAction.html?method=browseSuperSection&N=4294593588#Interfacce
sembra che rs-485 e CAN siano gli unici di cui si trova facilmente qualcosa.

Personalmente sono sempre più propenso per CAN, quindi VSCP
E' uno standard più recente ed ha la gestione delle collisioni in hardware (per dirne solo alcune)

Scusate la lunghezza del messaggio.
A presto.

Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 28, 2010, 06:50 pm
Ciao Luke!
onorato per essere stato citato! :d
al solito, da profano, rimbalzo sempre tra i soliti problemi per cui non trovo soluzioni.
- Lo standard EIB non mi convince e non è - purtroppo - affatto del tutto libero;
- senza presunzione, ma della società Echelon non mi fiderei; tra l'altro, per quello che ne sapevo, è quella che produce l'elettronica montata sugli attuali contatori italiani; Echelon è partecipata a sua volta da aziende italiane...

- Purtroppo audio/video e semplicità (ed economia) cozzano tra di loro e in anni non ho trovato alcuna soluzione...

- ma l'X10 è così terribile? e perchè?
Al di là delle applicazioni A/V sarebbe un sistema semplice e (quasi) economico: Arduino farebbe bridging con il PC e comanda l'automazione... Poi, sono sempre dell'idea che Arduino riceva i comandi manuali attraverso RF/WIFI (e quindi qualsiasi protocollo)
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Jul 28, 2010, 07:39 pm
Bene bene...direi che l'interesse continua a rimanere vivo!

Colgo l'occasione per ripetere che la sezione di domotica sul Playground l'ho creata apposta per riassumere tutto il dialogo e il lavoro che si svolge   qui sul forum attorno a questo argomento...così chi è arrivato dopo non deve per forza leggersi tutto!
Chiunque iscritto al playground è praticamente libero di fare aggiunte/modifiche.

Mentre rispetto alle ultime cose lette condivido ciò che ha scritto LukeSkyChopper, l'intento è proprio quello di creare un sistema modulare in grado di soddisfare tutte (o quasi) le esigenze.
Lo scoglio più grosso è proprio quello di scegliere un protocollo di comunicazione pratico, versatile, affidabile e pure open source. Aggiungerei anche costo zero!

In questi ultimi giorni non ho potuto cimentarmi sull'argomento, però per quel che sono riuscito a fare direi che sul CAN fortunatamente si riesce a trovare anche materiale pratico, mentre per tutto il resto le informazioni sono un po' più generiche.
E' interessante da leggere il sito trovato su vscp!

Modbus RTU è un bel protocollino apparentemente semplice e ben studiato su RS485 ed è uno standard industriale.

...che dire la mia indecisione, dovuta a scarsa esperienza rimane!
Title: Re: Domotica con Arduino
Post by: pictux on Jul 28, 2010, 10:48 pm
[OT mode ON]
@astroz78
Quote
- libreria Eternet: apertura/chiusura socket in continuazione provoca a volte e non ho capito ancora a quali condizioni il blocco della comunicazione...praticamente non c'è più connettività da e per arduino- Ethernet Shield: se usate la ethernet shield così come vi arriva, sappiate che all'alimentazione dell'Arduino non tramite USB, ma tramite alimentazione diretta, l'Ethernet Shield non và in UpLink (sostanzialmente è come se non si connettesse allo Switch) finchè non si resetta il nodo...sostanzialmente se salta il contatore o "và via la luce", al suo ritorno tocca resettare manualmente tutti i nodi- non esiste un sistema (quantomeno semplice...qualcosa ho letto ma devo approfondire) per gestire un WatchDog Timer...sostanzialmente se qualcosa và in palla non è facile gestire un "auto-reset"


i problemi riscontrati sulla Eth. Shield sono comuni. Nel forum in lingua inglese se ne è parlato molto, e vengono proposte delle soluzioni, che io stesso adotto per assicurarmi che lo shield funzioni.
Per quel che riguarda  il problema del reset iniziale (e nel caso di blocco in genere), risolvi pilotando il reset della Eth. Shield con un pin, e quindi direttamente da sketch.

Per quel che riguarda il blocco della comunicazione, devi prevedere nello sketch delle routine che, in assenza di determinate caratteristiche, resettano lo shield sfruttando il workaround di cui sopra.
[OT mode OFF]
Title: Re: Domotica con Arduino
Post by: dancelover on Jul 29, 2010, 12:10 am
Salve, appena iscritto cerco di dare una mano...
scusate il doppio post ma non riuscivo a inserire link
Title: Re: Domotica con Arduino
Post by: dancelover on Jul 29, 2010, 12:10 am
Eccovi il mio concept:

a) 1 Arduino per stanza con interruttori, pulsanti, sensori di movimento, sensori di temperatura come ingressi (analogici o digitali) e un adeguato numero di relè come uscite

b) Comunicazione tra gli Arduino utilizzando lo standard RS485 (molto economico ) con 1 Master che gestisce il tutto e gli slave come componenti passivi (in configurazione multimaster, gestire le collisioni dei messeggi risulta molto difficile)

c) Protocollo di trasferimento: HDLC personalizzato in questo modo:
[/td][/td]
012345678910
FLAGADDRESSControl field|DATA[td][td]|Checksum|FLAG
ENQ,ACK,NACKActionPinPin number|Value|
0x010x01-0x??0x05,0x06,0x15ASCII(R/W)ASCII(A/D)0x??0x??0x??somma valori0x04


Semplificando arduino slave riceve un comando del tipo
W D 13 1 (scrivi, pin digitale, 13, HIGH)
R D 10 ? ((leggi, pin digitale, 10, valore che restituisce nell'ACK)
R A 3 ? (leggi, pin analogico, 3, valore che restituisce nell'ACK (2 byte essendo compreso fra 0 e 1023))
W A 3 255 (scrivi, pin PWM, 3, 255)

d)Livello di trasporto protocollo: reliable data transfer (RDT) 3.0 (poco efficiente ma efficace e di media difficoltà nell'implementazione)
http://www.cs.st-andrews.ac.uk/~tristan/teaching/cs78_spring05/slides/transport-layer.pdf pagina 28

e)L'Arduino Master si occupa di gestire la logica del sistema quindi potenzialmente può essere collegato con altri dispositivi per il controllo (tramite seriale al pc, o bluetooth al cellulare o ad un modem GSM)

f)Gli Arduini Slave sono composti essenzialmente da una scheda Arduino 2009 e uno shield con relè, pin per i pulsanti, il chip SN75176/MAX 485 (il primo costa meno di 1?) e doppio connettore RJ45 (quello del telefono per intenderci)

g)Il bus di comunicazione è composto da 4 fili: Così abbiamo alimentazione e segnale tutto sul "doppino" telefonico

Molti spunti li ho presi da http://real2electronics.blogspot.com/2009/09/arduino-and-rs485-english-version.html ....

a mio parere la parte più difficile è scrivere il codice per gestire l'RDT e ovviamente il master che essendo il cervello di tutto è decisamente spesso da programmare; lo slave tutto sommato è semplice essendo un componente "passivo"

feedback e suggerimenti sono sempre ben accetti  ;)
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 29, 2010, 10:19 am
Ciao a tutti!
scusate se insisto o mi esprimo primitivamente:
- comandi e per quanto possibile attuazioni le trasmetterei via onde radio (è tecnicamente possibile e/o troppo costoso?): in questo modo non c'è nè il bus fisico che pone eventuali limitazioni, nè limita i pin di arduino (in questo modo posso avere più funzioni con meno arduini per casa ovvero con un arduino in conf slave servire almeno due locali); riduce i fili del bus fisico con risparmio di cavi, cablaggi etc.**
Altri vantaggi:
- prendo arduino, gli monto il chip RF, lavoro in sicurezza anche come hobbista inesperto (nessun collegamento in alta tensione);
- posso assemblare gli attuatori per la powerline e montarli come l'X10 oppure chiamare l'elettricista e farli montare (e l'elettricista non mi impazzisce);
- per sonde e sensori, non è necessario avere fili di bus ovunque ma posso così posizionarli dove è più conveniente, modificare all'ultimo minuto, anche in base alle esigenze mutate (esempio: cambio di casa in affitto)

- magari troppo complesso: arduino rileva comandi utente attraverso wifi (penso a un app su android oppure qui: http://real2electronics.blogspot.com/2009/12/linkduino-web-server.html), telecomando rf universale (utile per disabili, riduzione costi degli interruttori con annessi e connessi, semplificazione impianto)
- c'è poi eventualmente un modo per arduino di comunicare fisicamente sulla powerline? in questo modo, dove non servisse, si possono leggere/scrivere sensori/attuatori/comandi ove RF non fosse il caso.
Esempio: porto line di potenza in prossimità di finestre: che poi la usi per tapparelle, apertura anta, riavvolgimento tende interne/esterne, recuperatore calore o termovalvola, lo posso decidere anche dopo semplicemente montando il chip attuatore (e relativo motore) in seguito, con ulteriori economie in caso di ristrutturazione/upgrade, con estrema flessibilità, affidabilità e riduzione dei costi iniziali d'investimento.

Powerline ed RF usano lo stesso protocollo prescelto per omogeneità e semplicità di funzionamento...

Che ne dite?

** porto quest'esempio tra tanti: http://www.conrad.de/ce/de/product/560068/FUNKGESTEUERTES-HEIZUNGSTHERMOSTAT-SET/0812040;jsessionid=C0EB0060A011378BD89A5A9C0F9434CD.ASTPCCP2: sensori e motori attuazione (alimentati 2xAAA 1,5V) per valvole dei termosifoni, con sensore apertura finestra (forte variazione temperatura entro 3 minuti), trasmettono alla centralina via onde radio.
Si capiscono i vantaggi; svantaggio: sistema chiuso e banale che si riduce a acquistare una grande ridondanza di apparecchi costosucci x 1 appartamento; ed ecco xk cerco soluzione open con Arduino...
Title: Re: Domotica con Arduino
Post by: lucariello on Jul 29, 2010, 06:11 pm
C'è qualcuno che mastica bene lo spagnolo??

http://www.arcan.es/ ...si commenta da solo!!!  ;D

L'ultima versione dello shield aggiunge anche l'rs485!!!



Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 30, 2010, 01:58 am
Appena ho 1 attimo di tempo, vedo di tradurlo. Servono passaggi in particolare?
Ma la traduzione di google nn funzia?
Title: Re: Domotica con Arduino
Post by: astroz78 on Jul 30, 2010, 10:59 am
Ho letto i vostri reply, ma chiedo scusa se li ho letti con estrema "fretta" e quindi magari non ho analizzato a fondo i vostri pensieri, ma sono nel panico + assoluto a lavoro, a casa ho le luci che s'accendono e si spengono come gli pare...quindi stò full immersion! :)

Dunque, solo una cosa riguardo il bus che ho scelto e, cioè, l'ethernet!

La mia scelta è ricaduta su questo bus in quanto sta di fatto diventando lo standard per veicolare qualsiasi informazione:
- VoIP
- IPTV
- dovrebbe diventare anche il bus standard che rimpiazzerà l'HDMI per la connessione tra dispositivi audio/video e TV HD (ora non ricordo il nome ma avevo letto un articolo)

Il problema "switch KO => impianto fermo" mi sembra un falso problema...anche se si brucia una "centralina" dell'impianto domotico l'impianto è fermo...io in 10 anni (a casa di mamma) non ho mai avuto uno e dico un KO da uno switch...e poi lo switch oggi come oggi costa 15 Euro...male che và se ne tiene uno di scorta e la sostituzione richiede 3 minuti ed è fattibile anche da una "nonna".

A mio avviso, oggi, le case moderne devono comunque essere tutte cablate ethernet per TV, dispositivi vari, access point, PC, etc. ...considerata poi la mole di dati riguardo la domotica (assolutamente irrisoria) e il fatto che oggi oramai le reti si fanno GigaBit, mi sembra un bus più che affidabile, testato e che già risolve tutta una serie di problematiche (es. collisioni, disturbi sui cavi, etc.etc.).

Il problema mio è che l'interfaccia Ethernet di Arduino (non sò se è un problema dello shield o della libreria Ethernet.h di interfaccia) fà cagare!!!

Per chi ha ipotizzato di usare segnali radio, beh...perdonami, ok il discorso di non dover "scassare" casa, ma mi pare una cazzata...tutto ciò che è legato a segnali radio mi ha sempre dato la certezza d'essere un qualcosa di "instabile"...il wifi, i cordless, gli apricancelli, i cellulari, il trasmettitore della oregon scientific del sensore temperatura esterna, vado avanti? Anche perchè rischi di mettere in piedi un sistema che si parla "radio" e funziona, poi interviene un fattore esterno (es. un vicino con un ripetitore di sky) e ti sputtana tutto xkè magari trasmette sulle stesse frequenze o qualche armonica disturba i tuoi segnali...assolutamente no! Tanto per farti capire la mia filosofia: ho + scassato casa x arrivare alle finestre con i cavi x i sensori dell'allarme (e avrei potuto usare sistemi wireless) che x la domotica!

Ah...altra cosa, riguardo la mia esperienza con Ethernet: quando il sistema funziona (spero di riuscire a stabilizzarlo a breve se no sò guai...) la comunicazione tra un nodo e l'altro della mia domotica è praticamente immediata. Esempio: ho il pulsante della luce del salone elettricamente connesso al nodo "2", ma la lampadina che deve comandare è elettricamente connessa al nodo "1". Quindi il nodo "2" che è in polling sulle porte di input, quando rileva la pressione del pulsante, legge in configurazione "cosa deve fare", impacchetta il comando (che non è di sua competenza) e lo manda al nodo "1" che lo riceve, lo interpreta e, visto che è di sua competenza lo esegue.
Ecco non faccio in tempo a rilasciare il muscolo che ha premuto il pulsante (quindi nemmeno a iniziare a togliere il dito) che la luce è già accesa...passeranno che sò 50 millis e mi tengo largo.

Mano mano che mi vengono cose da dirvi ve le dico, ripeto mi dispiace e mi scuso se non riesco a seguire la conversazione più attivamente, ma sono veramente inguaiato! :)

Ciaoooooooo
Title: Re: Domotica con Arduino
Post by: admin on Jul 30, 2010, 11:07 am
Ciao

cosa intendi per "fa cagare"? complimenti per l'approfondita e dettagliata analisi :)

Comunque l'idea era quella di fare un protocollo light con oggetti semplici e a basso costo basati su arduino cosi ognuno ha poi la possibilità di capire cosa succede nei vari nodi.

Ethernet non è veramente economico e il cablaggio è forse un po troppo macchinoso per un piccolo appartamento.

Mi rendo conto come sia difficile per le persone pensare semplice...

m
Title: Re: Domotica con Arduino
Post by: ArdLuka on Jul 30, 2010, 11:34 am
Massimo ma riusciamo ad usare un arduino per casa e non un arduino per stanza?
Title: Re: Domotica con Arduino
Post by: astroz78 on Jul 30, 2010, 11:36 am
Mah...quando dico che la gestione "Ethernet" di Arduino "fà cagare" (mi avrete senz'altro perdonato il francesismo) intendo dire che è instabile e inaffidabile! Dovrò approfondire un po' la questione, ma per l'esperienza maturata finora quello è l'aggettivo meno cattivo che mi viene in mente... :) :) :)

Daccordo con il protocollo light e gli oggetti a basso costo...è la stessa idea che è alla base del mio progetto, però la considerazione è:
- il cablaggio ethernet non è vero che è così costoso (300 mt di cavo rigido costa 30 ?)
- gli apparati concentratori ethernet (switch) costano due soldi (con 10 ? ti porti a casa uno splendido switch 10/100 8 porte...ci aggiungi 10 ? e ti prendi un Gigabit)
- il cablaggio ethernet l'avrei comunque fatto (e dovrebbero farlo tutti) per condividere i contenuti in rete, per il dreambox, x collegare i PC (vedi post precedente odio il wifi in quanto comunicazione radio), x i telefoni VoIP, insomma per tutto e in futuro vedrete quante altre cose saranno veicolate ethernet (tra un po' anche la piantana dell'ikea avrà la presa ethernet)
- arduino + ethernet shield costano in tot 60 ? ...considerati almeno i 30 ? di arduino 2009, uno shield rs485 o per qualsiasi altro protocollo, tra l'altro sviluppato "ad-hoc" (ethernet shield è prodotto in serie) vi sfido a farlo costare meno di 30 ?
- i vari sistemi che prevedono un dispositivo "master" non mi piacciono: nella mia domotica ci sono 5 nodi che fanno tanto da server (ricevono i comandi) quanto da client (mandano comandi)...e quindi dialogano tra di loro. Se si pianta un nodo, si isola quella parte di impianto, il resto rimane operativo. In un sistema che prevede un "orchestratore" (master) se esso si pianta o si guasta addio alla funzionalità di tutto il sistema!
- io in casa (e non è piccola...160mq) ho 28 prese di rete a parete più le prese di rete per i nodi "domotici"...ho speso a occhio...150 ? per 5 patch panel (avrei potuto risparmiarmeli, ma mi piaceva il cablaggio "fatto bene") 30 ? per il cavo da intubare, 150 ? per 5 switch (io perchè sono megalomane e ho messo tutte quelle prese e ho voluto necessariamente ogni presa Gigabit, ma se vedessi solo l'aspetto della "domotica" avrei speso 10 ? per un solo switch), avrò speso 20/30 ? per un po' di cavettini patch cord da 30/40 cm, poi che altro? Boh!!! Mi pare basta...come "economia" ci siamo
- inoltre il sistema ethernet oggi può essere veicolato (qualora non si arrivi con il cavo o non si voglia sfasciare troppo casa) con i sistemi wireless (2 access point che fanno da bridge tra rete cablata e rete wireless costeranno 50/60 euro e non sono da "progettare" sono già fatti) e con i sistemi powerline (se non si cercano i 200 mbps su rete elettrica e ci si accontenta degli 85mbps con una 50/60 euro raggiungi ogni "luogo e ogni lago")
- e poi ripeto, l'interfaccia ethernet è in fortissima ascesa...io mi sento di investirci sopra! Ripeto senza aver considerato e fatto opportuni test sul sistema "ethernet" di arduino che è decisamente debole!

Oh...poi magari parlo così e ho fatto io qualche puttanata ed è x questa puttanata che il sistema è instabile.

Ve ne dico pure un'altra già che ci stò, però è fresca fresca non ho molti elementi da dare.

Per comandare i relè ho costruito delle semplici schede shift register con 2 x 74hc595 in cascata e, quindi, la comunicazione tra la catena Shift-Register e Arduino è basata su 3 fili (Clock, Data, Latch). Sotto gli S-R ho messo degli ULN2803A per avere un po' di corrente per pilotare le bobine dei relè.

Questa scheda (2x74hc595 + 2xuln2803) è una scheda a parte che connetto ad arduino con un cavo piatto (2x5 fili).

Ecco il sistema ha sempre funzionato, della serie che anche prima (quando non avevo ancora connesso fisicamente i pulsanti al sistema) quando potevo inviare comandi solo da remoto tramite ethernet (nel mio caso tramite pagina su web server php) non ha mai mancato un colpo: l'uscita delle varie porte sullo S-R rifletteva sempre esattamente lo stream di bit che gli inviavo dall'arduino.

Da quando ho fisicamente collegato i pulsanti al sistema, ora è impazzito e succede che premo un pulsante, l'arduino modifica lo stream di bit da inviare allo S-R e glielo manda. Ecco in questa fase il sistema si disallinea (es. mando 10000101 e in output S-R mi ritrovo 11000101...o qualsiasi altra combinazione). Faccio presente che i pulsanti sono cablati con cavo allarme (sezione 2x0.5mm + 4x0.22mm con comune a massa dell'arduino) e che oggi sono collegati direttamente ai pin dell'arduino senza passare per alcuna scheda di "interfaccia" ne' di demultiplexing.

Immagino si tratti di una qualche problematica legata a disturbi e segnali spurii che viaggiano sui cavi...d'altra parte il sistema a bassa tensione spesso viaggia insieme (negli stessi tubi) del cablaggio AT. Quindi in campana anche a queste problematiche...vi terrò aggiornati su come procedo (intanto voglio collegare le calze della schermatura dei cavi a terra).
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 30, 2010, 11:50 am
Ciao Astroz!
Interessantissimo il tuo sistema.
Condivido appieno la scelta di Ethernet per A/V,poichè è (credo) l'unico modo x uscire dall'impasse dei trasporto di multimedia.
Ritengo che come backbone sia una via percorribile e ne hai dimostrato l'economicità.
Io mi trovo molto bene anche con i sistemi radio e credo sia interessante e pure opportuno in certi casi, che si possa pensare un bridge anche per l'RF.
Penso anche al concetto di eliminare il master: rende più affidabile il sistema e penso anche io che di serie vada tenuto un arduino piuttosto che uno switch di scorta... (lo si fa anche con le piastrelle...)
Quando avrai più tempo, potresti cortesemente scrivere un tutorialino passo passo per autocostruirsi un sistema come il tuo? Per quelli come me che nn sanno neppure dove ordinare i pezzi e installare il software...? :d
Grazie!
Title: Re: Domotica con Arduino
Post by: pictux on Jul 30, 2010, 11:58 am
@atroz78
Quote
...quando dico che la gestione "Ethernet" di Arduino "fà cagare" (mi avrete senz'altro perdonato il francesismo) intendo dire che è instabile e inaffidabile!

sul fatto che è inaffidabile out of the box sono d'accordo, e se fai un giro anche nei forum di altre lingue i pareri sono gli stessi.
Principalmente: se si alimenta da rete (e non da USB), senza un reset non funziona; dopo un tempo indefinito (può trattarsi di ore o di giorni) si "pianta".

Come ti ho detto qualche post fa, però, sono problematiche che hanno workaround - possiamo aprire un thread apposito, se vuoi.
Ho installazioni con ethernet shield che funzionano da mesi, nonostante il caldo, qualche mancanza di corrente, e uso intensivo. Tutto senza dover andare fisicamente neppure a guardarla.

Riguardo al concept (domotica con Ethernet shield), mi trovo in linea con te.
Esiste già un protocollo collaudato (tcp/ip o udp), cavi, prese switch son cose facilmente reperibili e a basso costo, si integra nativamente con la rete domestica, etc etc.

Ma considerare qualche protocollo diverso (che sia CanBus/DMX/altro) con le opportune valutazioni,  può anche portare a qualche alternativa valida... :)

ciao
m

Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Jul 30, 2010, 12:21 pm
@astroz78: ma hai integrato anche il sistema di antifurto/allarmi su ethernet? Immagino che per un antifurto fatto come si deve i sensori debbano essere interrogati ad intervalli molto piccoli e regolari...come fai a garantire tutta la regolarità necessaria se stai usando un TCP o un UDP?

Probabilmente la ethernet è talmente sovradimensionata che regge bene il carico di tutte le comunicazioni però potrebbe anche succedere qualche ritardo inaspettato.
Title: Re: Domotica con Arduino
Post by: astroz78 on Jul 30, 2010, 12:24 pm
Assolutamente sì...tra l'altro, date le difficoltà che sto incontrando, l'idea di cambiare bus fisico mi è balenata per la mente...peccato che oramai è tardi!

Sui work-around sì avevo sentito che ci sono anche se non ancora ho approfondito la cosa...anche xkè se così non fosse dovrei abbandonare il progetto! Quindi ancora ci credo di riuscire a "stabilizzare" la cosa.

Quando avrò tempo sì, vi farò avere qualche info sul mio progetto, anche se, almeno per oggi, è ancora "incompleto" e estremamente "acerbo"...

...ah...io il protocollo me lo sono inventato...non ho seguito nessuno standard...non ho messo CRC e byte di prefiso con "data length" etc...
1) sull'affidabilità dei dati mi affido ai controlli che implicitamente prevede il bus Ethernet...sostanzialmente se riesco a scaricare un dato (client.read) quello è...
2) non prevedo un data lenght in quanto il comando che trasmetto è terminato con un byte che fà da tappo (ovviamente ho dovuto gestire l'escape qualora la maschera di bit che è il "tappo" sia un dato che dovevo trasmettere
Title: Re: Domotica con Arduino
Post by: astroz78 on Jul 30, 2010, 12:31 pm
@Federico Vanzati:

No, tutti i sensori dell'allarme pervengono tutti direttamente all'Arduino MEGA che li "polla" e gestisce direttamente le uscite di allarme...quindi si potrebbe dire che l'allarme è stand-alone...e realmente oggi è stand-alone, tant'è che non ha ancora l'interfaccia ethernet collegata. Quando avrò tempo porterò avanti il progetto...ma con mooooooolta calma!!! :)

L'Arduino MEGA che fà da "core" per il sistema d'allarme sarà sempre stand-alone in quanto volevo affidabilità...l'allarme è in esercizio da 6 mesi e mai un fault.

A questo Arduino MEGA vorrei collegare serialmente un Arduino 2009 con interfaccia ethernet...e servirà solo per poter mandare comandi all'allarme da remoto e/o per interrogare lo stato di alcune porte all'occorrenza, quindi fungerebbe solo da interfaccia con l'esterno, mantenendo integro il funzionamento del cuore del sistema.

Tramite ethernet => arduino 2009 => arduino mega manderò i comandi remoti (es. dal web e quindi da dovunque) per attivare/disattivare l'impianto, per verificarne lo stato, la presenza di allarmi, per leggere quali porte sono aperte e quali chiuse (nemmeno un sensore in casa mia è in serie ad un altro...ognuno singolarmente arriva all'arduino).

Queste informazioni mi serviranno anche per alcune funzionalità estese, es:
1) con allarme inserito tutte le prese elettriche vengono disalimentate per eliminare gli stand-by dei vari apparecchi elettronici e per mettere i bastoni tra le ruote ad un eventuale ladro che vuole usare attrezzi tipo frullino
2) se scatta l'allarme oltre a partire la sirena, se è notte l'impianto domotico accenderà tutte le sante luci esistenti in casa (il ladro si sà vuole lavorare al buio) e farà lampeggiare le luci esterne così da attirare ancor di più l'attenzione
3) ad allarme inserito e a riposo, la domotica di tanto in tanto, con funzioni randomiche e mai uguali, accenderà una luce a caso e poi la spegnerà, magari simulando un percorso (es. bagno, salone, scale, camera) così da far credere che c'è qualcuno in casa

Insomma avete capito il senso???

Sì lo sò, sono fuori di melone!!!!!!  ;D
Title: Re: Domotica con Arduino
Post by: astroz78 on Jul 30, 2010, 12:34 pm
Dimenticavo, l'interfaccia ethernet => arduino 2009 => arduino MEGA (allarme) serve pure per ricevere i token RFID.

Infatti il sistema inseritore dell'allarme ho deciso che saranno dei tag RFID letti dal tag reader innovation ID12 (per ora uso un normale radiocomando 433Mhz)...però questo ID12 sarà connesso non direttamente all'allarme, bensì a un nodo della domotica....esso riceverà il tag e lo sparerà all'indirizzo IP dell'arduino 2009 serialmente connesso all'arduino MEGA...e il gioco è fatto! :)
Title: Re: Domotica con Arduino
Post by: saki_kawa on Jul 30, 2010, 03:23 pm
Mm.. ho letto tutto per bene ed ho qualche domanda/dubbio..

Tralasciando il linguaggio.. che forse con i francesismi ha un po' sforato.. IMHO.

1) Che tipo di allarme hai? Contatti alle porte/finestre, volumetrici, pir, ecc.. Giusto per farmi un'idea del livello..
2) Mi pare di capire che il tuo sistema non è plug&play; cioè sono le singole prese nei muri che sono accese o spente, se tu dovessi collegare una multipla non potresti comandare le singole prese della multipla?
3) Hai intenzione seriamente di usare i tag RFID per inserire e disinserire l'allarme??.. che tipo di criptazione userai?.. guarda che basta cercare su youtube "rfid crack" e trovi quanti video vuoi sull'hack di questi sistemi in 5 minuti.
4) Tutto il sistema mi pare un po' carente in quanto a sicurezza.. basta che qualcuno ti piazzi un logger sulla rete ed impara a comandare tutta la casa. Non prevedi dei firewall o magari un filtro per ogni mac di device connesso?
5) Come ultima cosa, non ti conveniva prendere un server alla fine? Hai un controllo sul flusso dati, sulla sicurezza, password e quant'altro, hai tutti gli switch che vuoi integrati, quando si guasta qualcosa sai dov'è il problema, non ti serve crearti delle schede shift register, ci sono già fatte con cui puoi pilotare, tramite USB, decine di relè con protocolli sicuri, ecc ecc..

Comunque a grandi linee è quello che sto progettando io (con l'aggiunta di un server centrale), solo che vorrei usare i modem powerline, dato che non posso ricablare la casa (vivo dai miei tra l'altro ;) ) e poi perchè basta che ogni device abbia un mac e con powerline lo raggiungo ovunque, anche in una presa multipla o dove non ci sia una presa ethernet. IMHO
Title: Re: Domotica con Arduino
Post by: brainbooster on Jul 30, 2010, 04:07 pm
Ethernet è molto attraente per la bridgabilità (ethernet to powerline to wifi ecc) e per la reperibilità dei materiali, per quanto riguarda i protocolli invece , TCP-IP ci assicura la certezza che l'informazione arrivi a destinazione senza doverci preoccupare del layer sottostante e udp ci consente di avere quella velocità di comunicazione utile in fase di riconoscimento dei  nuovi moduli acc...
nulla vieta però di fondere le varie soluzioni all'occorrenza..
Title: Re: Domotica con Arduino
Post by: astroz78 on Jul 30, 2010, 04:28 pm
Evvai c'è la censura pure sull'arduino forum...vai con la legge bavaglio!!! :)

A parte la battuta, non mi pare d'aver offeso nessuno ne' d'aver bestemmiato e quindi aver offeso la sensibilità di nessuno. Ho usato qualche parola che ai bambini di 5 anni dicono essere "parolacce" per enfatizzare qualche frase, ma ho usato parole di uso comune e che si sentono in televisione tutti i giorni e a tutte le ore. Se vogliamo fare chiacchierate tecniche visto che siamo tutti uomini e pure adulti facciamole, ma discutere di un "puttanata" con chi è "bacchettone" a me non và.

Data pubblicamente questa risposta alla tua pubblica "sottolineatura", io ti faccio presente che non tornerò mai + su quest'argomento anche se tu dovessi farlo. Ribadisco che sono qui a parlare di cose tecniche e non a discutere di "fuffa" o a farmi giudicare; se poi il mio linguaggio qui dentro non dovesse essere ben accetto, non mi pongo più di tanti problemi e vorrà dire che smetterò di condividere con voi le mie esperienze tecniche.

Vado per punti alle risposte:
1) la centrale, come evidenziato sopra, l'ho autocostruita con Arduino Mega. I sensori che ho in giro per casa sono: magnetici di prossimità (i classici REED) su porte e finestre del perimetro; PIR e quindi volumetrici (doppia tecnologia: microonde e infrarossi) per gli ambienti interni. Le sirene ne ho due autoalimentate da esterno: una sulla facciata e una sul retro (e quindi occultata...della serie se mi facessero saltare la prima sirena quella visibile, non potrebbero sapere che entrerebbe in funzione quella occulta); il combinatore anch'esso è comprato e non autocostruito (mi pareva un nodo fondamentale del sistema e quindi volevo fosse certamente affidabile)
2) non mi è chiaro il tuo concetto: io per ogni scatola murata ho X prese dove X è la capienza massima (es. scatola da 3 con 3 prese, da 6 con 6 prese). Ovvio che se a una presa attacco una ciabatta quella ciabatta sarà alimentata o meno se la presa a cui è collegata è alimentata o meno...altrimenti dovrei "domotizzare" pure le ciabatte... Io mi sono organizzato così...per ogni scatola ho una presa "normalmente aperta" e le altre sono "normalmente chiuse"...quindi nel caso di prima ho 1 NA e 2 NC che posso comandare. Quindi alla presa NA posso dare o togliere corrente, alle 2 NC posso togliere o ridare corrente (le 2 NC sono in parallelo...cioè il caso di prima mi impegna 2 relè)
3) come il tag reader possa essere "brutalizzato" non lo sò. Se si tratta di apparati che fanno un brute force dei codici, ovviamente gestirò un numero di tentativi dopo i quali il sistema và in blocco di fatto impedendo al sistema brute-force di fregarmi; se si tratta invece di apparati che copiano il codice della mia chiave, prima mi devi avvicinare e leggere il codice...
4) assolutamente no. I nodi della domotica sono in rete locale LAN, tra la mia LAN ed Internet (WAN) c'è un bel doppio NAT...se riesci a bucare due apparati ed entrarmi nella rete locale LAN per sniffare il traffico che c'è in rete per accendermi o spegnermi la luce ti autorizzo a fregarmi tutto (e cioè niente visto che in casa non ho alcun Picasso...al massimo mi freghi le centraline domotiche e la TV :P). L'unico modo di accedere al mio impianto domotico è la WebAPP che è esposta sulla WAN...questa WebAPP sarà opportunamente protetta con un sistema di autenticazione e sarà su server Apache SSL.
5) server? Cioè io spingo il bottone, al server viene comunicato l'evento e lui si occupa di invocare il relè per accendere la luce o la caldaia? Assolutissimamente no...se per server intendi un PC (che sia linux o windows)...un sistema del genere non è un sistema real-time...e se si inchioda il server e se stà a fà la "pulizia della scrivania" o l'aggiornamento dell'antivirus e ci mette un quartodora a rispondere? Ma manco per niente. Diverso sarebbe se il dispositivo "server" (che io nella mia testa chiamo "orchestratore") fosse un dispositivo anch'esso real-time (caso di prima sull'architettura master/slave)...ma ho già espresso le mie perplessità sul modello.

Le schede USB con i relè le ho già viste, ma non fanno al caso mio...il mio progetto prevede dei PLC Arduino che comandano i Relè e non un PC...e la porta USB di Arduino non è una porta Host, bensì una porta che simula una seriale x la connessione al PC...!!! E poi io ho preso schede con 10 relè che ho pagato 30 Euro circa (relè da 10A) con tanto di scatola per barra omega, la scheda shift register l'ho autocostruita con circa 3/4 euro di spesa a scheda. Di quelle schede, la più economica che ho trovato, stà sui 50 Euro e con 8 relè.

La scheda shift register mi è necessaria in quanto dovrò gestire circa 30/40 relè per ogni nodo e, quindi, non ho sufficienti pin di output sull'arduino.

Il powerline, come ho già detto sopra, è un sistema valido per la comunicazione ethernet, ma cmq ha un costo molto elevato rispetto al cablaggio e ai classici switch, ma certo se non si può sfasciare tant'è! :)
Title: Re: Domotica con Arduino
Post by: astroz78 on Jul 30, 2010, 04:29 pm
@brainbooster: esatto! Il mio protocollo si basa su comunicazione tramite socket TCP...che puntualmente si impallano però  :(
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 30, 2010, 10:35 pm
Astroz,
può essere un'idea x te usare il protocollo BAC?
http://en.wikipedia.org/wiki/BACnet
funzionerebbe particolarmente bene su rete Ethernet!

Intanto sta emergendo che qui le necessità da coprire sono:
- Ethernet (vantaggio: A/V)
- Powerline (non ricablaggio)
- RF
Quindi Arudino dovrebbe un po' fare il bridging tra queste ma anche un po' il nodo (ricetrasmettitore RF, gruppo sensori ambiente, incluso impianto sicurezza? ci stiamo con i costi?)

Astroz, non voglio soffocarti con le richieste, ma mi sempre al momento la soluzione più concreta che abbiamo, pcon cui partire per dei ragionamenti...
Ciao
Stefano

PS x ASTROZ sempre nel tutorial che ti chiedevo (ho pensato che per velocità potrbbe essere un filmato esplicativo), potresti postare la distinta materiali, prezzi indicativi e magari fornitori (pref su internet)? Potrebbe essere un modo anche per iniziare a confrontare i costi delle varie soluzioni!

PS2 Il progetto CARACA lo conoscete? Che vi pare?
Title: Re: Domotica con Arduino
Post by: elminister on Jul 31, 2010, 12:29 pm
Salve a tutti, sono un sistemista/programmatore ed è ormai un po' che bazzico nel mondo dell'elettronica per semplice passione.
Comprato l'arduino mi sono subito divertito un mondo, ed ora che ho la possibilità di testare tutto a casa della mia ragazza la voglia di domotica è tanta.
Premetto che per motivi di lavoro ho già usato arduino in combinazione con un server di telecamere con un'ethernet shield e vi assicuro che l'implementazione funziona ed è stabile, basta avere un po' di accortezza con i tempi.

Visto che è il mondo che conosco meglio suggerisco anch'io l'ethernet, quindi se avete domande cercherò di essere d'aiuto.

Prima nota, visto che per l'arduino 100mbit è più che sufficente suggerisco che il cavo possa essere usato per l'alimentazione della scheda stessa ed abbiamo anche altri due cavi rimanenti per esempio per un possibile sensore i2c o 1-wire.

Per quanto riguarda la sicurezza, vi garantisco che nessuno hacker cercherà di entrare da internet in casa vostra per accendervi la luce di casa. Un buon router fa già tanto.
Invece il problema è tutto cio' che è wireless, le reti wifi con sicurezza wpa sono già cadute con attacchi brute force (accidenti alle schede video) e le wep non ne parliamo...
Pero' una volta entrato dovrà capire il protocollo arduino usato da noi e poi cosa' ci farà???? al massimo vi ciula la banda per scaricare, stop.
Per quanto riguarda l'rfid è una delle cose più facili da beccare, prima se uno ti voleva entrare in casa ti doveva fare il calco delle chiavi, ora teoricamente basta avvicinarsi al tuo portafoglio con uno scanner, prende l'id, lo programma su una chiave ed entra in casa tua.
Ma visto che non siamo in un film di James Bond non credo che sia una cosa di "normale amministrazione" a meno che non abbiate quadri di estimabile valore in casa...

Scusate la lunghezza del post, spero di esservi stato d'aiuto.
Title: Re: Domotica con Arduino
Post by: elminister on Jul 31, 2010, 12:34 pm
p.s.

mi sono dimenticato una domanda da farvi. visto che di negozi ce ne è a migliaia, quali mi suggerite per ordini corposi???

p.p.s.
sto studiando un modo per leggere i consumi della casa, tralasciando il modo semplice di contare gli impulsi del contatore enel che ho troppo lontano, volevo provare a costruire questo: http://openenergymonitor.org
e comprare il sensore qui : http:// http://www.seeedstudio.com/depot/noninvasive-ac-current-sensor-30a-max-p-519.html?cPath=84_91
quando mi arriva il tutto vi informero' sui progressi fatti.
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 31, 2010, 02:04 pm
Quindi per l'acesso a casa, meglio un sistema di lettura e riconoscimento d'impronte digitali ...
http://www.conrad.de/ce/de/product/751633/Fingerprint-Zugangssystem-FP260: 99? per un sensore impronte...

AGGIORNAMENTO: internet0
http://en.wikipedia.org/wiki/Internet_0
Chip Ethernet a costi estremamente bassi pensato per building automation
Title: Re: Domotica con Arduino
Post by: saki_kawa on Jul 31, 2010, 03:27 pm
@astroz78:
[Inizio OT]
:o :o
L'unica risposta che mi viene in mente al tuo soliloquio sulla censura e altre cosucce è: meglio scrivere da sobri! ;)

Questione chiusa, la mia era un'osservazione genuina e non censurante, non era una pretesa di adeguamento.. la faccia, ehm, il nickname è il tuo.

[Fine OT]

1) Cavolo, quindi l'Arduino Mega riesce a reggere tutti quei sensori.. ottimo a sapersi, dato che ho intenzione di fare una cosa simile!
2) Sì ok, allora avevo capito. Io vorrei riuscire a rendere plug&play anche le ciabatte però.. devo capire come..
3) Eh ti consiglio di guardarti qualche info al riguardo. Purtroppo con gli RFID il pericolo maggiore è il cloning, dato che sono in uno stato di trasmissione perenne. Con poco materiale si può costruire un'antenna RFID che legge fino a qualche metro e che sta in uno zainetto o una borsa, quindi passandoti a fianco il tuo tag sarebbe immediatamente clonato. Lo sò perchè volevo togliere la chiave allo scooter e metterci un Arduino con un tag RFID, e mi sono informato bene.
Il consiglio migliore è tenerlo in una bustina schermata, di quelle per i cellulari per proteggerli dai campi elettromagnetici intensi, e tirarlo fuori all'occorrenza.
Per il brute force, hai risposto da solo perfettamente, il blocco sui tentativi è il sistema più semplice e più efficiente.
4) Bè ok, mi sembra che anche qui sei piuttosto protetto (almeno contro hackeraggi medi.. essere in una NAT non è sempre sinonimo unico di sicurezza.. conta che con qualche script replicativo che si installa sul firmware si può fare tutto..), rimane solo il rischio di un logger sulla LAN interna.. ma allora a quel punto qualunque sistema è insicuro. ;)
5) Bè per accendere una luce il server servirebbe solo da filtro tra internet e relè, quando sei in casa ci vorrebbe una linea diretta, come hai fatto tu, ma per tutte le altre trasmissioni è molto comodo. Puoi collegare qualunque apparecchiatura commerciale senza bisogno di studiare l'output. Cioè se un domani vuoi integrare una telecamere IP la attacchi al server e funziona subito, se usi degli Arduino devi interfacciarti.. non è la cosa più umana del mondo. Mi pare che il sistema Multi-master vada bene quando si tratta di sensori ed operazioni comuni, ma se dovessimo integrare altri sistemi, un po' più avanzati e multimediali, nella casa comincia a mostrare le sue crepe, che sò.. touchscreen per la lista della spesa, o per le ricette, lettore di codici a barre per i prodotti acquistati, NAS per i film e la musica da diffondere in casa, stampanti, proiettori, telecamere IP, fax, cellulari, rover droni che girino per casa, elettrodomestici di vario tipo, ecc ecc..  ;) :D

@elminister:
Quote
Per quanto riguarda la sicurezza, vi garantisco che nessuno hacker cercherà di entrare da internet in casa vostra per accendervi la luce di casa.

Bè se hai collegato anche il sistema di sicurezza della casa alla rete.. ;)

[edit]Invece il problema è tutto cio' che è wireless[/edit]
Stra concordo!!

Quote
Ma visto che non siamo in un film di James Bond non credo che sia una cosa di "normale amministrazione" a meno che non abbiate quadri di estimabile valore in casa

Ascolta dove si spinge la "normale amministrazione" dei ladri oggi giorno.. ho collaborato con una ditta di antifurti satellitari/gsm, di cui non posso fare il nome, sia per casa, sia per auto. Le assicurazioni sempre più spesso offrono un pacchetto di sconti a chi installa un sistema satellitare in comodato d'uso sulle auto o per nelle case, così il livello di chi vuole rubare anche una Punto (è un esempio, non voglio insinuare nulla sulla Punto) o in un normale appartamento con 2 pc, una tv, uno stereo e qualche gioiello, è aumentato.
Arrivano con uno scanner di frequenze gsm, un jammer, entrano in macchina come di consueto, scatta l'allarme, aprono il cofano, fanno fuori la sirena o il cavo portante del segnale d'allarme, se una macchina ha l'immobilizer hanno dietro centralina e nottolino di riserva, collegano tutto, arrivano al primo garage, la ripuliscono, e poi arrivano al garage di stoccaggio tranquillamente, magari cambiando targa e con documenti nuovi.
Tutto il lavoro sulla macchina dura 10 minuti, esclusi i 15/20 minuti di scanning intorno al veicolo.
Lo stesso per le case..
L'attrezzatura se la ripagano con la metà di un colpo in un appartamento "normale". ;)

Per questo ora si studiano sistemi a doppio modem gsm, uno inibito e l'altro full active.

..se vuoi poi parliamo di dati bancari e pc..  ;D ;D

@stefano72:
Figo, ma.. http://www.webmasterpoint.org/news/riconoscimenti-biometrici-non-sicuri-clonata-impronta-ministro-tedesco_p31614.html
E ma.. http://goldenhacking.forumcommunity.net/?t=24985811

[Ok, fine modalità: uccello del malaugurio!  :P]
Title: Re: Domotica con Arduino
Post by: stefano72 on Jul 31, 2010, 04:56 pm
ok allora niente RF IR e WIFI
rimane opzione ethernet (magari con internet 0? http://en.wikipedia.org/wiki/Internet_0) e powerline.
A questo punto i comandi potrebbero essere vocali, tranne quelli per l'impianto d'allarme?

@ sakikawa: ma anche http://www.webmasterpoint.org/news/Scanner-biometrico-che-riconosce-l-iride-dell-occhio-In-vendita-da-Panasonic-a-prezzo-accessibile_p30443.html  :D
Title: Re: Domotica con Arduino
Post by: lucariello on Aug 01, 2010, 02:07 pm
Fare un sistema domotico su ethernet mi lascia perplesso.
Valutiamo 2 possibili soluzioni e proviamo ad elencarne vantaggi e svantaggi:
1) ethernet in sostituzione del bus di campo, in cui ogni dispositivo/sensore/attuatore ecc. è collegato alla rete ethernet:
   Pro
    - Velocita di comunicazione senza paragoni con la possibilita di integrare audio/video
    - su ip il livello di gestione software e configurazione è altissimo
    - non ci sono limiti alle distanze da coprire, si passa in modo semplice su internet per la gestione (basta un router)
    - Alimentazione dei dispositivi wired tramite poe
    - semplice implementazione di  periferiche wifi o powerline
    - niente da invidiare ad un sistema multimaster su bus
   Contro
    - prezzo elevato (anche in previsione di dispositivi tipo internet_0 la complessita è altissima rispetto ad un rs-485 o un Can bus)
    - possibili problemi di sicurezza se si usa wifi e internet
    - sistema estremamente delicato, se si rompe un apparato rischio di non accendere la luce.
    - Complessità di cablaggio

2) Sistema Ethernet multimaster per le logiche e master/slave per la gestione dei dispositivi (es. un arduino+eth per
    stanza con sensori/attuatori passivi collegati ad esso)
   Pro
     - velocità ed integrazione audio/video
     - Costi probabilmente allineati a soluzioni su bus.
     - Sistema leggermente più robusto rispetto al precedente (guasti sull'ethernet non implicano l'impossibilità
       di gestire il singolo ambiente in locale)
     - cablaggio nel complesso semplificato rispetto alla soluzione n° 1
    Contro
     - Il singolo ambiente dipende comunque da un singolo dispositivo
     - programmazione più complessa
     - espandibilità del sistema limitata

Dopo tutto  non capisco perché non usare sistemi su bus di campo.
Mi sto studiando un pò quello che c'è sul mercato e CAN bus mi sembra sempre più una scelta valida.
Can Bus ha un ottima resistenza alle interferenze elettromagnetiche, la gestione automatica
di errori/guasti sulla linea, esclusione automatica dei nodi guasti, semplicità di cablaggio...

Io però ragiono sempre nell'ottica di definire un sistema libero facilmente accessibile per economicità ed installazione
e che possa adattarsi ad installazioni domotiche, di building automation o di semplice automazione industriale.
L'ethernet si può sempre affiancare per gli usi che ne rendono l'implementazione strettamente necessaria.
Io penso genericamente all'automazione come uno strumento per migliorare la qualità della vita delle persone.
Pensiamo al risparmio energetico, all'infinità di idee che possono emergere per una gestione intelligente degli spazzi.
A tal proposito se iniziassimo ragionare su "cosa" può essere installato in un ambiente, non basterebbero svariate decine di sensori e
quant'altro e le attuali soluzioni domotiche diventerebbero proibitive visti i prezzi.
Title: Re: Domotica con Arduino
Post by: stefano72 on Aug 01, 2010, 07:27 pm
mi sono studiato la definizione di bus di campo http://www.flktech.com/it/bus.asp

Ai nostri effetti, si applica nell'idea dell'automazione di un appartamento o di una villetta, quindi, mi pare, faccia al caso nostro e in realtà credo già pensassimo con questo concetto ma non avevamo esplicitato il termine.

Direi che abbiamo già un nugolo di idee:
- abbiamo l'Arduino, che può gestire "una o più stanze"
- l'arduino è collegabile ad attuatori e sensori
- occorre dare la possibilità di aggirare il limite fisico di attuatori/sensori (A/S) collegabili, ad esempio, dove possibile, sulla base di criteri di economia e/o sicurezza, attraverso powerline (PL) e/o IR o RF;
- servirebbe quindi una specie di "shield" standard che funzioni da commutatore IR/RF/PL/IP;
- a questo "shield" corrisponderebbero delle specie di "shield" internet0 che interfaccino releè d'attuazione o sensori standard con la rete (IR/RF/PL/IP) a seconda dei casi. A titolo d'esempio ho trovato questo http://www.embedds.com/internet0-transceiver-sending-data-over-the-internet-will-never-be-a-matter-anymore/. E' fattibile o costoso?
- in questo modo, varia anche la tipologia della rete, che risulta liberamente modificabile e, fino a un certo punto, permette anche un multimaster;
- rimane comunque da scegliere il protocollo;

In definitiva, comunque:
- per gli attuatori è sufficiente il relè che chiude a comando. Immaginando che sia collegato alla 230, ha senso che il segnale viaggi in PL.
- sensori e comandi, sono in bassa tensione, e avrebbe senso farli viaggiare (a seconda dei casi) in RF/IR (facile espandibilità). Se però la soluzione non è ritenuta valida, varrebbe la pena il doppino, e tra tutti i doppini possibili, tanto varrebbe un cavo ethernet POE. A questo punto, avrebbe senso uno "shield ethernet0" cui siano collegati i sensori e comandi. Anzi, tra i vari sensori, anche quello IR x comandare ad esempio, almeno luci e ventole.

Data la mia ignoranza in materia, mi paiono soluzioni "semplici" e lineari. Sbaglio?
Title: Re: Domotica con Arduino
Post by: brainbooster on Aug 01, 2010, 07:31 pm
Forse la parte sicurezza vi preoccupa un pò troppo...
Il wifi, se usi wpa2 al momento è inespugnabile, per la webapp esposta su intenet ci sono molti modi di scoraggiare il bruteforce, dall'usare password alfanumeriche di 8 o più caratteri al raddoppio del tempo necessario per le prove ad ogni login errato ecc...
il nat non è sinonimo di sicurezza purtroppo, (vedi nat traversal attak), basta qualche pacchetto tcpsyn fatto ad arte ed entri tipo padrone di casa.
Un  buon firewall (con SPI) basta e avanza :) (sempre che non ci siano pc connessi al sistema).
Nel caso di pc connessi alla lan bisogna considerarli "maligni" già dal primo giorno di connessione , quindi trattarli da potenziali basisti all'interno del sistema e creare delle acl apposite.
quindi tralasciate per adesso la parte sicurezza in favore di altre aree più cruciali tipo mettere giù una lista di cose che dovrebbe essere in gradi di fare il sistema :)
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 05, 2010, 11:25 am
Sono stato assente qualche giorno in quanto sono stato in ferie proprio per portare avanti il mio progetto.

Dunque, ho letto i vostri post e cercherò di dire la mia sui vari argomenti trattati!

Intanto vi ricordo la mia architettura: i miei nodi domotici (5) sono installati dove l'elettricista "originale" di casa aveva installato le scatole di derivazione. Quindi tutti i cablaggi delle luci/prese i cui corrugati arrivano a quella scatola sono fisicamente connessi ai relè che si trovano in quella scatola (di media 30 relè), tutti i pulsanti i cui corrugati arrivano a quella scatola di derivazione sono interconnessi all'arduino che gestisce quel nodo.

Quindi per me non esiste il concetto di "nodo che gestisce una stanza"...in quanto, ad esempio, il pulsante che deve accendere la luce del salone piano terra è collegato al nodo "2" (che è quello che è al piano terra), ma la luce (che è nel solaio) fisicamente arriva al nodo "1" della mansarda! Quindi ho necessariamente bisogno che i due nodi ("2" che legge il pulsante e "1" che esegue il comando) si parlino.

A tal proposito vi aggiorno anche sui progressi:
- avevo un problema, da quando connessi i pulsanti all'arduino, che faceva sì che gli shift-register che pilotano i relè si "disallineavano" con il dato che gli veniva mandato dall'arduino. Problema risolto mettendo un condensatore poliestere da 100nano sull'alimentazione e elettrolitico da 1uF sul latch
- la ethernet è di molto migliorata, ma ancora non è stabile al 100%...in ogni caso adesso riesco ad accendere la luce del salone (caso evidenziato sopra)

Sorvolo velocemente le discussioni relative alla sicurezza. Concordando con ciò che diceva "non ricordo il nick"...vero il discorso delle sirene delle auto, etc.etc., ma vero anche è che parlavamo di prodotti commerciali e quindi che il "ladro" cmq conosce! Questi sistemi "autocostruiti" per un ladro sono di difficile comprensione...non ci credo assolutamente che qualcuno si possa mettere a sniffare il traffico di rete per poi fare cosa!!!! E' questo il vero dilemma...cosa ottiene? Mi spegne la caldaia e mi fà morire di freddo? Ma no dai!

Per quanto riguarda l'allarme, il sistema RFID, premesso che credo al discorso "scanner" che legge l'ID e lo replica...ricordo che quello dovrebbe avvicinarmi per prendermi l'ID, replicarlo, scoprire dove abito e dove sta il lettore del tag, scardinarmi la blindata, etc.etc. il tutto per fregarmi il mio 46" plasma? :)
Cmq rivaluterò questo discorso...anche xkè prima che arriverei a quel punto saranno usciti lettori di DNA! :P

Per quanto riguarda il discorso Server, forse mi ero espresso male, pure io ragiono così!
Cioè i nodi sono autonomi, si parlano tra di loro e fanno il loro porco comodo, il server fà da gestore dei servizi più complessi e da interfaccia utente x PC/Internet. L'esporre tale interfaccia sul web, a parte i classici sistemi di protezione SSL + password mi sembrano più che stra-sicuri, sempre ricordandovi che male che và m'accendono la luce o la caldaia! :)

Riguardo il bus Ethernet...ritorno a sottolineare il fatto che non è assolutamente vero che è un bus costoso e poco affidabile! l'ethernet shield costa 30 ?...un "adattatore" (shield) per altro bus vi sfido a farmelo pagare di meno, gli switch il costo oramai è ridicolo, il cablaggio tanto meno (categoria 5e con cavo rigido 30 ? 300mt)...la velocità è assolutamente sufficiente. Ora che ho il sistema funzionante vi ripeto che premo il pulsante connesso al nodo 2 che inoltra il comando via lan al nodo 1 che lo esegue...l'accensione della luce avviene che nemmeno ho capito che devo iniziare a sollvare il dito dal pulsante!!!

Vi metto all'attenzione anche un'altra problematica...l'assoluta poca memoria di Arduino. No perchè io mi scontro anche con questa problematica.

2k di RAM sono pochini per tenere in memoria una matrice di "configurazione" pulsante-evento-azione. Es. se io voglio dire che il click del pulsnate 1 fà comando1 e il doppio click del pulsante 1 fà comando2 e il click del pulsante 2 fà comando1+comando2...

Ultima cosa...poi finisco il mio solito messaggio fiume! Ma chi di voi è di Roma? Magari si potrebbe fare una cena domotica! :)
Title: Re: Domotica con Arduino
Post by: pictux on Aug 05, 2010, 11:49 am
Tornando momentanemente sul tema RS485, il sito da cui solitamente acquisto le relay board ha messo in vendita (o forse le aveva anche prima, boh) delle schede RS485 per pilotare 8 uscite digitali.
In questo caso, le 8 uscite sono abbinate a 8 relais su scheda.

(http://www.sigma-shop.com/e_images/8_relay_rs485_05.jpg)

hanno messo anche uno schemino

(http://www.sigma-shop.com/e_images/8_relay_rs485_04.jpg)

chiaramente, al posto dell'interfaccia USB to RS485 FTDI, ci si mette la cara Arduino + RS485.

Certo che schedine del genere ce le potremmo fare pure da noi, eh?  :D

Dopo rapida ricerca su Forum Arduino aggiungo quanto segue.
la soluzione di cui sopra è stata già utilizzata con Arduino:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1272180847/4
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 05, 2010, 12:41 pm
Quella scheda RS485 => 8 relè...costa 35? da sigma-shop...più la scheda 8 relè che costerà almeno altrettanto (ha pure i finali sopra)...una scheda shift-register autocostruita per pilotare 16 relè mi è costata 4 ? di componenti...e proporzionalmente (quello è il mio obiettivo) fargli pilotare 30 relè (4 shift register 8bit) mi costerà 6/7 euro di componenti...

Se ma il bus RS485 potrebbe essere utilizzato alternativamente alla ethernet per far parlare i vari nodi pilotati da Arduino.

Anche xkè in questo modo gestisci via RS485 i relè, ma i "pulsanti" (input) dove li colleghi? :)

Cmq l'idea è buona...tra l'altro una delle mie idee sarebbe proprio quella di produrre dei PCB modulari (tipo quelli) con i vari blocchi da interconnettere!

Forse quello che dico sembrerà un po' fumoso, è che dovrei farvi vedere con gli occhi ciò che ho realizzato!
Title: Re: Domotica con Arduino
Post by: pictux on Aug 05, 2010, 12:54 pm
... ehm, 35 euri è il costo della schedina RS485 + scheda 8 relais.

Sicuramente farsela costa meno (se non contiamo anche il tempo che ci si può impiegare  :)), ma non tutti hanno gli skills o la volontà.

Quote
Se ma il bus RS485 potrebbe essere utilizzato alternativamente alla ethernet per far parlare i vari nodi pilotati da Arduino.


si, ok, qui ci possono essere tante combinazioni possibili

Quote
Anche xkè in questo modo gestisci via RS485 i relè, ma i "pulsanti" (input) dove li colleghi?


..facciamoci la Shift In RS485, no?  ;)


Title: Re: Domotica con Arduino
Post by: brainbooster on Aug 05, 2010, 12:58 pm
esistono su ebay degli i/o shield che montano l'ic per rs485 con tanto di serracavo a vite :)
http://cgi.ebay.it/Arduino-IO-Expansion-Shield-for-Duemilanove-Mega-/140434821207?cmd=ViewItem&pt=UK_ToysGames_RadioControlled_JN&hash=item20b2915057
Title: Re: Domotica con Arduino
Post by: pictux on Aug 05, 2010, 02:03 pm
:D
alla fine di pronto c'è già tutto, chiaro che l'obiettivo sarebbe l'ottimizzazione e la customizzazione.

[OT] oltretutto 'sto shield costa davvero il giusto... l'unico che mi son fatto io (appunto per pilotare quelle schede da 8 relais e 8 input) ci ho perso un sacco di tempo.. [/OT]
Title: Re: Domotica con Arduino
Post by: brainbooster on Aug 05, 2010, 04:26 pm
capita :)
però così parte del costo che hai sostenuto te lo sei ripagato con l'esperienza! :)
Title: Re: Domotica con Arduino
Post by: stefano72 on Aug 05, 2010, 05:30 pm
Beh, mi pare che la questione cominci a prendere forma!
Secondo me, si potrebbe cominciare a disegnare uno schema generale - magari con le alternative di integrazione 485 e Ethernet - e poi la lista della spesa degli accessori: prezzo, fornitore, etc...
Mi piacerebbe cominciare a giocarci... il problema, per i principianti come me, è sapere cosa mettere assieme a cosa!

PS il modulo DFRduino supporta RS485 e anche l'espansione al modulo bluetooth con 8euro!... :d
E c'è anche il modulo d'interconnessione con Xbee per la realizzazione di rete di sensori wireless...
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 05, 2010, 06:02 pm
Ripeto la domanda: nessuno di Roma?

Io vorrei tanto darvi dettagli maggiori, ma veramente non ho un millis() di tempo!

Ripeto anche questa cosa: attenzione ai limiti di RAM di Arduino! :)
Title: Re: Domotica con Arduino
Post by: lucariello on Aug 07, 2010, 12:31 am
Per rispondere ad Astroz:

>Riguardo il bus Ethernet...ritorno a sottolineare il fatto che non è assolutamente vero che è un bus costoso e poco affidabile! l'ethernet
>shield costa 30 ?...un "adattatore" (shield) per altro bus vi sfido a farmelo pagare di meno, gli switch il costo oramai è ridicolo, il
>cablaggio tanto meno (categoria 5e con cavo rigido 30 ? 300mt)...la velocità è assolutamente sufficiente. Ora che ho il sistema
>funzionante vi ripeto che premo il pulsante connesso al nodo 2 che inoltra il comando via lan al nodo 1 che lo esegue...l'accensione
>della luce avviene che nemmeno ho capito che devo iniziare a sollvare il dito dal pulsante!!!

Infatti il tuo si avvicina al caso n° 2 ed io ho detto "Costi probabilmente allineati a soluzioni su bus."
>"2) Sistema Ethernet multimaster per le logiche e master/slave per la gestione dei dispositivi"
Multimaster lato ethernet, master/slave nei confronti dei vari dispositivi a cui è collegato(pulsanti sensori ecc).


Premetto che penso che il tuo sia un sistema di tutto rispetto, che in molti casi possa essere una soluzione valida e che
possa andar bene a molti.
Penso che però si allinea molto più ad un discorso di "domotica fai da te" con arduino, nel senso che molti potrebbero
divertirsi a replicare il tuo sistema e prendere tanti spunti utili (a me per esempio è piaciuto tantissimo l'uso degli shift register e non ti nego
che lo applicherò a breve in qualche mio progetto... ...spero sia royalty free   ;)  )
Io però punto su un'altro discorso di domotica "libera" con arduino come un qualcosa che sia possibilmente accessibile per
la maggioranza delle persone, anche per chi di elettronica ne capisce poco o niente o per chi non si può permettere di spendere tanto.

Riguardo l'affidabilità, non so se conosci come funzionano i moderni sistemi domotici su bus di campo.
nel tuo caso se ti si rompe un arduino 1/5 del tuo sistema va in panne o mi sbaglio?
(che a te può fregare, perché semmai metti apposto la cosa in un battibaleno,
ma pensa alla ad un generico utente che non capisce una benemerita mazza di elettronica
e che è costretto a chiamare il tecnico per farsi riparare l'impianto)

Faccio un esempio di come può funzionare un sistema su bus di campo:
- L'interruttore a una sua parte elettronica ed è collegato al bus. (o un piccolo gruppo di interruttori insieme per abbattere i costi)
- Quando premo l'interruttore sul bus viaggia il messaggio "hey sono l'interruttore tal dei tali, qualcuno mi ha premuto" oppure
 un messaggio del tipo: "l'evento intervieni sulla luce n°1 cucina in modo on/off è stato generato"
 (potrei programmare l'interruttore per far si che con una lunga pressione su di esso la luce si accenda a metà intensità
 generando un evento diverso... ...m'è venuta al volo st'idea)
- L'attuatore ha una sua logica, ed essendo programmato per intervenire ad uno dei messaggi di cui sopra, accende la luce.

L'interruttore o la sua elettronica di controllo si guasta?
- posso intervenire su di un interruttore di scorta appositamente programmato come secondo interruttore/riserva
- posso mettere il sistema in modalità "automatica" che quindi regola più o meno la luce in base ai lux presenti nella stanza
 accertandosi anche che se i lux all'esterno sono sufficienti ad illuminarla, sia aperta la tapparella (un bel sistema anche per il risparmio energetico)
- Chiamare il tecnico il quale mi dirà di andare nel quadro centrale e di premere il pulsante "programmazione remota" che consente,
 a chi ne ha le credenziali, di poter accedere da remoto entro mezz'ora al sistema così da programmare l'interruttore "applique cucina"
 per accendere sia l'applique che la luce nella plaffoniera. (da remoto potrebbe voler dire dei semplici sms di programmazione oltre che internet :D )

Come potete immaginare la cosa è abbastanza complessa, ed è per questo che vorrei creare un progetto di una certa importanza
che si occupi dei singoli aspetti a che faccia leva sulla collaborazione di chi può in qualsiasi modo contribuire!
Servono idee, esperienza sul campo, competenze di vario genere... ecc.
A tal proposito già ho in mente un modello per organizzare il tutto, e preso dall'entusiasmo, ho anche pensato ad un nome per il progetto
ed ho pure registrato il dominio  :D
Che ne pensate di "Free Libre and Open Source Building Automation" Project  ...FLOSBA Project!!!  
Il richiamo dei Clash è inevitabile... quindi: "Rock the FLOSBA!" :D  http://www.youtube.com/watch?v=Qy3l3JXroeY

(lo so, starete leggendo a bocca aperta, con un palmo di lingua fuori e penserete: "Ma guarda a questo.... pure lo slogan...")   :D

Cmq http://www.flosba.org   ...solo che se ne parla dopo le vacanze per metterlo in piedi, e se qualcuno vuole darmi
una mano è benvenuto, lo spirito e 100% collaborativo.


cmq


Per rispondere a Stefano72

>In definitiva, comunque:
>- per gli attuatori è sufficiente il relè che chiude a comando. Immaginando che sia collegato alla 230, ha senso che il segnale viaggi in PL.

-E se ho un contatore trifase e non è detto che la linea che vado a comandare è sulla stessa fase dove si trova la logica di comando?
-O se ci sono più di un contatore monofase su fasi a monte diverse? (il pasticiere che sotto casa ha il laboratorio ma un unico impianto
di automazione per esempio)
-Anche se sulla stessa fase dietro al contatore,con i sistemi PL si può passare oltre un contatore enel?
...basta creare/usare dei bridge certo, ma già l'impianto si complica...
-E se devo certificare l'impianto elettrico? In bassissima tensione (fino a 50V credo) posso intervenire nei vari quadri pilotando dei relè ad esempio,
nessuno può venire a sindacare quello che faccio sulla bassissima tensione. Ma sulla 220v (cioè bassa tensione)?
Ciò non toglie che un domani qualche azienda possa produrre dei moduli a norma per il nostro sistema!
Infine, non sono sicuro, ma penso che i costi lieviterebbero usando prettamente PL.

>- sensori e comandi, sono in bassa tensione, e avrebbe senso farli viaggiare (a seconda dei casi) in RF/IR (facile espandibilità).
>   Se però la soluzione non è ritenuta valida,
> varrebbe la pena il doppino, e tra tutti i doppini possibili, tanto varrebbe un cavo ethernet POE. A questo punto, avrebbe senso uno "shield ethernet0"

Da quanto ho potuto capire leggendo qualcosa in giro "Internet0" non ha niente a che vedere con ethernet e le reti come le conosciamo,
il layer fisico è diverso ed è appunto powerline, ir, rf ecc. però ad una bassa velocità (9600 bps) il tutto per renderne facile ed economica l'implementazione.
non è una cosa del tipo: http://www.ethercat.org/
Cmq internet0 sarebbe un ottimo spunto.

> cui siano collegati i sensori e comandi. Anzi, tra i vari sensori, anche quello IR x comandare ad esempio, almeno luci e ventole.

Ethernet, Powerline, RF, ir, modem 56k, sistemi a logica pneumatica o idraulica :D , ecc. va bene tutto, ma ci deve essere la possibilità di
colloquiare sui vari sistemi con opportune interfacce.
Tutte le soluzioni alternative al bus, poi, hanno i loro pro e contro.
Per me una base comune dovrebbe sempre essere il bus.

Bisognerebbe cominciare a cercare i componenti e gli schemi opportuni per utilizzare i vari sistemi.
- Per l'ethernet abbiamo il nostro simpatico shield per arduino o più genericamente i vari chipset che vi possiamo collegare
- RF ci si può ragionare, si potrebbe usare xbee
- ir non dovrebbe essere complicato
- Powerline bassa tensione 230V ac - NON NE HO LA PIU' PALLIDA IDEA  :( ...nessuno ha esperienza a livello teorico e di componenti?
- Powerline bassissima tensione (che ne so 29 volt? tipo KNX) quasi come sopra
 L'ultimo sarebbe interessante per far viaggiare sullo stesso doppino sia i dati che l'alimentazione dei dispositivi.

Ciaoooo


La libertà non è star sopra un albero
non è neanche il volo di un moscone
la libertà non è uno spazio libero
libertà è partecipazione. (Giorgio Gaber)
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 09, 2010, 03:05 pm
Eccomi...intanto ringrazio LukeSkyChopper per l'apprezzamento della mia idea...credetemi con il 99% dei miei amici che mi prende per il culo...ogni tanto un po' di aria fresca per il mio orgoglio ce vò! :)

Ti rispondo riguardo il fault di 1 arduino su 5. No il sistema non và in panne...i comandi diretti al nodo 1 o che partono dal nodo 1 non funzioneranno, tutto il resto è autonomo...il nodo 2 continua a parlarsi con il 3 con il 4 e con il 5, etc.! Cioè le funzioni basilari sono sempre e comunque garantite!

Vi aggiorno anche sullo stato del mio progetto! Ieri ho messo in piedi anche il 4° nodo (manca il 5° ma essendo poco importante - gestisce poca roba - ci vorrà un po' prima che lo metto in piedi).
Ho risolto il problema del "disallineamento" degli shift register (mancava un condensatore da 100nF sull'alimentazione e da 1uF sul latch).
Di conseguenza si può dire che ho cablato il 90% dei relè "importanti" (il 50% della totalità...il resto sono prese comandate che ho lasciato alla fase successiva).
Ho anche cablato parecchi pulsanti (per il momento non usando shift register di input, ma direttamente all'arduino...non ho tempo di mettermi li saldatore-millefori-stagno-pongo a fare le LEGO degli uomini elettropsicopatici!!!).
Abbiamo una release del tool .net di configurazione che "funziona" abbastanza bene con il quale tool abbiamo programmato la EEPROM dei 4 nodi operativi per gestire i pulsanti (dove collegati).

A questo punto posso dirvi che, la soluzione "nodo 1 che accoglie il comando di un pulsante e lo invia al nodo 2 via ethernet al quale è collegato il relè da switchare" è efficientissima e stabilissima. Accendo e spengo le luci come tutti i cristiani fanno e non mi accorgo nemmeno del fatto che premere un pulsante scatena un pacchetto TCP che và da un IP ad un altro che poi viene interpretato ed eseguito!

Il mio progetto un nome ce l'ha già...ve lo svelerò più avanti! :)

Il mio progetto è chiaramente un progetto "domotica fai da te"...non passerà mai alcuna certificazione per almeno 100 motivi...ma io volevo a) divertirmi b) fare esperienza...e sono riuscito in entrambi gli obiettivi! Poi se la mia esperienza potrà contribuire a modularizzare il progetto così da creare un qualcosa di consistente e di usabile da tutti, Dio lo volesse! Sono pronto ad essere assunto in qualche ditta che si occupa di automazione! :D

La programmazione anche nel mio caso è effettuabile da remoto...anche da una WebAPP.

Riguardo il bus, ragazzi, io voglio sottolineare una cosa...un sistema del genere è fattibile se cmq "accorpi" i dispositivi...è impensabile che in ogni "503" (scatola da incasso a 3 posti) ci sia un elettronica che nel caso di dispositivo di input (pulsante) accolga il dato e lo immetta nel bus e nel caso di dispositivo di output (presa) legga il dato e switchi il relativo output...altro che "semplicità" di realizzazione e "alla portata di tutti" e "costi bassi"...io ho pensato a questa soluzione xkè era l'unica che mi evitava in ogni caso di sfasciare totalmente casa e rivedere proprio il percorso dei corrugati! In questo modo io sono intervenuto dove ci sono le scatole di derivazione, di fatto ingrandendole molto (come dimensione).

Scusate se le risposte sono sconnesse, ho cercato di trattare + o - tutti i punti da voi evidenziati, ma ho sempre molto poco tempo! :)
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 09, 2010, 03:07 pm
Ah...la soluzione shift-register io l'ho semplicemente presa dai tutorial...altro che royalty free...io a mia volta l'ho già "fregata" :)

Cerca su google "shiftout"...
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 09, 2010, 05:34 pm
Già che ci stò vi dico pure cos'altro ho in mente per ultimare il progetto...presumibilmente nel 2038 D.C. :P

In casa ho previsto tre scatole murate altezza uomo in piedi per murare dei pannelli touchscreen di controllo...all'epoca pensavo di fare anch'essi con Arduino, etc....ora inizio a pensare che ci metterò dei tablet PC Android...tanto tempo 1 anno e ce ne saranno 4000 esemplari e costeranno considerato i componenti e il tempo che altrimenti dovrei perdere in progettazione/realizzazione moooooooooooooolto meno!

Poi ho nel salone seminterrato tutta una libreria / parete attrezzata in muratura dove è innestato camino, TV e Home Theater...e ho pure una trave a soffitto che divide il salone e la cucina...sia nella libreria che in questa trave sono previsti degli inserti di LED Strip (quelli RGB che si trovano su E-Bay)...dovrò creare una centralina che farà tipo da controller per i LED Strip riproducendo sui vari Strip diverse gradazioni di colore, diverse luminostià, etc. Il tutto ovviamente comandabile da messaggi che arrivano a tale Arduino via Ethernet.

Least but not last...in giro per casa dovrò montare degli "scatolozzi" volanti sempre connessi Ethernet (in casa ho prese LAN ovunque) che si occuperanno di:
- leggere i valori di vari sensori (temperatura, umidità, luce, etc.) e raccoglierli e quindi di tanto in tanto inviarli al server che li raccoglierà a fini statistici. Tali valori serviranno anche a determinare lo stato di accensione della caldaia e di apertura delle 3 elettrovalvole che isolano i 3 piani in quanto a riscaldamento
- ricevere messaggi ethernet per riprodurre segnali IR. Questo mi servirà per inviare comandi ai vari apparati che non sono interfacciabili in altro modo: es. l'home theatre, la TV, i condizionatori e chi più ne ha più ne metta

Di questi scatolozzi ne vorrei almeno uno per piano e/o in certi casi per stanza (es. sicuramente uno in stanza da letto)...così da poter leggere i valori di temperatura nelle aree più importanti.

Lo scatolozzo del salone al piano centrale si interfaccerà anche con un contatore digitale di assorbimento energia elettrica (se ne trovano diversi su E-Bay). Contando gli impulsi potrò fare delle letture e delle statistiche sull'assorbimento elettrico nei vari "momenti" e capire "quanto consumo quando faccio una cosa o un'altra".

Come vedete tutto ha un interfaccia Ethernet e parliamo di dispositivi che sostanzialmente fanno cose piuttosto diverse (PLC, LED Controller, IR+Sensori)...questo mi consente di poter creare tutte le interfacce che voglio per gestire il tutto...con tutti i sistemi operativi...linguaggi di sviluppo...etc.! Le socket e il protocollo TCP sono universali oramai!

Sicuramente farò una WebAPP che mi consentirà di monitorare tutti i dati letti dai vari sensori e configurare la climatizzazione (caldaia d'inverno via relè sul contatto di accensione della caldaia e sempre via relè per aprire/chiudere le elettrovalvole di piano, climatizzatore d'estate via IR).

Lo sò...quest'impianto è una follia...non lo finirò mai...ma una cosa è certa: funzionerà! :D
E' che, fare buona parte delle cose da solo, anche se ho il fondamentale e imponente aiuto di un amico mio che è un vero genio, non è facile...credetemi! :)

Io vi scrivo tutto ciò non per vantarmi o per "sbrodolarmi", ma perchè penso possano essere idee utili da condividere e, eventualmente, potrebbero stimolare anche la mente di qualcuno per "creare" qualcosa di condiviso!
Title: Re: Domotica con Arduino
Post by: scoobydoo on Aug 10, 2010, 05:45 pm
Ragazzi, complimenti per l'entusiasmo! L'automazione domestica è un sogno che avevo fin da bambino quando mio padre mi raccontava della possibilità di comandare carichi elettrici con la "user port" del Commodore 64 (un amico suo lo faceva negli anni 80).

2 anni e mezzo or sono ho dovuto ristrutturare casa in pochi mesi (volevo sposarmi...) e sono stato indeciso se partire subito con Bticino SCS oppure Konnex. Per semplicità, completezza e per ragioni di costi ho optato per il primo.
Sono estremamente soddisfatto anche perché con pochissimo tempo ho messo in piedi un sistema automazione (con scenari) e sicurezza (antifurto interconnesso con l'automazione) che non fa una piega, ed è controllabile da PC e via Internet.
Ora che posso affrontare le cose con più calma sto lavorando su Arduino per integrare il sistema in essere con funzionalità mancanti con BTicino.

Magari quando ho 5 minuti vi descrivo le mie realizzazioni :)

Un caro saluto a tutti
Marco
Title: Re: Domotica con Arduino
Post by: osmosis on Aug 12, 2010, 10:30 am
Ciao a tutti, sono l'amico di astroz che collabora al suo progetto :)

Ho letto l'ultima parte del thread e ho delle grandi perplessità sul bus di campo. Sicuramente è una soluzione molto versatile dove tutti comunicano con tutti ma il problema principale è che interfacciare pulsanti e prese al bus non è cosa né semplice né economica, dal mio punto di vista. In sostanza non cambierebbe nulla rispetto a una soluzione BTicino MyHome, tanto per dirne una, se non la complessità di doversi fare le cose da soli e non trovarle già preconfezionate e funzionanti.

Per fare in modo che ogni input (pulsanti o sensori) e ogni output (presa o luce che sia) siano autonomi, quindi in grado di identificarsi e di comunicare, bisognerebbe che siano questi ad avere una logica e quindi servirebbe un'apparato elettronico in ogni scatola. Poi non ho capito, si userebbe comunque un "nodo" centrale che riceve input e comanda output? Se si, sarebbe il single point of failure del sistema, rotto quello si blocca tutto (si potrebbe mettere un altro nodo per fare failover ma è comunque tutto troppo dipendente da un singolo componente); se no, perché ogni "scatola" sa autogestirsi, vuol dire che ci sarà un arduino+shield (rs485, can o chicchessia) in ogni scatola di casa... decisamente poco conveniente.

Insomma, va bene la logica distribuita ma non sugli endpoint del sistema. La soluzione attualmente in funzione a casa di astroz, invece, la trovo il miglior compromesso tra distribuzione e accentramento della logica ed è stata la cosa che mi è piaciuta di più quando mi propose di aiutarlo nel rendere concrete le sue idee. La logica dei comandi (cosa fare su un output leggendo un input) è centralizzata ma allo stesso tempo è distribuita nelle varie zone di casa, in modo che se un nodo si guasta blocca solo parte del sistema e non tutto. Tutto ciò, però, non vieta che si possa applicare un bus di campo anche a questo sistema.

Fondamentalmente, quindi, la grossa differenza tra le due filosofie sta nel chi decide cosa vada fatto: con il bus di campo è l'output che decide come rispondere ad un input mentre nel caso di astroz è l'input che decide come comandare gli output. Entrambe le filosofie sono valide, è più una questione di "gusto".

Riguardo la manutenibilità per l'utente medio si tratta solo di curare un po' di più "l'interfaccia utente" dei vari pezzi, renderli più modulari possibile e, volendo, rinchiuderli in una "black box" a cui l'utente deve solamente attaccare i cavi dei pulsanti e quelli delle utenze (prese/luci), poi tramite un tool di configurazione su pc si configura la sua scatola nera. Si rompe qualcosa? Si cambia la scatola e si riconfigura. Invece per quanto riguarda pulsanti, prese e luci si tratta di cose standard e quindi chiunque saprebbe metterci mano.
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 12, 2010, 11:20 am
Quote
Ragazzi, complimenti per l'entusiasmo! L'automazione domestica è un sogno che avevo fin da bambino quando mio padre mi raccontava della possibilità di comandare carichi elettrici con la "user port" del Commodore 64 (un amico suo lo faceva negli anni 80).


Capirai...a parte che la passione ce l'ho pure io da ragazzino, ma mi è tornata su quando un mio collega (che tra l'altro anche lui sta collaborando al mio progetto domotico...anche se non fisicamente e praticamente, ma solo a livello di progetto) negli anni 80 ha messo in piedi in casa sua un progetto domotico con:
- commodore vic20 che comunicava con un bus fatto da...indovinate???? I tubi del termosifone...in effetti essi, di metallo, formano un bus che gira in tutta casa
- altro commodore vic20 che gestiva l'interfaccia utente mostrata sulla tv e comandata tramite telefono cordless (a toni)...quando alzava la cornetta con i numeri da 1..9 agiva sulle voci di menù, con lo 0 il sistema gli dava la linea per chiamare all'esterno

...insomma lui è più matto di me! :)

Grazie, grazie, grazie, grazie, grazie, non finirò mai invece di ringraziare OsMoSiS per l'aiuto che mi sta dando...siamo due matti...sembriamo due bambinoni cresciuti che giocano con le LEGO per i grandi!  ;D ;D ;D
Title: Re: Domotica con Arduino
Post by: stefano72 on Aug 12, 2010, 03:52 pm
Ragazzi! che invidia: mentre sono qui a sragionare su queste cose, siete già quasi alla fine della realizzazione!
Ma poi pubblicate uno schema a prova d'idiota (me) per riprodurre la stessa cosa (stile Lego, con l'elenco dei pezzi)
Anzi, si potrebbe provare a produrre le black.box...!

Mi piacciono le idee pazzesche: quella dei termosifoni è meravigliosa! :d
poi però ho pensato alle serpentine radianti sotto pavimento :d... ;)
Title: Re: Domotica con Arduino
Post by: FabianoAbate on Aug 21, 2010, 10:40 pm
Salve a tutti,
e scusate il disturbo, ma allora questo protocollo è stato trovato?

Title: Re: Domotica con Arduino
Post by: gabriele on Aug 22, 2010, 12:31 am
Il post è MOLTO LUNGO, ma vale la pena di leggerlo, perchè riassume ed integra tutto il thread.

Prima di tutto è necessario scegliere il layer fisico (Phisycal, Layer 1), che detto in maniera molto semplicistica, definisce la cavetteria e le tensioni di comunicazione.
Scelto questo, possiamo scegliere quello superiore, il layer di collegamento (Datalink, Layer 2), che, sempre molto semplicisticamente, definisce la modalità di scambio dei dati.

Le alternative considerate del layer 1 sono: RS485 e CAN
Le alternative considerate del layer 2 sono rispettivamente:
   RS485: MODBUS
   CAN:   OpenCan

CAN

Can è nato per la gestione di logiche automotive, su auto e camion, e da alcune fonti si deduce che può usare cavi al massimo di 40 metri (http://www.can-cia.org/index.php?id=88#c2032), quindi potrebbe essere un problema (http://www.port.de/cgi-bin/CAN/CanCableLength).
Wikipedia dice che si raggiungono anche 500 metri (http://en.wikipedia.org/wiki/Controller_area_network#Technology ), a patto di andare ad una velocità inferiore: questo è un punto importante da chiarire.

Il bello di questo protocollo è che è MULTIMASTER (http://www.computer-solutions.co.uk/info/Embedded_tutorials/can_tutorial.htm), cioè tutte le periferiche possono sia inviare che ricevere dati sul bus.

Una lista dove si discute di CAN è qui (http://tech.groups.yahoo.com/group/CANbus/).

Per CAN bastano 4 fili:
2 x alimentazione (+vcc e gnd)
2 x dati (can_h e can_l)

CANOPEN

Per il layer 2 si potrebbe usare tra le alternative CanOpen, che è la versione più semplice.
Tanto per dire, qui (http://www.can-wiki.info/) e qui (http://www.can-cia.org/index.php?id=171) c'è un sunto delle caratteristiche.
CanOpen supporta 127 dispositivi, una bella cosa è che gestisce anche messaggi di emergenza (fault) che hanno priorità sugli altri.

Un'implementazione che supporta AVR è CanFestival (http://www.canfestival.org/)
Altre implementazioni sono elencate qui (http://reprap.org/wiki/CANopen), e mi ricordo che già tempo fa il buon Claudio Lanconelli aveva realizzato il suo impianto di domotica basato su AVR e CAN rilasciando il progetto Caraca (http://caraca.sourceforge.net/) che utilizzava un micro AVR ormai obsoleto.

I reprappisti indicano anche altri link (http://reprap.org/wiki/CAN_AVR#ard.27ware) per arduino per arrivare a dire alla fine che è meglio usare i micro AVR della serie automotive, che hanno gioà CAN a bordo, che non mi sembra però siano di facile reperibilità.

Per informazione, Can è gestibile anche da linux con SockeCAN (http://en.wikipedia.org/wiki/Socketcan).

Un'implementazione diretta di CAN fatta con Arduino è stata già discussa sul forum, ed ha portato a questo progetto (http://real2electronics.blogspot.com/2010/06/can-bus-mcp2515.html).
Un altro progetto, nato per collegarsi all'interfaccia OBD-II CAN delle auto è questo (http://code.google.com/p/opengauge/wiki/OBDuinoInterface).

E poi si ... esiste anche uno shield (http://code.google.com/p/skpang/shield) con delle librerie di base.

I chip di interfaccia con il mondo CAN sono MCP2551 (5 euro circa) e MCP2515 (2 Euro circa), usati nello shield precedente.

RS485

Un'ottima introduzione al protocollo è questa (http://www.vincenzov.net/tutorial/rs485/rs485.htm).

Leggendo qui (http://www.lammertbies.nl/comm/info/RS-485.html), vedo che il numero massimo di dispositivi indirizzabili è:


Inoltre la topologia di rete dovrebbe essere lineare, altrimenti non è possibile terminare il bus, e la riflessione del segnale potrebbe provocare problemi. Non dovremmo andare distanti km, quindi potremmo fergarcene e collegare tutto normalmente.


Ci sono due tipi di funzionamento:
MASTER: un solo dispositivo invia i comandi
MULTIMASTER: tutti i dispositivi possono inviare dati (ma ha bisogno di ethernet e tcp).

In pratica occorrerebbero 4 fili
2 x dati
2 x alimentazione

RS485 è il layer fisico di trasmissione, la logica di gestione dei dispositivi viene gestita da un protocollo allo strato superiore.

MODBUS

Spulciando qua e là (non è vero, me ne sono accorto quasi alla fine della scrittura di questo testo), esiste già un protocollo che gestisce uscite on off ed analogiche, che i tizi di tinker.it consocono bene: si tratta di DMX512 (http://en.wikipedia.org/wiki/DMX512), che è totalmente impelenmtato con arduino (esiste anche uno shield). Il problema però è che questo protocollo è unidirezionale, cioè può solo scrivere da un master su uno slave, e non può ricevere feedback.

Un protocollo bidirezionale aperto e royalty free (quindi veramente FREE) è MODBUS.

Leggendo qui (http://en.wikipedia.org/wiki/Modbus), si vede che MODBUS esiste in più versioni:


Il numero massimo di dispositivi indirizzabili è inferiori ai 256 del layer fisico, ed è di 247

Da quanto ho capito, se si vuole utilizzare la modalità MULTIMASTER, che dovrebbe servire ad esempio, per inviare un comando da un dispositivo all'altro, è necessario implementare una logica che eviti le collisioni, e per questo si usa ethernet e TCP.

""In serial and MB+ networks only the node assigned as the Master may initiate a command, but on Ethernet, any device can send out a Modbus command, although usually only one master device does so. A Modbus command contains the Modbus address of the device it is intended for. Only the intended device will act on the command, even though other devices might receive it (an exception is specific broadcast-able commands sent to node 0 which are acted upon but not acknowledged). ""

Quindi ? Dobbiamo usare ethernet e quindi complicarci la vita e spendere di più ?

Se siamo obbligati ad usare la modalità master, l'arduino master dovrebbe "pollare" continuamente il bus per vedere se ci sono cambiamenti sui dispositivi ...

Qui (http://www.lammertbies.nl/comm/info/modbus.html) viene spiegato come vengono costruiti i messaggi.

FREEMODBUS
Un'implemenatzione open di Modbs è FreeModbus (http://www.freemodbus.org), che guarda caso, è anche portata su AVR :D
I requisiti di memoria dovrebbero essere adeguati ad arduino o altri micro atmel.

Ciliegina sulla torta, qualcuno ha già implementato Modbus per arduino, certo non sono implementazioni perfette e 100% standard compliant, ma il grosso è fatto ...
La modalità Master usa questa libreria (http://www.arduino.cc/playground/Code/ModbusMaster), ovvero questa è una libreria per interrogare altri slave sulla rete.

Se invece si vogliono gestire sia periferiche master che slave, la librearia da usare è questa (http://sites.google.com/site/jpmzometa/)

Per i test è possibile usare QModBus (http://qmodbus.sourceforge.net/), mentre un gateway TCP-MOdbus è mbusd (http://mbus.sourceforge.net/)

Ora l'elettronica.

Un convertitore RS232 è questo (http://www.vincenzov.net/progetti/rs485hw.htm). che ci dice che avendo una seriale, basta utilizzare un convertitore MAX485 e poco altro. Costa circa 5 euro (l'smd di meno). Maxim è come sempre cara ...

Un altro transceiver utilizzabile è il DS75176BN, costa poco più di 1 euro (l'smd di meno) che è usato nello shield DMX (http://www.arduino.cc/playground/DMX/DMXShield)

Questo tizio (http://real2electronics.blogspot.com/2009/09/arduino-and-rs485-english-version.html) ha sperimentato il tutto senza librerie. Qui (http://www.arduino.cc/yabbfiles/Templates/Forum/default/xx.gif) spiega come collegare il max485 all'arduino.
In questo thread, loro sono già avanti ...

Qui invece (http://pskillenrules.blogspot.com/2009/08/arduino-and-rs485.html) la serial edel PC si connette all'arduino via rs485.


Un'alternaiva per il layer 2 sarebbe VSCP: è un protocollo che può stare sopra a Ethernet, TCP/IP, Wireless, Zigbee, Bluetooth, CAN, GPRS, RS-232, USB e quindi anche a rs485 vedi http://www.vscp.org/wiki/doku.php/vscp/00_vscp_intro

Manda i comandi in broadcast, è event based, così ogni nodo regisce ad un evento.

Autoconfigura gli indirizzi dei nodi

Il sito http://www.vscp.org/ ha anche una tonnellata di schemi per ogni sorta di interfaccia: powerline, can2usb, etc !
Qui però s'ha tutto da fare con arduino.

In definitiva: se ci va bene il funzionamento MASTER, usiamo MODBUS, altrimenti dobbiamo scegliere CanOpen, ma verifichiamo la distanza massima. VSCP mi sembra indietro nel mondo AVR rispetto agli altri due ...

MASTER O MULTIMASTER
Qui (http://usapiens.blogspot.com/2007/10/rs485-vs-can.html) si discute della diatriba RS485 vs CAN

Ed ecco una di quelle implementazioni custom (http://www.bdmicro.com/code/robin/) per trasformare RS485 in MULTIMASTER. Qualcuno la critica (http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=85532&start=0) al punto di dire che che non funzioni, proponendo di intraprendere la strada di uLan (http://ulan.sourceforge.net/), come aveva già proposto Daniele su arsdomotica, ma qui è veramente tutto da fare da zero ...
Title: Re: Domotica con Arduino
Post by: gabriele on Aug 22, 2010, 12:32 am
Un'alternativa standard per implementare la gestioni delle collisioni su RS485 èJ1708 (http://en.wikipedia.org/wiki/J1708), tutt'ora in uso sui grosi camion, che però ha il limite dei 40 metri. Microchip ha una application note (http://ww1.microchip.com/downloads/en/AppNotes/01230A.pdf) al riguardo.

Ci sarebbe anche DNP3 (http://en.wikipedia.org/wiki/DNP3), preso dal mondo SCADA, oppure anche Profibus che è stato sviluppato anche in maniera open, ma c'è una diatriba sul patent (http://www.pbmaster.org/en/index.pl?action=patents), e quindi non si può usare.


Massimo dice in un post:
"è possibile implementare il multi master con rs485 bisogna stabilire una logica per gestire le collisioni.
All'MIT hanno implementato un progetto che chiamano internet0 dove portano il protocollo IP sul microcontrollore usando l'rs485 invece che il transceiver ethernet classico. Non si sa molto di come l'hanno implemetato perchè pare che l'abbiano venduto ad  un'azienda ed è tutto confidenziale."

Internet0 (http:// http://www.rbeverly.net/research/current/i0/draft-gershenfeld-i0-00.html) potrebbe essere davvero la soluzione.


PS: non capisco una fava di elettronica, perdonatemi ...
Title: Re: Domotica con Arduino
Post by: pictux on Aug 22, 2010, 03:18 pm
Caspita Grabiele,
proprio una bella panoramica (non solo riassuntiva).
Grazie!
Title: Re: Domotica con Arduino
Post by: Guglio on Aug 23, 2010, 12:46 am
Ciao a tutti, questa discussione è lunga ed interessante, ho fatto una full immersion nel topic me ne manca ancora un pezzetto..
Anche se ne capisco poco di elettronica sono molto interessato al topic e alla domotica in generale, spero di riuscire a scoprire qualcosa di nuovo!
LukeSkyChopper, per ospitare il sito flosba.org se vuoi posso tenerlo sul mio server, confrontato a google sites deve esserci la sua bella differenza..
Title: Re: Domotica con Arduino
Post by: whole on Aug 23, 2010, 07:45 am
Ciao ragazzi,
mi associo a Guglio e do la disponibilità, ho anche io una serie di servers che uso per lavoro quindi se volete posso contribuire con l'hosting e/o installazione della piattaforma (sito) per ospitare il progetto, non avremo limiti di spazio e banda.
Ciao
Title: Re: Domotica con Arduino
Post by: bl4d3 on Aug 23, 2010, 08:59 am
Scusate, io sono partito in quarta non curandomi di questo thread ed ora sono messo così (a pagina 2 c'è uno screenshot di un app per "pilotare casa")

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1281726774

Penso che sia attinente con l'argomento di questo thread.

Non sono passato da da rs232, modbus o simili. Mi sono semplicemente appoggiato sopra al tcp/ip perchè è quello che so maneggiare meglio e non volevo tirare altri fili nell'impianto di casa :)


Title: Re: Domotica con Arduino
Post by: marcotasto on Aug 23, 2010, 09:22 am
Buongiorno a tutti e complimenti a Gabriele per il suo riassunto.

Volevo un po' mischiare le carte in tavola aggiungendo questa proposta che esce un po' dalle strade percorse fino ad ora. Tutti i protocolli enunciati sono basati su una segnalazione di tipo digitale... perche' non adottare, invece, una segnalazione di tipo "analogica"? Un po' cio' che accade sulle linee telefoniche. Mi spiego meglio: se si definissero almeno due differenti simboli (ad esempio un simbolo formato da un mix di due o tre frequenze e l'altro dall'assenza di segnale o da un mix di frequenze differenti da quelle del primo simbolo) e si trasmettessero tali simboli in sequenza? Si otterrebbe qualche cosa di simile ai toni DTMF. Si potrebbero utilizzare i timer dell'AVR per generare i toni; ho visto una application note per i PIC, invece, che dimostrava come fosse possibile fare una detection dei DTMF in software.

Per un iniziale sistema domotico non servono grosse capacita' di banda ed il sistema a toni potrebbe essere una soluzione a basso costo. Avrebbe, inoltre, altri vantaggi quali:
- basterebbe un normale doppino
- potrebbe essere multimaster
- si potrebbe portare anche l'alimentazione sullo stesso doppino
- il doppino potrebbe non essere terminato e si potrebbero avere configurazioni a stella (si ipotizza di utilizzare toni a bassa frequenza)
- avrebbe un costo abbastanza ridotto poiche' la sezione driver e' ridotta

Inoltre si lascerebbe "libera" la parte ad alta frequenza per un possibile sviluppo futuro (ad esempio trasmettere audio e/o video in FM)

Idea troppo balorda?
Saluti a tuti, Marco.
Title: Re: Domotica con Arduino
Post by: gabriele on Aug 23, 2010, 10:56 am
@bl4d3: bella cosa ! Con TCP/IP è tutto sicuramente facile. Il problema è il "costo".
Anche io se dovessi usare TCP/IP avrei già automatizzato anche lo sciacquone del bagno, ma pensare di dover mettere un controller ethernet per gestire una lampadina, non mi pare una buona idea (in ogni caso mi sto documentando per realizzarne uno a bassissimo costo).
Ritengo che una soluzione a doppino semplice sia la più corretta, in termini di costi e prestazioni. Se poi c'è l'esigenza di avere un'apertura verso TCP/IP, si può installare un nodo che faccia da bridge tra i due protocolli.

@Marco: Perchè inventare qualcosa quando abbiamo già dei protocolli già bellie pronti ? La tua idea è ottima, semplice ed economica.
Per realizzarla, però dovremmo definire il funzionamento sia sul layer fisico, rispondendo ad esempio a queste domande:
* I toni quanti metri possono viaggiare senza avere problemi ?
* Abbiamo bisogno di amplificatori, filtri o altro ?
* A che velocità possiamo andare ?
* Come viene preso possesso del bus ?

Sia sul layer datalink:
* Come gestiamo la comunicazione dei messaggi ?
A questo punto potremmo pensare di utilizzare uno dei due protocolli già visti, e cambiare solo il layer fisico.

Personalmente mi troverei meglio a gestire bit che a processare valori analogici, ma si sa, non capisco una fava di elettronica :D
Title: Re: Domotica con Arduino
Post by: bl4d3 on Aug 23, 2010, 11:15 am
@Gabriele la mia idea è quella di avere un solo nodo con interfaccia eth e gli altri "Arduini" posizionati dove ho le scatole di derivazione in casa (così posso accedere a tutte le prese/luci/altro di un piano/zona in base a come è stato realizzato l'impianto elettrico) che comunicano con l'Arduino che ha eth attraverso RF. In questo caso riesco a ridurre i costi, dovrei mettere un Arduino e un ricevitore RF. E' fattibile secondo voi?

Ciao a tutti!
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Aug 23, 2010, 01:28 pm
Complimenti anche da parte mia a Gabriele per il suo riassunto/panoramica corredata di tutti i link...gran lavoro!

Vorrei sollevare una piccola questione a cui forse non avete pensato (anch'io all'inizio non ci avevo pensato), il sistema con doppino a bus è bello, economico e vantaggioso solo se ogni modulo sarà presente in ogni "scatoletta prese", perchè così nei tubi per quanto riguarda gli ingressi e i sensori dovrebbe correre solo il doppino che sarà presente in ogni scatoletta.
Per le prese, visto che tanto i cavi che portano la corrente devono arrivare alla scatoletta, tanto vale pensare ad una soluzione centralizzata in scatoletta di derivazione
Title: Re: Domotica con Arduino
Post by: Guglio on Aug 23, 2010, 01:54 pm
Io non ho ancora capito una cosa: voi volete comandare ogni luce ed ogni presa via arduino..
Per le prese basta beccare la scatola di derivazione giusta e il filo giusto..
Ma per gli interruttori come fate?
A me l'unica soluzione economica che viene in mente è quella di montare un relè nello scatolotto di un interruttore, e portare i cavi che eccitano il relè nella scatola di derivazione, giusto?

Vi spiego anche intanto che ci sono il mio progettino, non ho intenzione di comandare spine e luci (per il momento  8-))
Per ora il progetto prevede 2 Arduini
Il primo in camera equipaggiato con
- un sensore di temparatura
- due Led IR (connessi alla stessa uscita digitale) uno che rimane in camera e uno che passa in salotto
-  8 transistori che servono a controllare 4 prese remote (Kit Lidl 20?)
- Relè collegato all' apri cancello
- Servomotore

Il secondo Arduino sarà in cucina connesso anche lui a un Led IR (per la tv), un sano relè e un sensore di presenza (consigli? Devo ancora comprarlo)

Il primo Arduino è sicuramente collegato in ethernet ad internet.
Il secondo devo pensare a come farlo dialogare con il primo.. o powerline, o un ponte radio o IR..
Bah..


Comunque arriviamo a quello che può fare questo progettino:
Come arrivo in casa premendo un bottone mi si accende la luce del salotto (1° presa remota) e mi si accende la TV e il decoder con il led nascosto sotto il divano.
Quando non trovo il telecomando posso cambiare canale direttamente dal cellulare, idem vale per la tv della cucina.
Di notte se vado a bere con il sensore di presenza mi si accende la luce.
E quando c'è più di tot temperatura mi si accende la ventola in camera.
Quando arrivo a casa posso aprire il cancello senza telecomando.
Una delle 4 spine remote mi scollega il router di notte (meno radiazioni wireless)
Funziona anche come piccolo sistema anti ladro: posso far accendere luci e televisione in modo random.
E poi il sistema "social":
Ho un bot di msn che sta perennemente connesso a internet, i miei amici per sapere se sono a casa o meno possono chiedere al bot e se sono a casa il server invia un segnale all' arduino che mi fa "blinkare" le luci per informarmi che qualcuno mi ha cercato.
Mentre quando ricevo le email o ho qualche notifica su Facebook un servo alza la bandierina in una cassetta della posta (Idea scopiazzata http://www.youtube.com/watch?v=HYnR_bWVKT4) e mi fa blinkare per tot secondi la luce del salotto.
L'ultima parte rigorosamente in PHP sul server, in modo da non avere pc accesi a casa..

Mi piacerebbe poter comandare ogni luce in casa ma dovrei smontare ogni interruttore e diventa troppo complicato.
Title: Re: Domotica con Arduino
Post by: orso on Aug 23, 2010, 01:57 pm
Ciao a tutti,

sono interessato alla materia anche perche' gia' da tempo un'Arduino controlla le tende da sole di casa mia.
Vorrei solo esternare alcune note (forse gia' riportate nel post) che personalmente trovo interessanti e che si trovano nelle soluzioni commerciali:

Per semplificare i cablaggi (soprattutto su vecchie case) il bus dovrebbe essere un doppino che contemporaneamente alimenta i dispositivi remoti (stile konnex, lonworks o 1-Wire).

Nodi remoti con con cuore Arduino molto compatti per essere installati direttamente sulle scatole 503/506 e magari ri-programmabili via bus

Master ovviamente Arduino ma deve comunque comunicare con PC per la gestione avanzata, GUI, Networking ......

Esitono moti protocolli utilizzabili ma trattandosi di OpenHW perche' non immaginare un protocollo nuovo per Arduino da utilizzare su doppino non solo per domotica ma in generale per far parlare/alimentare/riprogrammare nodi?











Title: Re: Domotica con Arduino
Post by: stefano72 on Aug 23, 2010, 02:29 pm
Direi che tra i punti fermi (relativi all'impiantistica tradizionale) ci sono:
1) ridurre i cablaggi
2) portare l'alimentazione degli apparati direttamente sul cavo (PL o doppino o PoE)

Per gli interruttori, continuo a proporre la soluzione che ho visto in giro x internet: un pulsante che, premuto, genera una piccola corrente elettrica in grado di alimentare il sensore RF (o IR) ed inviare il comando.
Non si potrebbe fare un progettino open x questo?
Quanto potrebbe costare? Quanto è complicato realizzarlo?
Avete idea di quanto sia pratico? Uno se lo fissa dove vuole, lo riposiziona quando vuole, niente scassi, lavori ai muri, intonaci, tracce: più della metà del problema e dei costi si risolve!
In pratica rimarrebbe solo da collegare e alimentare solo attuatori e sensori!

Al di là del fatto che lo stesso sistema, montato sui sensori (e in questo caso magari con una batteria da orologio), servirebbe per trasmettere i dati della temperatura. Mentre i sensori antieffrazione (alle finestre) potrebbero usare lo stesso sistema per generare corrente e inviare il segnale d'allarme... e avere una tonnellata di cavi e tracce e scassi in meno...

PS ho un dubbio x il doppino telefonico: essendo bassa tensione, non dovrebbe passare nelle normali tracce elettriche! Avrebbe pure problemi d'interferenza
Title: Re: Domotica con Arduino
Post by: Guglio on Aug 23, 2010, 04:20 pm
Ciao Stefano..
Molto bella anche quest'idea ma questi pulsanti generano abbastanza corrente?
Su internet ho visto dei moduli che si chiamano HopeRF, non ho capito bene come funzionano, gli avete già provati?
Title: Re: Domotica con Arduino
Post by: stefano72 on Aug 23, 2010, 04:58 pm
Ciao!
No, mai provati ma l'idea è piuttosto interessante e sostenibile!
Poi penso possa essere un sottoprogetto modulare e open da integrare con Arduino.
Purtroppo, le mie conoscenze in elettronica sono nulle...
Title: Re: Domotica con Arduino
Post by: pictux on Aug 23, 2010, 05:09 pm
Stefano72,
non ho capito di cosa stai parlando.

Oltretutto,  come interruttori non basterebbero dei semplici switch (esistono anche per Ticino, Ave, etc etc)?

Title: Re: Domotica con Arduino
Post by: Guglio on Aug 23, 2010, 05:50 pm
Parla di interruttori che generano energia quando sono premuti..
Secondo me non ne producono abbastanza, o se la producono ne fanno per poco tempo e l'arduino non fa in tempo a caricarsi e inviare il dato d'accensione
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 23, 2010, 06:27 pm
Signori,
doppino, non doppino...voi vorreste mettere un arduino in ogni 503 che contenga anche un solo pulsante (o 3...è indifferente) o 506?

1° non vi entrerà mai ma proprio mai
2° ma avete idea di quanto costerebbe il progetto? Avreste per casa decine di arduini
3° quando dovrete riprogrammare i vari nodi che fate aprite ogni 503 e attaccate il cavo USB? L'arduino non si può riprogrammare da remoto
4° la dissipazione del calore in una scatola quasi ermeticamente chiusa?

E poi gli attuatori? Mettere i relè direttamente nelle varie 503? Ritorniamo a:
1° non entreranno mai
2° se non è un qualcosa di assolutamente ben studiato e progettato (il che vorrebbe dire x me che il frutto stesso deve essere "domotico") và a fuoco tutto x la dissipazione, etc.

Io dovrei postarvi qualche info sul mio progetto un po' + "chiara" xkè mi sà che non avete capito come ho fatto! E mi riferisco al fatto che si dovrebbe intervenire nelle scatole di derivazione e non in ogni "punto luce".

E pure nelle scatole di derivazione non vi credete ci sia posto...io le ho ingrandite tutte di almeno 10 volte.
Title: Re: Domotica con Arduino
Post by: Guglio on Aug 23, 2010, 07:41 pm
Quindi tu hai portato i cavi degli interruttori nelle scatole di derivazione?
Quindi sono 3 fili per tasto (massa, positivo dell' interruttore, positivo del relè)
Mettere un "vero" arduino è da suicidio, 30? a 506  :o :o
Basterebbe un atmega da solo con già lo sketch che è molto più piccolo..
Solo che per fargli arrivare la corrente ci vuole o un trasformatore o un filo che porti i 5v già regolati..
Poi ci vuole però la connettività (HopeRF ??)

Non so quale delle due è la soluzione migliore..
Nel primo caso ci sono da tirare dei fili, spaccare il muro per ingrandire la scatola di derivazione e diventare matti per trovare il cavo giusto (almeno nel mio caso) nella scatola di derivazione..
Nel secondo caso ci vorrebbe una scheda come questa 'compressa': (prezzo<$7)
(http://www.instructables.com/image/FP1G1SFG8XPR3E5/Perfboard-Hackduino-Arduino-compatible-circuit.jpg)
E un relè per 506..
Solo che ha il problema dell' alimentazione e della trasmissione dei dati..

C'è anche il problema del calore: nel primo caso se mettiamo un regolatore, nel secondo se usiamo una shield ethernet
Sulla scheda di derivazione però posso anche cacciarci una ventola..

Spero di non aver detto troppe cazzate, dite la vostra che io ho detto la mia!
Title: Re: Domotica con Arduino
Post by: Ambrogio on Aug 23, 2010, 09:20 pm
Vi dico la mia esperienza: io ho cominciato a predisporre il mio impianto domotico qualche anno fa quando ancora stavo corstuendo l'appartamento. All'epoca non avevo molte conoscenze sulla domotica quindi ho fatto qualche errore, se potessi tornare indietro cambierei qualcosina.

Ho fatto una specie di quadretto con un arduino mega, 16 relè e una scheda fatta con degli ULN2003 (per comandare i relè) e un'alimentatore da 24V. Tutti i pulsanti per le luci e tutte le lampade fanno capo a questo quadretto. Se potessi tornare indietro e rimettere giù i tubi farei una cosa di questo tipo:

Relè statici da 5V, non da 24V magnetici. Una scatola per ogni stanza con un arduino 2009 per scatola (non un mega perchè dividendo l'impianto il più quadretti gli ingressi di arduino 2009 bastano). Gli arduino connessi tra di loro con un bus RS485.

Il sistema potrebbe essere espanso con dei moduli che si allacciano al bus ... per esempio posso fare una scatoletta con un ricevitore IR in modo che con un semplice telecomando posso avviare degli scenari per le luci, oppure potrei fare un modulino per rilevare le temperature (metto un lm35 con un'arduino nella solita scatoletta e gli collego il BUS) oppure ancora posso fare un ulteriore modulino che mi misura la corrente assorbita e fa il controllo carichi ...

Insomma la struttura che vorrei ottenere potrebbe essere questa:

Arduino x gestione luci sala (MASTER)
|
Arduino x gestione luci camera matrimoniale (SLAVE1)
|
Arduino x gestione luci cameretta (SLAVE2)
|
Arduino x gestione luci bagni + corridoio (SLAVE3)
|
Arduino x ricevitore IR scenari camera matrimoniale (SLAVE4)
|
Arduino x ricevitore IR scenari sala (SLAVE5)
|
Arduino x rilevamento temperatura esterna (SLAVE6)

tutti connessi tra di loro con il bus 485 ma mi piacerebbe usare un protocollo personalizzato principalmente per un motivo di praticità, mi spiego meglio:
ho visto un protocollo (ora non ricordo il nome) che comunica tipo in questa maniera:

ID_arduino - ID dell'ingresso da comunicare - tipo di dato trasmesso (digitale o analogico) - valore del dato (0 o 1 per il digitare 0:255 per l'analogico)

questo tipo di protocollo è già bello fatto ma ci permette di inviare sulla rete solo lo stato degli ingressi dell'arduino, a me invece piacerebbe fare un protocollo del tipo:

MASTER chiede:
SLAVE1 hai qualcosa da counicarmi ? NO
SLAVE2 hai qualcosa da counicarmi ? NO
SLAVE3 hai qualcosa da counicarmi ? NO
SLAVE4 hai qualcosa da counicarmi ? NO
SLAVE5 hai qualcosa da counicarmi ? SI, è stato attivato lo scenario "Abbandono casa"

allora master attende 30 secondi e invia a SLAVE1, SLAVE2 e SLAVE3 di spegnere tutte le luci.

Non so se sono riuscito a farvi capire cosa vorrei fare riguardo al protocollo ... spero di si  :P

Cosa ne pensate ?

Title: Re: Domotica con Arduino
Post by: stefano72 on Aug 23, 2010, 10:47 pm
L'interruttore di cui parlo non è connesso ad un arduino; la pressione del tasto serve a generare la corrente elettrica per alimentare il trasmettitore RF e il chip che manda il comando...
Purtoppo non riesco a ritorvare il link...
Title: Re: Domotica con Arduino
Post by: Guglio on Aug 23, 2010, 11:16 pm
Ma tu volevi usare l'interruttore per segnalare al master più vicino di accendere la luce?
Ad esempio se per accendere una luce ci sono due interruttori nel primo monti un relè e nel secondo una roba come dici tu?
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 24, 2010, 10:59 am
Regà...anche mettere un ATMega con il minimo hardware è:
1° costoso
2° resta il problema della temperatura
3° difficoltà aggiornamento firmware
4° molti più possibili punti di "fault" del sistema...e quindi è molto più distribuito l'intervento di indagine/soluzione del problema

Per quanto riguarda il mio sistema, per chi me lo chiedeva nei post precedenti, pur avendolo descritto nelle pagine prima di questa, probabilmente mi sono espresso male e cmq pur essendomi espresso bene non è facile descrivere e far capire a fondo ciò che ho fatto!

Io ho inserito la logica (PLC) nelle scatole di derivazione...ad ogni scatola di derivazione arrivano:
- cavo ethernet per mettere in "rete" la centralina (PLC)
- cavi unipolari da 1.5/2.5 mm che vanno in giro verso le varie "prese" o "luci" che quella scatola di derivazione serve
- cavi a bassa tensione (ho usato cavo dell'allarme che ha un costo irrisorio) che vengono da tutti i pulsanti che quella scatola di derivazione serve

Questa è la "distribuzione" dell'hardware che ho previsto...e io insisto che la comunicazione ethernet non è affatto più costosa di un sistema a bus RS485 o CANBus. Ricordiamoci che il protocollo TCP e quindi tutti i layer sottostanti a quello di "data" intrinsecamente già risolvono: questioni di link elettrico, questioni di collisioni, protocollo di impacchettamento dei dati e indirizzamento dei nodi...non mi pare poco! Ovvio che questo è fattibile fintanto che i nodi sono pochi (nel mio caso 5 nodi per una casa di 160mq formata da 2 saloni, 2 cucine, 3 bagni, 4 camere, giardino e quindi luci esterne e impianto di irrigazione...considerato pure che in questi 5 nodi gestisco pure l'accensione della caldaia e le 3 elettrovalvole che isolano i vari piani di casa per quanto concerne il riscaldamento).

Continuo a sottolineare però dei limiti:
1° la libreria Ethernet funziona veramente male...o sò io che sbaglio qualcosa...verificherò e cercherò di stabilizzare la comunicazione
2° la RAM per registrare la configurazione è veramente limitata

Riguardo il 2° punto si accettano idee/consigli.
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Aug 24, 2010, 11:48 am
Usando la memoria flash di arduino avresti più spazio disponibile rispetto alla ram, questa pagina spiega qualcosa riguardo PROGMEM (http://www.arduino.cc/en/Reference/PROGMEM).

Mentre io reputo che usare un cavo antifurto (o qualsiasi altro tipo) per ogni pulsante e portarlo fino a dove risiede l'arduino che fa da nodo, ai fini del cablaggio, sia l'equivalente di un cablaggio tradizionale.

Far girare un solo cavo a 4 fili e rendere ogni scatoletta "intelligente", renderebbe il cablaggio più semplice e veloce(minor perdita di tempo a tirare i cavi) a patto si, di avere più nodi e quindi un costo leggermente più alto.
Di certo non pensavo mica di far entrare un arduino con relativo shield per il bus in una scatoletta ma piuttosto pensavo ad una scheda fatta ad hoc, che magari integri un microcontrollore un po' più piccolo di arduino, ad esempio si possono programmare gli attiny13 (http://accrochages.drone.ws/en/node/38) e attiny2313  usando il linguaggio di arduino.
Per la parte di potenza avevo già detto che visto che il cavo che porta la corrente va comunque portato alla presa comandata o all'utilizzo, tanto valeva, fare una scheda relè "grande" da alloggiare in un quadretto e non nelle scatolette con le prese.
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 24, 2010, 12:46 pm
Sì avevo letto anche se superficialmente di poter sfruttare la memoria avanzata del firmware per i dati, ma non ricordo se:
- è leggibile/scrivibile senza problemi
- è volatile

In ogni caso sarebbe:
- troppo lenta
- leverebbe spazio per il firmware che pure quello non è eccessivo
- ogni volta che flashi un nuovo firmware perdi i dati di configurazione
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 24, 2010, 01:23 pm
Cmq la cosa del pulsante che genera energia etc.etc....a parte che pur essendo interessante l'idea, mi sembra improbabile che un escursione di mezzo centimetro di un pulsante possa generare sufficiente energia da alimentare un micro processore e un apparato radio che invia il comando...e in ogni caso mi sembrerebbe assolutamente e totalmente inaffidabile! Se premi troppo piano, o con poca energia? No no...
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Aug 24, 2010, 01:58 pm
non credo sia volatile, credo che la scrittura si comporti come quando flashi un nuovo firmware ma non ti so dire la durata in cicli di vita.
La lettura non sarà veloce come la ram ma di certo non è lenta...sufficiente allo scopo.
Io generalmente in tutte le sperimentazioni che ho fatto ho raggiunto al massimo 20kByte di Flash...ne rimarrebbero quindi ben 12 disponibili come memoria.
I dati di configurazione li perdi anche se li stai salvando nella sram quando carichi un nuovo firmware.
Title: Re: Domotica con Arduino
Post by: stefano72 on Aug 24, 2010, 01:58 pm
Beh, si potrebbe sempre alimentare con una batteria AAA o da orologio, in alternativa...
Cmq sarebbe come un telecomando: insomma, vari gradi di libertà; c'è chi comanda con
- smartphone
- DECT
- telecomando universale
- comandi vocali
- pulsante RF
- interruttore tradizionale +/- modificato

ognuno ha pregi e difetti.
Dal mio personale punto, non avere opere murarie, modficabilità a piacere dell'impianto, riutilizzo dei componenti è un bel vantaggio.
Fosse per me, farei anche totalmente a meno degli interruttori tradizionali, interfacciando DECT/smartphone/... per azionare le linee di potenza!
Avete presente i risparmi e la semplificazione dell'impianto?
Solo una soluzione così significa il -50%
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 24, 2010, 02:02 pm
Se vi và, nell'ottica della collaborazione e delle idee condivise, vi esporrei il mio problema per capire che ne pensate e come vi comportereste...scendiamo a livello più applicativo, ma tanto pure quello è un livello da affrontare.

Parliamo quindi del firmware del singolo "nodo" che, ne super-loop, vede sostanzialmente 3 servizi, nel mio caso:
1 - remote service: verifica se ci sono dati nel buffer della scheda Ethernet, se il comando è completo lo esegue
2 - local service: scandisce tutti i pulsanti collegati a quel nodo e se trova un evento lo esegue
3 - timer service: verifica se ci sono eventi schedulati, se ci sono li esegue

Il problema è per il punto 2...che, qualora si verifica un evento, deve sapere che cosa farne!!! Questo dato deve necessariamente essere in "configurazione" e quindi non-volatile (di modo che quando parte il nodo sà come "configurarsi" e deve essere caricato in RAM....è impensabile fare un accesso alla EEPROM ad ogni evento (troppo lento).

Per gestire il punto 2...la struttura dati necessaria per ogni pulsante (quindi deve essere un array formato dal numero di pulsanti previsti per il nodo) è:
- tipo evento (click, click lungo, double click)
- array di: tipo comando + 1..n destinatari

Esempio:
*** Per il pulsante 1
Se click => turnOn(1@local,2@local,1@nodo3) + turnOff(5@local,6@local,1@nodo2)
Se doubleclick => turnOn(2@local,1@nodo2,2@nodo2) + turnOff(1@nodo3)
Se click lungo => turnOff(1@local,2@local,3@local,1@nodo2,2@nodo2,1@nodo3)

*** Per il pulsante 2
Se click => InvertiStato(9)
Se doubleclick => turnOn(1,3) + turnOff(8, 18)
Se click lungo => turnOff(1,2,3,4,5,6,7,8)

...e così via...ora considerate che sò esempi buttati là...non sono "consistenti", ma comprendono un po' le varie possibilità.

Considerando che:
- 1 byte se lo prende il tipo di comando (turnOn, turnOff, invertiStato) comprensivo del destinatario (nodo locale o id del nodo remoto)
- 1 byte se lo prende l'id della porta
- 1 byte se lo prende il "tappo" (execute del comando)
- 1 byte se lo prende il tipo di evento (click/dblclick/longclick)
- 1 byte l'id dell'input (pulsante1 piuttosto che pulsante2)

...siamo a circa 95 byte...ovviamente questa gestione è ottimizzabile intanto evitando di fare un discorso tipo: comando1, porta1, execute + comando1, porta2, execute + comando2, porta3, execute...che si potrebbe trasformare in comando1 + porta1 + porta2 + execute + comando2 + porta3 + execute...ma non ho risparmiato molto!

Non ce la faccio a gestire tanti pulsanti/eventi/comando/destinatari se devo registrare tutto in EEPROM e cmq poi trasferire il tutto in RAM.

Forse non è molto chiaro quanto ho scritto...mah...difficile spiegarmi meglio!
Title: Re: Domotica con Arduino
Post by: dancelover on Aug 24, 2010, 03:03 pm
@Astroz78 recentemente anche io mi sono posto la problematica della configurazione di ogni nodo volendo mantenere pressochè identico il firmware per ogni modulo (diciamo così slave) che gestisce pulsanti (ingressi digitali), relè (uscite digitali) e sensori (ingressi analogici)

Tralasciando il fatto che utilizzo RS485 e protocollo custom per la comunicazione, ho inpiegato l'utilizzo di una sorta di matrice composta da un certo numero di Array: in pratica ogni colonna corrsponde ad un ingresso digitale, mentre ogni riga ha uno specifico significato.... ora mi spiego meglio:
Prendiamo parte del mio sketch:
Code: [Select]
//Digital Inputs Matrix
byte DIn_Ard_Pin_Buffer[11] = { //Buffer DIn(num)=>Arduino Pin (num)
 9,10,0,0,0,0,0,0,0,0};
byte DIn_Addr_Buffer[11] = {    //trigger Input to Address
 1,2,1,1,1,1,1,1,1,1};
byte DIn_Pin_Buffer[11] = {    //trigger Input to dest DOut
 0,1,2,3,4,5,6,7,8,9};  

leggendo in verticale la prima colonna abbiamo questo:
quando ricevo un input dal pulsante 0 sul pin 9 dell'arduino, manda al nodo con indirizzo 1 il comando "inverti stato" alla sua relativa uscita digitale 0 (che nel mio caso non corrisponde ad un pin ma c'è un'altra matrice che relaziona pin e uscita)

Per avere maggiore flessibilità ci vorrebbe ancora una riga nella matrice per definire il tipo di comando da inviare; oltre ad inverti stato, metterei qualcosa come accendi, spegni, duplicazione uscita(nel caso si volessero spegnere 2 punti luce con un comando), timer (utile per la luce in cantina che rimane sempre accesa).
Non utilizzando shift register, la mia matrice ha al massimo 11 colonne... se consideriamo abbondando 10 righe, arriviamo ad utilizzare 110 byte di memoria per l'intera configurazione del nodo...
il consiglio è di tenere la matrice sulla EEPROM e andare ogni volta a leggere il byte necessario liberando la ram
Come velocità di lettura su EEPROM non credo ci siano problemi evidenti e rimangono 1024-110 byte liberi per salvare altri valori

Probabilmente (ma non ne sono sicuro) hai problemi di spazio in ram a causa delle librerie ethernet e shift register ma se intendi pilotare un elevato numero di uscite consiglio il passaggio ad Arduino Mega
Altro vantaggio dell'adozione di queste matrici è l'elevata flessibilità.... se si vuole cambiare funzione di un pulsante, non è necessario smontare la scatola di derivazione per flashare arduino ma un semplice comando sul bus che modifichi la matrice per adattarla alla nuova configurazione  ;)

Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 24, 2010, 03:10 pm
Assolutamente sì per quanto riguarda la scrittura in EEPROM, poi la passo cmq in RAM xkè cmq la EEPROM è troppo ma proprio troppo lenta...non ho problemi di RAM per il momento, assolutamente, ma in ogni caso il tuo esempio è insufficiente per il mio caso...avevo già pensato alle matrici multidimensionali, ma non ho ancora trovato una quadra sufficiente.

Nel tuo esempio: come puoi alla pressione del pulsante 9, accendere 1 + 2 + 3 + 4 del nodo 1 e 5 + 6 del nodo 2? oppure accendere 1 + 2 + 3 + 4 del nodo 1 e spegnere 5 + 6 del nodo 2?
Title: Re: Domotica con Arduino
Post by: dancelover on Aug 24, 2010, 03:26 pm
la mia applicazione è molto acerba (infatti per adesso è solo implementato il "inverti stato" nella matrice) ma sufficiente al mio scopo.... quello che forse vuoi ottenere tu è l"attivazione" di uno scenario che potrebbe essere contenuto in una matrice molto più ampia contente tutto il sistema domotico che ovviamente non è possibile salvare tutta in EEPROM....
perchè invece non implementi un nodo specifico per gestire gli scenari?
pulsante9@nodo1==>request scenario1@nodoscenario==>accendere 1 + 2 + 3 + 4 del nodo 1 e 5 + 6 del nodo 2? in caso di modifica devi flashare solo il nodo scenario....
Title: Re: Domotica con Arduino
Post by: dancelover on Aug 24, 2010, 03:28 pm
Vorrei segnalare il link al protocollo SCS della domotica BTicino.. potrebbe essere un buono spunto per definire un protocollo di comunicazione
http://it.wikipedia.org/wiki/OpenWebNet
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 24, 2010, 03:49 pm
@Dancelover: avevo già letto quel wiki...a parte che riguardo il discorso dell'ottimizzazione dello spazio, non è affatto una soluzione, anzi per operazioni "banali" peggiora...ma poi in ogni caso non stò seguendo un protocollo definito da altri, bensì un mio protocollo! Sò che ha pregi e difetti questa condotta, ma oramai la mia politica è questa! :)

Per quanto riguarda il nodo "gestione scenari" ci ho pensato e non lo disdegno per ora, ma volevo evitare di coinvolgere troppi "punti" che possono essere point of failure.

In ogni caso ho in mente qualcosa che può essere interessante...cercherò di condividerla.

Vi posto l'attuale versione del mio protocollo:
Code: [Select]

--------------------------------------------------------------------------------------------------------------------------
| 1°byte | 2°byte | 3°byte | 4°byte | 5°byte | 6°byte | Descrizione                                                      |
|76543210|76543210|76543210|76543210|76543210|76543210|                                                                  |
--------------------------------------------------------------------------------------------------------------------------
|01111111|                                            | Esegue il comando                                                |
|01111110|                                            | Fine comunicazione                                               |
|01111101|                                            | Escape code                                                      |
--------------------------------------------------------------------------------------------------------------------------
|00000010|xxxxxxxx|        |        |        |        | Anteposto ad un comando, serve ad indicare il nodo (x)           |
|        |        |        |        |        |        | destinatario del comando successivo                              |
--------------------------------------------------------------------------------------------------------------------------
|1xxxxx00|00yyyyyy|11ssssss|11mmmmmm|1hhhhhhh|        | Inverte lo stato della porta y del nodo x (0 = nodo locale)      |
|1xxxxx1z|00yyyyyy|11ssssss|11mmmmmm|1hhhhhhh|        | Imposta il valore z sulla porta y del nodo x (0 = nodo locale)   |
--------------------------------------------------------------------------------------------------------------------------
| ATTENZIONE: Il 2° byte che indica la porta può essere ripetuto più volte per tutte le porte sulle quali deve agire     |
|             il comando, a condizione che i primi due bit siano "00" (l'indirizzamento max è di 64 porte).              |
| NOTA BENE: Il 3°, 4° e 5° byte identificano l'eventuale timer da applicare al comando. Il 3° parametro indica i        |
|            secondi, il 4° i minuti ed il 5° le ore. Sono tutti parametri opzionali e, quindi, il sistema appena trova  |
|            il valore con il primo bit (MSB) a "0" lo interpreta come fine comando e passa quindi all'esecuzione dello  |
|            stesso. Se non è stato trasferito alcun valore di "timer" (ne' secondi, ne' minuti, ne' ore) il comando non |
|            avrà alcuna temporizzazione.                                                                                |
--------------------------------------------------------------------------------------------------------------------------
|1xxxxx01|yyyyyyyy|tttttttt|        |        |        | Click remoto del pulsante y del nodo x (0 = nodo locale)         |
--------------------------------------------------------------------------------------------------------------------------
| NOTA BENE: Questo comando equivale a remotizzare il click di un pulsante su un nodo remoto. Il 3° byte indica il tipo  |
|            di click: 00000001 = click, 00000010 = double click, 00000011 = long click                                  |
--------------------------------------------------------------------------------------------------------------------------
|01000000|xxxxxxxx|xxxxxxxx|yyyyyyyy|        |        | configWrite - Scrive il valore y nell'EEPROM all'indirizzo x     |
|01000001|xxxxxxxx|xxxxxxxx|        |        |        | configRead  - Legge il valore nell'EEPROM all'indirizzo x        |
|01000010|xxxxxxxx|        |        |        |        | configApply - Applica la configurazione                          |
|01000011|        |        |        |        |        | ping - risponde sempre con 2 byte (79=O + 75=K ==> OK)           |
|01000100|xxxxxxxx|        |        |        |        | getPort  - Valore attuale porta x                                |
|01000101|xxxxxxxx|        |        |        |        | getInfo  - Valore registro x                                     |
--------------------------------------------------------------------------------------------------------------------------
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 24, 2010, 03:50 pm
Mi dispiace che il protocollo è disallineato, è il forum...da me (che è in formato TXT) è allineato!
Title: Re: Domotica con Arduino
Post by: Ambrogio on Aug 24, 2010, 11:05 pm
astroz78 hai un MP.

Sto stendendo il mio protocollo personalizzato, se qualcuno volesse collaborare con me mi contatti pure via MP così possiamo scambiarci le mail per non intasare troppo il forum (visto che in questo post non si parla solo di protocollo). Non è per tenere nascosto tutto ... anzi ! Proporrei (una volta delineato qualcosa di concreto) di postare i risultati proprio in questo post.
Title: Re: Domotica con Arduino
Post by: FabianoAbate on Aug 25, 2010, 01:58 pm
Salve a tutti,
quando ho chiesto a che punto foste arrivati relativamente al protocollo di comunicazione è perché nel leggere i vari post del forum si è iniziato con il parlare di protocollo, ma mi è sembrato di capire che si è discusso più che altro di architettura domotica e sua implementazione, o sbaglio?
Noto, invece che iniziano a nascere idee sul funzionamento di un probabile protocollo di comunicazione!  ;)

Se posso in qualche modo essere di aiuto e posso partecipare al progetto ECCOMIIIIII!!! ;)

Un Saluto a tutti
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Aug 25, 2010, 02:40 pm
E' importante anche definire l'architettura domotica perchè in qualche modo definirà le linee guida da seguire per il protocollo.

Certo che puoi partecipare...anzi non c'è neanche bisogno di chiedere il permesso!

Hai qualche particolare competenza nel campo?

P.S.: ricordo a tutti che tutti i risultati che ci soddisfano verranno/potete pubblicarli nell'apposita sezione che ho creato del playground italiano, così che il tutto sarà di più facile lettura ai nuovi arrivati ed anche agli addetti ai lavori.

http://www.arduino.cc/playground/Italiano/Domotica
Title: Re: Domotica con Arduino
Post by: Ambrogio on Aug 25, 2010, 06:55 pm
Scrivo qui come avevo pensato di strutturare il protocollo anche se è poco chiaro ... il file di excel rende meglio l'idea !

Il messaggio ha una lunghezza fissa di 8 Byte ed è così composto:

Code: [Select]
Inizio trasmissione + ID Mittente + ID Destinatario + Comando + Valore (MSB) + Valore (LSB) + Byte controllo integrità + Fine trasmissione
Eccoli spiegati in dettaglio:

Code: [Select]
Inizio trasmissione                                                Significato
1      1      1      1      0      0      0      0      E' il primo byte della trasmissione e il suo valore è fissato a 11110000
                                               
ID Mittente                                                Significato
0      0      0      0      0      0      0      0      E' l'indirizzo del master
0      0      0      0      0      0      0      1      E' l'indirizzo dello slave 0
0      0      0      0      0      0      1      0      E' l'indirizzo dello slave 1
0      0      0      0      0      0      1      1      E' l'indirizzo dello slave 2
0      0      0      0      0      1      0      0      E' l'indirizzo dello slave 3
                                               ...
                                               
ID Destinatario                                                Significato
0      0      0      0      0      0      0      0      E' l'indirizzo del master
0      0      0      0      0      0      0      1      E' l'indirizzo dello slave 0
0      0      0      0      0      0      1      0      E' l'indirizzo dello slave 1
0      0      0      0      0      0      1      1      E' l'indirizzo dello slave 2
0      0      0      0      0      1      0      0      E' l'indirizzo dello slave 3
                                               ...                                                
Comando                                                Significato
0      0      0      0      0      0      0      0      Domanda allo slave se ha qualcosa da comunicare (solo da master a slave)
0      0      0      0      0      0      0      1      Chiede al nodo di settare l'uscita
0      0      0      0      0      0      1      0      Chiede al nodo di resettare l'uscita
0      0      0      0      0      0      1      1      Chiede al nodo di invertire l'uscita
0      0      0      0      0      1      0      0      Chiede al nodo lo stato degli ingressi digitali (da 0 a 15)
0      0      0      0      0      1      0      1      Chiede al nodo lo stato degli ingressi digitali (da 16 a 31)
0      0      0      0      0      1      1      0      Chiede al nodo lo stato degli ingressi digitali (da 32 a 47)
0      0      0      0      0      1      1      1      Chiede al nodo lo stato degli ingressi digitali (da 48 a 63)
0      0      0      0      1      0      0      0      Chiede al nodo lo stato dell'ingresso analogico 0
0      0      0      0      1      0      0      1      Chiede al nodo lo stato dell'ingresso analogico 1
0      0      0      0      1      0      1      0      Chiede al nodo lo stato dell'ingresso analogico 2
0      0      0      0      1      0      1      1      Chiede al nodo lo stato dell'ingresso analogico 3
                                               ?
0      0      0      1      0      1      1      1      Chiede al nodo lo stato dell'ingresso analogico 15
0      0      0      1      1      0      0      0      Chiede al nodo di eseguire la funzione personalizzata 0
0      0      0      1      1      0      0      1      Chiede al nodo di eseguire la funzione personalizzata 1
0      0      0      1      1      0      1      0      Chiede al nodo di eseguire la funzione personalizzata 2
0      0      0      1      1      0      1      1      Chiede al nodo di eseguire la funzione personalizzata 3
                                               ?
0      0      1      1      1      1      1      1      Chiede al nodo di eseguire la funzione personalizzata 39
0      1      0      0      0      0      0      0      Chiede al nodo il valore della sua variabile n° 0
0      1      0      0      0      0      0      1      Chiede al nodo il valore della sua variabile n° 1
0      1      0      0      0      0      1      0      Chiede al nodo il valore della sua variabile n° 2
0      1      0      0      0      0      1      1      Chiede al nodo il valore della sua variabile n° 3
                                               ?
0      1      0      1      1      1      1      1      Chiede al nodo il valore della sua variabile n° 31
0      1      1      0      0      0      0      0      Comunica al nodo il valore della sua variabile n° 0
0      1      1      0      0      0      0      1      Comunica al nodo il valore della sua variabile n° 1
0      1      1      0      0      0      1      0      Comunica al nodo il valore della sua variabile n° 2
0      1      1      0      0      0      1      1      Comunica al nodo il valore della sua variabile n° 3
                                               ?
0      1      1      1      1      1      1      1      Comunica al nodo il valore della sua variabile n° 31
1      0      0      0      0      0      0      0      Risponde che non ha niente da comunicare (solo da slave a master)
1      0      0      0      0      0      0      1      Risponde che ha ricevuto correttamente l'ultima trasmissione
                                               
Valore (MSB)                                                Significato
x      x      x      x      x      x      x      x      E' il byte più significativo del valore da trasmettere
                                               
Valore (LSB)                                                Significato
x      x      x      x      x      x      x      x      E' il byte meno significativo del valore da trasmettere
                                               
Byte controllo integrità                                                Significato
1      0      1      0      0      1      0      1      A un valore fisso di 10100101 e serve per vedere se il pacchetto è integro
                                               
Fine trasmissione                                                Significato
1      1      1      1      0      0      0      1      E' l'ultimo byte della trasmissione e il suo valore è fissato a 11110001


Qui invece un esempio di comunicazione:
Code: [Select]
Il master chiede allo slave 0 se ha qualcosa da comunicare      1      1      1      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      1      0      0      1      0      1      1      1      1      1      0      0      0      1
Lo slave 0 risponde che ha ricevuto correttamente il messaggio      1      1      1      1      0      0      0      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      1      0      0      1      0      1      1      1      1      1      0      0      0      1
Lo slave 0 risponde che non ha niente da comunicare      1      1      1      1      0      0      0      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      1      0      0      1      0      1      1      1      1      1      0      0      0      1
Il master comunica che ha ricevuto correttamente il messaggio      1      1      1      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      1      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      1      0      0      1      0      1      1      1      1      1      0      0      0      1
Il master chiede allo slave 1 se ha qualcosa da comunicare      1      1      1      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      1      0      0      1      0      1      1      1      1      1      0      0      0      1
Lo slave 1 risponde che ha ricevuto correttamente il messaggio      1      1      1      1      0      0      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      1      0      0      1      0      1      1      1      1      1      0      0      0      1
Lo slave 1 dice al master che sul suo nodo ha ricevuto una richiesta per l'attivazione della funzione personalizzata 0 (spegnimento di TUTTE le uscite dei nodi n°3 e n°4)      1      1      1      1      0      0      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      0      0      0      0      1      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      1      0      0      1      0      1      1      1      1      1      0      0      0      1
Il master comunica che ha ricevuto correttamente il messaggio      1      1      1      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      1      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      1      0      0      1      0      1      1      1      1      1      0      0      0      1
Il master dice allo slave 3 di resettare tutte le sue uscite digitali da 0 a 15      1      1      1      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      1      0      1      1      1      1      1      1      1      1      1      1      1      1      1      1      1      1      1      0      1      0      0      1      0      1      1      1      1      1      0      0      0      1
Lo slave 3 risponde che ha ricevuto correttamente il messaggio      1      1      1      1      0      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      1      0      0      1      0      1      1      1      1      1      0      0      0      1
Il master dice allo slave 4 di resettare tutte le sue uscite digitali da 0 a 15      1      1      1      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      1      0      0      0      0      0      0      1      0      1      1      1      1      1      1      1      1      1      1      1      1      1      1      1      1      1      0      1      0      0      1      0      1      1      1      1      1      0      0      0      1
Lo slave 4 risponde che ha ricevuto correttamente il messaggio      1      1      1      1      0      0      0      0      0      0      0      0      0      1      0      1      0      0      0      0      0      0      0      0      1      0      0      0      0      0      0      1      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      0      1      0      1      0      0      1      0      1      1      1      1      1      0      0      0      1


Allora ?!? Che ne dite ? Può andare come base ? Voi quali modifiche fareste ? Se volete il file di excel contattatemi con un MP
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Aug 25, 2010, 08:07 pm
Beh si avvicina molto a ciò che stavo pensando pure io, le mie osservazioni sono:

- il Byte di controllo di integrità non può essere fisso, trasmettendo un Byte alla volta la trasmissione potrebbe essere tutta corretta ed errato solo quel Byte.*

- sempre siccome si trasmette un Byte alla volta bisogna anche instaurare un meccanismo per il quale il nodo destinatario mentre riceve la trama tra un Byte e il successivo deve attende un tempo massimo entro cui quest'ultimo arrivi (qualche millisecondo?).

- bisogna prevedere anche un altro timeout entro il quale il master deve ricevere la risposta dal nodo al quale prima aveva mandato il messaggio.

Non ho capito a cosa servono Valore MSB e Valore LSB?

Se qualcuno di voi è d'accordo io sarei per l'idea di cominciare a definire un po' la trama e i vari comandi. Oltretutto si potrebbe già sperimentare il protocollo con un solo arduino e la comunicazione col PC (cosa che può fare chiunque  :)).




*: bit di parità (http://it.wikipedia.org/wiki/Bit_di_parit%C3%A0) in combinazione con il Longitudinal Redunancy Check ( questo è un esempio che ho trovato, http://dida.fauser.edu/sistemi/sistem5/ril_err.htm).
Si potrebbe anche usare il CRC (Cyclic Redundancy Check) che è più affidabile ma complesso.
Title: Re: Domotica con Arduino
Post by: Ambrogio on Aug 25, 2010, 08:30 pm
Quote
il Byte di controllo di integrità non può essere fisso, trasmettendo un Byte alla volta la trasmissione potrebbe essere tutta corretta ed errato solo quel Byte.*
La butto li ... potremmo controllare il primo bit di ogni byte ed inviarlo come byte di verifica. Esempio:
01010101 10101010 11111111 00000000 11001100 00110011 00001111 e il byte di verifica sarebbe 1010011

Quote
sempre siccome si trasmette un Byte alla volta bisogna anche instaurare un meccanismo per il quale il nodo destinatario mentre riceve la trama tra un Byte e il successivo deve attende un tempo massimo entro cui quest'ultimo arrivi (qualche millisecondo?).
Più che tra un byte e un altro io verificherei che da quando ricevo il Byte di inizio trasmissione a quando ricevo il byte di fine trasmissione non deve passare più di tot tempo.

Quote
bisogna prevedere anche un altro timeout entro il quale il master deve ricevere la risposta dal nodo al quale prima aveva mandato il messaggio.
Pienamente daccordo

Quote
Non ho capito a cosa servono Valore MSB e Valore LSB?
Sono i 2 Byte che contengono il valore del dato da trasferire, se per esempio devo trasferire il valore di un ingresso analogico non mi bastano 8 bit ma ce ne vogliono 10, quindi un byte non basta, ce ne vogliono 2 "More Significative Byte" e "Less Significative Byte". Se per esempio devo trasmettere una variabile del valore di 3903 (DEC) = F3F (HEX) = 0000111100111111 (BIN) dovrò inviare l'MSB=00001111 (0F in HEX) e l'LSB=00111111 (3F in HEX)
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Aug 25, 2010, 08:58 pm
Quote
Quote:
il Byte di controllo di integrità non può essere fisso, trasmettendo un Byte alla volta la trasmissione potrebbe essere tutta corretta ed errato solo quel Byte.*
La butto li ... potremmo controllare il primo bit di ogni byte ed inviarlo come byte di verifica. Esempio:
01010101 10101010 11111111 00000000 11001100 00110011 00001111 e il byte di verifica sarebbe 1010011

Così intuitivamente potrebbe anche funzionare, però comunque potremmo usare codici a 7 bit + 1 di parità.
Quindi servirebbero 2 Byte per gli errori: uno per il VRC e uno per LRC. Possiamo fare un po' di prove

Quote
Quote:
sempre siccome si trasmette un Byte alla volta bisogna anche instaurare un meccanismo per il quale il nodo destinatario mentre riceve la trama tra un Byte e il successivo deve attende un tempo massimo entro cui quest'ultimo arrivi (qualche millisecondo?).
Più che tra un byte e un altro io verificherei che da quando ricevo il Byte di inizio trasmissione a quando ricevo il byte di fine trasmissione non deve passare più di tot tempo.

Metti che si perde il secondo Byte aspetteremmo un sacco di tempo inutilmente.

Quote
Quote:
Non ho capito a cosa servono Valore MSB e Valore LSB?
Sono i 2 Byte che contengono il valore del dato da trasferire, se per esempio devo trasferire il valore di un ingresso analogico non mi bastano 8 bit ma ce ne vogliono 10, quindi un byte non basta, ce ne vogliono 2 "More Significative Byte" e "Less Significative Byte". Se per esempio devo trasmettere una variabile del valore di 3903 (DEC) = F3F (HEX) = 0000111100111111 (BIN) dovrò inviare l'MSB=00001111 (0F in HEX) e l'LSB=00111111 (3F in HEX)

Avevo sospettato che fosse per i valori analogici, ma non ne ero sicuro. Concordo!


Title: Re: Domotica con Arduino
Post by: Ambrogio on Aug 25, 2010, 09:35 pm
Quote
Metti che si perde il secondo Byte aspetteremmo un sacco di tempo inutilmente

Ad una velocità di comunicazione relativamente bassa 9600 bit/sec corrispondente a 1200 Byte/sec calcoliamo che per trasmettere un Byte arduino ci mette 1/1200 =0,00083 sec cioè 0.83 ms

Non penso che sia necessario stressare così tanto la CPU per guadagnare massimo 5 ms ... secondo me è sufficiente inviare il messaggio e attendere la risposta di avvenuta ricezione dopo max 50 ms. Se dopo 30-50 ms non è arrivata la conferma di ricezione allora riinvio il messaggio una seconda e una terza volta ... se dopo la terza volta non ricevo nessuna risposta posso generare un allarme, tanto saranno passati 90-150 ms, secondo me è un tempo accettabile.

Quote
Così intuitivamente potrebbe anche funzionare, però comunque potremmo usare codici a 7 bit + 1 di parità.
Quindi servirebbero 2 Byte per gli errori: uno per il VRC e uno per LRC. Possiamo fare un po' di prove

Ho letto che la Parità non è praticamente più usata, però mi informo meglio anche perchè non ho ancora letto il link che hai mandato e non conosco il significato di VRC e LRC. Mi metto a studiare !!!

Se nel frattempo vuoi già buttare giù qualche riga di codice ... appena ho un po' di tempo lo farò anch'io. Così poi ci possiamo confrontare !

EDIT: ho letto la spiegazione del VRC e del LRC. Ok, mi sono convinto che è un metodo abbastanza sicuro ma non mi piace l'idea di sacrificare un bit per ogni Byte ... sarebbe un casino convertire i valori: se devi convertire un numero con 8 bit cosa fai ? usi un altro byte ?
Secondo me l'idea della parità si può sfruttare ma in questo modo: usiamo sempre un byte dedicato che sarà formato in questo modo:

il Bit n°1 del Byte di verifica è "1" se il primo Byte è composto da un numero pari di "1", invece è "0" se è composto da un numero dispari di "1"
il Bit n°2 del Byte di verifica è "1" se il secondo Byte è composto da un numero pari di "1", invece è "0" se è composto da un numero dispari di "1"
il Bit n°3 del Byte di verifica è "1" se il terzo Byte è composto da un numero pari di "1", invece è "0" se è composto da un numero dispari di "1"
il Bit n°4 del Byte di verifica è "1" se il quarto Byte è composto da un numero pari di "1", invece è "0" se è composto da un numero dispari di "1"
il Bit n°5 del Byte di verifica è "1" se il quinto Byte è composto da un numero pari di "1", invece è "0" se è composto da un numero dispari di "1"
il Bit n°6 del Byte di verifica è "1" se il sesto Byte è composto da un numero pari di "1", invece è "0" se è composto da un numero dispari di "1"
il Bit n°7 del Byte di verifica è "1" se il settimo Byte è composto da un numero pari di "1", invece è "0" se è composto da un numero dispari di "1"
il Bit n°8 del Byte di verifica è fisso a "0"

Cosa te ne pare ?

EDIT2:
Quote
Quote:

Quote
Quote:
Non ho capito a cosa servono Valore MSB e Valore LSB?
Sono i 2 Byte che contengono il valore del dato da trasferire, se per esempio devo trasferire il valore di un ingresso analogico non mi bastano 8 bit ma ce ne vogliono 10, quindi un byte non basta, ce ne vogliono 2 "More Significative Byte" e "Less Significative Byte". Se per esempio devo trasmettere una variabile del valore di 3903 (DEC) = F3F (HEX) = 0000111100111111 (BIN) dovrò inviare l'MSB=00001111 (0F in HEX) e l'LSB=00111111 (3F in HEX)
Avevo sospettato che fosse per i valori analogici, ma non ne ero sicuro. Concordo!
Non solo per i valori analogici ... per esempio quando invii il comando per comunicare lo stato degli ingressi da 0 a 15, è inutile mandare 16 messaggi, ne mandi uno solo contenente tutti i 16 stati: da 0 a 7 nel MSB e da 8 a 15 nel LSB
Title: Re: Domotica con Arduino
Post by: dancelover on Aug 25, 2010, 11:52 pm
@Federico Vanzati & @Ambrogio se non erro vi state orientando ad un protocollo di comunicazione su RS485....  perchè avete preferito quel bus invece di un altro?
Io personalmente mi sono buttato sull'RS485 per il costo ridotto, la semplicita di utilizzo e la facilità di costruzione
Per chi fosse interessato posto lo schema elettrico (il chip è l'economico SN75176 0,7?)
(http://img90.imageshack.us/img90/2949/max485tw.png)

La struttura del protocollo da me usata è simile alla vostra con 10 Byte:
Code: [Select]
0)Byte di inizio trasmissione (0x01)
1)Indirizzo mittente
2)Indirizzo destinatario
3)Azione SET,QUERY,ACK (0x05,0x0F,0x06)
4)Pin o slot relativo all'azione
5-6)Valore
7-8)Checksum (somma dei Byte 1,2,3,4,5,6)
9)Byte di fine trasmissione (0x04)


L'ostacolo maggiore in questo tipo di bus credo sia la gestione Master-Slaves..... Supponiamo che il Master mandi un MSG sul bus e si aspetti un MSG di ACK (messaggio ricevuto)
nella programmazione dovremmo tenere conto di alcuni aspetti.... cosa succede se:
1) il MSG del Master è corrotto?
2) il MSG del Master non giunge allo slave?
3) lo Slave manda il MSG di ACK ma questo arriva corrotto al Master
4) se lo Slave è fritto.... il Master aspetta il MSG di ACK in eterno?
5) lo slave è lento a rispondere e il Master andato in timeout rinvia il comando... come gestisco questo comando duplicato?
6)ecc....

Supposto di utilizzare il "Reliable Data Transfer 3.0" http://www.cs.umd.edu/~shankar/417-F01/Slides/chapter3a/sld025.htm un po' macchinoso ma efficace, siamo sicuri di avere abbastanza tempo nel'interrogazione di tutti gli slave?
Quote
Non penso che sia necessario stressare così tanto la CPU per guadagnare massimo 5 ms ... secondo me è sufficiente inviare il messaggio e attendere la risposta di avvenuta ricezione dopo max 50 ms. Se dopo 30-50 ms non è arrivata la conferma di ricezione allora riinvio il messaggio una seconda e una terza volta ... se dopo la terza volta non ricevo nessuna risposta posso generare un allarme, tanto saranno passati 90-150 ms, secondo me è un tempo accettabile.

Se abbiamo 10 Slave da interrogare col Master, per accendere una luce potrebbe volerci anche fino a 900-1500ms.... decisamente non accettabile! :-?

Questi sono un po' i motivi per cui ho abbandonato l'architettura Master-Slave  :-/ e sono passato a Multimaster...
Con Multimaster intendo che ogni modulo può parlare quando vuole sul BUS... questo comporta a delle inevitabili collisioni ma si può trovare un modo per gestirle.... ad esempio per ogni Checksum incorretto (2 MSG in contemporanea sul bus) mando una richiesta di riinvio del MSG con un delay random così da impedire (almeno in via teorica la risovrapposizione dei MSG)
Mi rendo conto che non è un sistema affidabile ma oltre a essere molto veloce nella comunicazione, le probabilità che si schiaccino 2 pulsanti nello stesso momento è veramente bassa e nel caso succedesse, posso tollerare il fatto di dover premere il pulsante un'altra volta  ;)

Da notare che il bus Ethernet non soffre di questi problemi ma per il mio impianto, dato che dovrà gestire 8 punti luce, 20 interruttori e 4 sensori, mi accontento di RS485 e dei sui limiti :D

Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 26, 2010, 10:31 am
Devo dire che non ho letto gli ultimi post attentamente, per i seguenti motivi. Premetto che con Ambrogio (colui che ha postato quell'altro protocollo) ho instaurato una conversazione privata via E-Mail per portare avanti idee e non intasare il forum, ovvio è che vi terremo allineati di qualsiasi passo avanti significativo.

I motivi per cui non ho letto attentamente i post sono questi e sono tutti legati al fatto che la mia idea è basata non su bus di campo, ma peer2peer su ethernet:
- non mi importa fare alcun crc di integrità, l'integrità dei dati me la garantisce il protocollo ethernet
- non mi serve il byte di inizio trasmissione perchè ho il server.available che mi dice se ci sono dati disponibili
- sempre collegandomi al punto precedente, non mi interessa mettere nel messaggio l'id del destinatario, per il semplice motivo che il pacchetto stesso TCP include sia mittente che destinatario
- non mi importa che il nodo risponda in modo asincrono "ok, precedente comando ricevuto" perchè intanto sempre il protocollo ethernet mi garantisce la trasmissione dei dati, secondo perchè è "relativo" dare questa risposta...allora toccherebbe mettere un "ID" univoco di comando e il nodo dovrebbe rispondere "OK, comando con ID x ricevuto correttamente"

In ogni caso il mio protocollo è votato al "risparmio"...cioè ho cercato di ottimizzarlo per trasmettere il minor numero di byte possibili per i comandi più "frequenti", per quelli meno frequenti è libero da "vincoli" di lunghezza e quindi teoricamente posso implementare tutti i comandi che voglio!

Per quanto riguarda il protocollo di Ambrogio, sollevo intanto le seguenti perplessità:
- ma quindi il messaggio è fisso di 8 byte? E se servono più "parametri" a un comando? Io, considerato che c'è un byte di "fine trasmissione" (come nel mio protocollo) io la lunghezza del messaggio la lascerei variabile...ma a quel punto tocca gestire un carattere si Escape...
- per le "funzioni personalizzate"...vabbè io non le ho scritte nel protocollo, ma è ovvio che tutte le maschere di bit libere del mio 1° byte sono disponibili per nuove funzioni...le enumererò all'occorrenza
- per l'interrogazione di "variabili" di un nodo...anzichè prevedere che ne sò 20 maschere di bit per richiedere 20 variabili, ho previsto un comando unico "leggi registro" e il 2° parametro è l'id del registro di cui deve restituire il valore
- se ad un evento deve essere logicamente associato un comando per accendere 3 luci? Devi mandare 3 messaggi distinti? Quindi 24 byte? Non mi piace come soluzione onestamente...primo perchè non è ottimizzata come soluzione, secondo perchè mettiamo che il 1° comando arriva e il 2° no?
- anche se non devi mandare un comando con una "lista di parametri" come al caso precedente (comando "accendi" parametri "porta 1, 2, 3"), ma devi mandare più comandi distinti (Es. comando "accendi" parametro "porta 1,2" + comando "spegni" parametro "porta 3")...devi sempre mandare 3 messaggi?

Invece io vedevo più versatile il fatto di mandare uno "stream" e quindi tutti i comandi in un unica comunicazione della serie: "accendi(1,2) + esegui + spegni(3) + esegui + fine trasmissione".
Title: Re: Domotica con Arduino
Post by: ingnuccio on Aug 26, 2010, 06:25 pm
Ciao a tutti, sono un Ing informatico.

Non conoscevo Arduino e mi sono imbattuto per caso in questa discussione che devo dire mi sembra molto interessante.

ho messo su un sistema domotico che lavora con componenti zigbee che a sua volta comunicano tramite un coordinatore con uno scada. La comunicazione tra il coordinatore e lo scada avviene tramite protocollo modbus. Sopra lo scada c'è poi un ulteriore applicazione che interagisce con l'utente.

I costi dei componenti hardware zigbee sono abbastanza elevati, vorrei capire se arduino può sostituire il coordinatore zigbee e con che cosa posso sostituire il resto dei componenti zigbee
Title: Re: Domotica con Arduino
Post by: Ambrogio on Aug 26, 2010, 08:07 pm
@astroz78
Quote
- per l'interrogazione di "variabili" di un nodo...anzichè prevedere che ne sò 20 maschere di bit per richiedere 20 variabili, ho previsto un comando unico "leggi registro" e il 2° parametro è l'id del registro di cui deve restituire il valore
Questo è interessante, una specie di puntatore: si usano molti meno comandi e si possono inviare molte più cose.
Quote
se ad un evento deve essere logicamente associato un comando per accendere 3 luci? Devi mandare 3 messaggi distinti? Quindi 24 byte? Non mi piace come soluzione onestamente...primo perchè non è ottimizzata come soluzione, secondo perchè mettiamo che il 1° comando arriva e il 2° no?
No, questo no, non succede. Prima di tutto perchè quando invio il comando di settare un'uscita non lo faccio inviando un bit ma 2 byte (i famosi MSB e LSB) quindi posso settare fino a 16 uscite contemporaneamente con lo stesso comando, se per esempio i byte del valore MSB e LSB valgono rispettivamente 10011001 e 00000001 io andrò a settare le uscite n° 0,3,4,7,15 e lascerò invariate le uscite n° 1,2,5,6,8,9,10,11,12,13,14. Se invece voglio fare cose un po' più complicate sempre con un comando solo uso gli scenari. Per esempio per settare 2 uscite, resettarne 3 e invertire lo stato di altre due dopo 10 secondi invio semplicemente il comando "scenario3". Lo slave che riceve "scenario3" saprà quali operazioni deve eseguire. Lo svantaggio è che nello sketch dello slave ci deve essere già la sequenza di operazioni che deve fare ... una sorta di chiamata ad una funzione.

@Dancelover
Quote
Quote:

Non penso che sia necessario stressare così tanto la CPU per guadagnare massimo 5 ms ... secondo me è sufficiente inviare il messaggio e attendere la risposta di avvenuta ricezione dopo max 50 ms. Se dopo 30-50 ms non è arrivata la conferma di ricezione allora riinvio il messaggio una seconda e una terza volta ... se dopo la terza volta non ricevo nessuna risposta posso generare un allarme, tanto saranno passati 90-150 ms, secondo me è un tempo accettabile.
Se abbiamo 10 Slave da interrogare col Master, per accendere una luce potrebbe volerci anche fino a 900-1500ms.... decisamente non accettabile!
900-1500ms se TUTTI gli slave hanno dato per 3 volte consecutive degli errori o non hanno dato risposta ! Scusa ma secondo me se abbiamo 3 errori CONSECUTIVI su 10 nodi CONSECUTIVI significa che c'è qualcosa di grosso che non va ! Probabilmente un topo si stà pappando il nostro cavo di comunicazione !  ;D
Volevo chiederti una cosa riguardo allo schema che hai posato: prima di tutto grazie ! ;) secondo: a cosa serve il pin D3 ? E' quello che indica la direzione dei dati ? Cioè lo devo settare quando invio un comando e resettare quando sono in ascolto ?
Title: Re: Domotica con Arduino
Post by: dancelover on Aug 26, 2010, 09:35 pm
@Ambrogio
Quote
a cosa serve il pin D3 ? E' quello che indica la direzione dei dati ? Cioè lo devo settare quando invio un comando e resettare quando sono in ascolto ?

Il pin D3 serve a settare la modalità del chip sul bus: se diamo un Input LOW, si ricevono i dati mentre se il pin ha livello HIGH, si possono trasmettere i dati sul canale....
per maggiori info sul chip --> http://focus.ti.com/lit/ds/symlink/sn75176b.pdf
Title: Re: Domotica con Arduino
Post by: ingnuccio on Aug 27, 2010, 01:24 pm
Quote
Ciao a tutti, sono un Ing informatico.

Non conoscevo Arduino e mi sono imbattuto per caso in questa discussione che devo dire mi sembra molto interessante.

ho messo su un sistema domotico che lavora con componenti zigbee che a sua volta comunicano tramite un coordinatore con uno scada. La comunicazione tra il coordinatore e lo scada avviene tramite protocollo modbus. Sopra lo scada c'è poi un ulteriore applicazione che interagisce con l'utente.

I costi dei componenti hardware zigbee sono abbastanza elevati, vorrei capire se arduino può sostituire il coordinatore zigbee e con che cosa posso sostituire il resto dei componenti zigbee


Ho letto tutta la discussione.

Per esperienza vi posso dire che progettare un sistema domotico che funzioni solamente via cavo è si una soluzione robusta ma a mio parere di difficile diffusione (verrebbe utlizzata solo dagli smanettoni e da chi realizza una casa da zero)

Ora vorrei capire se un arduino 2009 (o magari qualcosa di più semplice) può comunicare con altre schede arduino tramite zigbee.

Considerando che conosco arduino da ieri, mi pare che la cosa sia fattibile dopo aver letto questo http://www.arduino.cc/en/Main/ArduinoXbeeShield

Però in pratica dovrei realizzare il protocollo di comunicazione giusto?
Title: Re: Domotica con Arduino
Post by: Guglio on Aug 27, 2010, 03:05 pm
Io ripropongo HopeRF, su internet ho trovato molti pareri positivi.
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Aug 27, 2010, 03:09 pm
Quote
Ora vorrei capire se un arduino 2009 (o magari qualcosa di più semplice) può comunicare con altre schede arduino tramite zigbee.

Considerando che conosco arduino da ieri, mi pare che la cosa sia fattibile dopo aver letto questo http://www.arduino.cc/en/Main/ArduinoXbeeShield

Però in pratica dovrei realizzare il protocollo di comunicazione giusto?


Zigbee è già un protocollo, non ne ho esperienza diretta, però da quello che si legge sembra essere lo standard del futuro: consuma poco, stack leggero, reti stra-configurabili, fa da ponte radio...
Rimane il fatto che alivello hobbystico costicchia.

@Dancelover che mi chiedeva come mai mi sto orientando su RS485 rispondo che bene o male tutti i sistemi che usano un doppino sono basati su questo tipo di livello fisico.
Al momento mi sembra la soluzione più semplice e a portata delle mie tasche. Chissà che partendo dalle basi non mi arrivi qualche illuminazione!  ;D
Comincio a fare un po' di esperienza poi si vedrà!

@Ambrogio: cià cominciamo a fare un abbozzo di codice?
Title: Re: Domotica con Arduino
Post by: ingnuccio on Aug 27, 2010, 03:25 pm
Quote
Zigbee è già un protocollo, non ne ho esperienza diretta, però da quello che si legge sembra essere lo standard del futuro: consuma poco, stack leggero, reti stra-configurabili, fa da ponte radio...
Rimane il fatto che alivello hobbystico costicchia


Scusami quindi con un arduino 2009 ed un Arduino XBee Shield posso realizzare un sensore on/off che comunica il suo stato ad un'altra scheda arduino magari collegata al mio pc?

in tal caso i costi sarebbero:

2 Arduino 2009 52,80 euro
2 XBee Shield 34 euro
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Aug 27, 2010, 03:43 pm
...e anche 2 Xbee!

Se non sbaglio come sono configurati di fabbrica si comportano come una porta seriale, quindi ti basterebbe un solo arduino con Xbee e un adattatore usb-XBee (un arduino senza atmega fa anche da adattatore usb-seriale)

...occhio che però stiamo andando OT
Title: Re: Domotica con Arduino
Post by: ingnuccio on Aug 27, 2010, 04:07 pm
Quindi in pratica arduino può essere utilizzato con zigbee. Però non pensate di utilizzarlo per la domotica perchè i costi salirebbero (di quanto secondo voi per un impianto domotico medio?) e perchè il cavo è più sicuro!

Considerando che zigbee porta notevoli benefici (come ha detto Federico)  e se si vuol pensare a far qualcosa di extra hobbystico spendere qualcosa in più a livello hardware non mi pare cosi insensato.

Quindi perchè non usare Zigbee?
Title: Re: Domotica con Arduino
Post by: dancelover on Aug 27, 2010, 10:06 pm
@ignuccio  innanzitutto Benvenuto sul forum,
mi fà piacere che la discussione sulla domotica sia molto viva (lo testimonia il numero di post) e sicuramente qualcuno che ha già realizzato un impianto funzionante è ben accetto ;)
ZigBee o XBee non lo abbiamo considerato perche buona parte degli utenti vorrebbero realizzare un impianto domotico puntando al risparmio....
Perchè non ci racconti un po' la tua esperienza con ZigBee? se non sbaglio si riesce a creare una piccola rete a stella simile ad un Bus ethernet come usa Astroz..... credo che una cosa simile si possa fare anche col Bluetooth e si elimina il problema Master/Slave :o

@Tutti gli altri
Nel mio modello RS485 Multimaster dove tutti i dispositivi parlano quando vogliono, ho trovato un metodo per ridurre le collisioni sul bus... vi posto il codice:
Code: [Select]
void CheckBUS() {
 int i=0;
 if (Serial.available() > 0) {    //c'è un messaggio in arrivo o già arrivato
 Serial.println("canale occupato... waiting");
   while (Serial.available()!=i) {  //finchè la trasmissione non finisce
i=Serial.available();
     delay(random(5,25));            //aspetta un tempo random prima di mandare dati sul canale
   }
 }
}
In pratica, prima mandare dati sul bus, controllo il buffer seriale su Arduino.... se la sua dimensione aumenta, significa che qualche nodo sta trasmettendo quindi aspetto un tempo random per non finire in loop con altri nodi anch'essi in attesa di trasmettere.... semplice a funzionale :D
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 29, 2010, 04:26 pm
Dico la mia sul protocollo radio.

Io per quanto veda positivamente l'approccio di ciò che è RF...se no non avrei manco la TV, ragiono così: fin dove posso arrivare con il cavo, assolutamente arrivo con il cavo. Anche se devo fare qualche traccia a muro...a meno che non devo sfasciare totalmente casa.

Perchè? Perchè secondo me le comunicazioni in RF non sono "affidabili"...cioè l'RF è disturbabile...ci si possono mettere di mezzo i muri, una nuova porta, un mobile con una particolare caratteristica, e finora ho parlato di cose "inanimate" se ci mettiamo di mezzo router adsl, ripetitori di segnale televisivo, dispositivi a radiofrequenza di qualsiasi genere (un ripetitore del termometro Oregon Scientific)...insomma qualsiasi cosa, considerata pure la complessità di un sistema domotica in quanto a "numero" di "componenti" il rischio che qualcosa che prima funzionava, poi smetta di farlo secondo me è altamente probabile...poi toccherebbe chiamà Capitan Ventosa!!! :P

E poi l'alimentazione? Se c'è la 220v ok...(ma tocca costruire anche un alimentatore per ogni dispositivo) altrimenti a batterie? Improponibile pensare di "manutenere" x decine di batterie!

E cmq RF o BUS che sia...ripeto ragazzi, provate a pensare che non ci poossa essere un dispositivo elettronico in ogni 503/4/6...è una follia...

L'idea che ho realizzato io è adattabile a praticamente quasi tutti gli appartamenti...xkè interviene nelle scatole di derivazione e, quindi ogni 503/4/6 converge già con il proprio tubo a quella scatola. L'unica cosa è che và sicuramente ingrandita! Io così ho fatto, casa mia era già costruita!
Title: Re: Domotica con Arduino
Post by: lucariello on Aug 30, 2010, 01:40 am
Salve a tutti bella gente,
Sono tornato ed appena ho potuto ho letto tutti i post successivi al mio ultimo.

Riguardo alle ultime discussioni sul protocollo per rs485, non capisco perché fare
un protocollo ex-novo.
Sono stati presi in considerazione i progetti Ulan e yakko? (che tra l'altro erano
già stati messi a conoscenza in post precedenti)
http://ulan.sourceforge.net/  http://yakko.sourceforge.net/
Se no, perché?

Mi rendo conto che la discussione è diventata abbastanza complessa, è per questa
ragione che ho pensato di creare una sorta di portale dove poter raccogliere
materiale e ordinare le idee per poi creare qualcosa di concreto.
ringrazio tantissimo guglio whole per la disponibilità di hosting ne possiamo
parlare in privato per non affollare il post, una mano fa tantissimo piacere.

Per quanto riguarda il progetto di Astroz78 & co. e l'utilizzo della eeprom per le varie operazioni,
fate attenzione a non esagerare nei cicli di scrittura, mi sembra di ricordare, leggendo sul datasheet
degli atmega, che il limite di cicli di scrittura è di 10.000 per flash e 100.000 per eeprom ...o forse l'inverso...
...vabbè, cmq è importante sapere che c'è un limite (permanenza dei dati garantita 100 anni  :) )
Fate attenzione!!!

Faccio i complimenti a Gabriele per l'ottimo sunto e volevo fare delle osservazioni a riguardo:
1) can può arrivare anche a 5 km di distanza coperta con 10 Kb/sec
   il vantaggio di usare una connessione lenta potrebbe permettere di implementare
   una topologia libera per le connessioni e forse anche un cavo di impedenza diversa come l'utp 100 ohm
   mantenendosi a distanze più brevi
   (non sono riuscito a trovare dei cavi twisted pair da 120 ohm a prezzi ragionevoli, quindi il problema vale
   anche per rs485)
   nello standard sono previste le distanze massime per gli "stub nodes" cioè i tronconi di cavo
   in parallelo al bus su cui sono collegati i dipositivi che, nello standard ufficiale bosh a 1Mb/sec
   sono max 30 cm, ma a 125 Kb/sec possono arrivare a 40m!!!
   http://www.softing.com/home/en/industrial-automation/products/can-bus/more-can-bus/bit-timing/practical-bus-length.php?navanchor=3010538
2) Canopen non riesco a capire se è di libera implementazione o coperto da "royalty".
   Dalle poche info che riuscì a trovare tempo fa, mi pare che vada per la seconda, nel qual caso sarebbe
   inappropriato per un progetto libero (c'è cmq VSCP!)
3) I componenti si trovano anche a prezzi più bassi; su RS-online MCP2551 sono venduti in confezione da 5 a
   4,75 eurozzi + iva, 10 a 3,31
   Gli MCP2515 che sono dei controller è vero che costano 2 euro circa (iva inclusa) ma non sono nemmeno
   strettamente necessari, si potrebbe programmare arduino per fare lo stesso lavoro
4) In generale, per il limite di numero dei dispositivi sul bus, è possibile creare dei repeater ad-hoc



Per quanto riguarda il tanto "caro" spazio all'interno delle cassette 503, non penso che arduino possa
essere la soluzione ideale, ma non solo per motivi di spazio, anche per il costo ingiustificato
per delle componenti tutto sommato inutili (una per tutte: USB con relativo connettore e chip)
sarebbe più sensato usare un arduino mini con relativa shield per il bus, si abbatterebbero così i costi
e i problemi di spazio!

Per quanto riguarda l'ingegnierizzazione di un sistema che sia direttamente su powerline, ci sarebbe cmq
il maggior costo dei filtri e quant'altro per separare alimentazione da dati, ma non vedo
perché dover fare una cosa del genere come base di partenza quando può essere benissimamente
una feature opzionale. La stessa cosa vale anche per RF, ethernet e PL sulla linea domestica.

In fine volevo proporre di usare twetter per scambiarci informazioni brevi e veloci ed evitare cosi
di dire sempre le stesse cose ed affollare il forum, che ne pensate?

Ciaoooo
Title: Re: Domotica con Arduino
Post by: ingnuccio on Aug 30, 2010, 11:14 am
Quote
Dico la mia sul protocollo radio.

Io per quanto veda positivamente l'approccio di ciò che è RF...se no non avrei manco la TV, ragiono così: fin dove posso arrivare con il cavo, assolutamente arrivo con il cavo. Anche se devo fare qualche traccia a muro...a meno che non devo sfasciare totalmente casa.

Perchè? Perchè secondo me le comunicazioni in RF non sono "affidabili"...cioè l'RF è disturbabile...ci si possono mettere di mezzo i muri, una nuova porta, un mobile con una particolare caratteristica, e finora ho parlato di cose "inanimate" se ci mettiamo di mezzo router adsl, ripetitori di segnale televisivo, dispositivi a radiofrequenza di qualsiasi genere (un ripetitore del termometro Oregon Scientific)...insomma qualsiasi cosa, considerata pure la complessità di un sistema domotica in quanto a "numero" di "componenti" il rischio che qualcosa che prima funzionava, poi smetta di farlo secondo me è altamente probabile...poi toccherebbe chiamà Capitan Ventosa!!!

E poi l'alimentazione? Se c'è la 220v ok...(ma tocca costruire anche un alimentatore per ogni dispositivo) altrimenti a batterie? Improponibile pensare di "manutenere" x decine di batterie!

E cmq RF o BUS che sia...ripeto ragazzi, provate a pensare che non ci poossa essere un dispositivo elettronico in ogni 503/4/6...è una follia...

L'idea che ho realizzato io è adattabile a praticamente quasi tutti gli appartamenti...xkè interviene nelle scatole di derivazione e, quindi ogni 503/4/6 converge già con il proprio tubo a quella scatola. L'unica cosa è che và sicuramente ingrandita! Io così ho fatto, casa mia era già costruita!


Quando compri la Wii vai ad ingrandire le scatole di derivazione?
Per quanto riguarda le batterie con zigbee sei tranquillo per circa 2 anni!

Per esperienza ti posso dire che a livello domotico i dispositivi RF sono di gran lunga preferiti.
io preferirei andare al negozio di elettronica e comprare un pacchetto con i componenti all'interno, arrivare a casa mia e far funzionare l'intero impianto in circa mezz'ora!! Senza l'intervento di elettricista o altra gente e naturalmente senza che io sia uno smanettone o meno

Sul fatto che RF sia affidabile o meno non sto qui a discutere anche perchè la discussione sarebbe molto lunga.

Dico solamente che a me interessa che sia affidabile!! Quindi in caso di mal funzionamento il tutto mi deve essere comunicato tempestivamente!
Title: Re: Domotica con Arduino
Post by: ingnuccio on Aug 30, 2010, 11:34 am
Quote
@ignuccio  innanzitutto Benvenuto sul forum,
mi fà piacere che la discussione sulla domotica sia molto viva (lo testimonia il numero di post) e sicuramente qualcuno che ha già realizzato un impianto funzionante è ben accetto
ZigBee o XBee non lo abbiamo considerato perche buona parte degli utenti vorrebbero realizzare un impianto domotico puntando al risparmio....
Perchè non ci racconti un po' la tua esperienza con ZigBee? se non sbaglio si riesce a creare una piccola rete a stella simile ad un Bus ethernet come usa Astroz..... credo che una cosa simile si possa fare anche col Bluetooth e si elimina il problema Master/Slave


Praticamente si, con Bluetooth non copri le stesse distanze che copri con Zigbee!
Il mio sistema è bello che fatto e praticamente si articola sommariamente:

Da sensori ed attuatori zigbee
un coordinatore zigbee collegato al pc (USB) che comunica con uno scada attraverso modbus
un software che mi permette di realizzare la logica del mio sistema domotico
un interfaccia sia lato mobile che lato client.

Lato hardware però non ci ho messo mani, mi sono occupato di tutto quello che riguarda la parte software. Ora però mi sono imbattuto su Arduino e visto i costi potrei anche spendere del tempo per sistemare alcune cose ed utilizzare Arduino.

XBee però da quanto ho capito non supporta ModBus o sbaglio?

Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 30, 2010, 12:06 pm
Quote
@LukeSkyCopper:
Per quanto riguarda il progetto di Astroz78 & co. e l'utilizzo della eeprom per le varie operazioni,
fate attenzione a non esagerare nei cicli di scrittura, mi sembra di ricordare, leggendo sul datasheet
degli atmega, che il limite di cicli di scrittura è di 10.000 per flash e 100.000 per eeprom ...o forse l'inverso...
...vabbè, cmq è importante sapere che c'è un limite (permanenza dei dati garantita 100 anni   )
Fate attenzione!!!


La EEPROM mantiene la configurazione...e quindi sì varia, ma quante volte puoi riconfigurare un nodo? 5/10/100/500 volte in 20 anni? Una volta che è configurato e funziona difficilmente gli cambierai la configurazione...
...si trattava solo di leggerla...ma la mia problematica è che non posso fare accesso alla EEPROM ogni volta che si verifica un "evento" (es. click di un pulsante) per sapere che cosa deve fare...sarebbe troppo lento!
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 30, 2010, 12:16 pm
Riguardo RF o BUS...io dico la mia ragazzi, ne sono fermamente convinto di ciò che dico...
...pure che le batterie durano 2 anni, ma ogni 2 anni tu smonti tutte le 503 per cambiare le batterie? E poi magari una dura 2 anni e 1 mese, una dura 1 anno e 6 mesi...poi iniziano a malfunzionare i nodi quando le batterie sono vicine alla soglia di scaricamento...una volta funziona e l'altra no...per me follia pura!

E poi ripeto che, pure che si pensi di inserire un dispositivo per ogni 503, non vi rendete conto secondo me: dei calcinacci, del cemento che cmq straborda, di alcune scatole che sono rotte, alcune più incassate e altre meno, dei cablaggi che comunque devi tenere un po' "abbondanti" per poter poi riaprire le scatole e avere la possibilità di fare manutenzione e che quando chiudi questa "ricchezza" poi và a fare un ingombro ingovernabile e della madonna, dell'ingombro del "frutto" stesso...e ripeto le altre prolematiche: aggiornamento firmware (aprire scatola), alimentazione (dissipazione temperatura, ingombro), costo dell'hardware.

Credetemi non voglio fare il "bastian contrario" o essere arrogante e supponente, è che semplicemente vengo da un'installazione appena fatta e fresca, dove anche tante mie "idee" sulla carta o nella testa, poi si sono scontrate con altrettante realtà impreviste!
Title: Re: Domotica con Arduino
Post by: ingnuccio on Aug 30, 2010, 12:31 pm
Quote
Riguardo RF o BUS...io dico la mia ragazzi, ne sono fermamente convinto di ciò che dico...
...pure che le batterie durano 2 anni, ma ogni 2 anni tu smonti tutte le 503 per cambiare le batterie? E poi magari una dura 2 anni e 1 mese, una dura 1 anno e 6 mesi...poi iniziano a malfunzionare i nodi quando le batterie sono vicine alla soglia di scaricamento...una volta funziona e l'altra no...per me follia pura!

E poi ripeto che, pure che si pensi di inserire un dispositivo per ogni 503, non vi rendete conto secondo me: dei calcinacci, del cemento che cmq straborda, di alcune scatole che sono rotte, alcune più incassate e altre meno, dei cablaggi che comunque devi tenere un po' "abbondanti" per poter poi riaprire le scatole e avere la possibilità di fare manutenzione e che quando chiudi questa "ricchezza" poi và a fare un ingombro ingovernabile e della madonna, dell'ingombro del "frutto" stesso...e ripeto le altre prolematiche: aggiornamento firmware (aprire scatola), alimentazione (dissipazione temperatura, ingombro), costo dell'hardware.

Credetemi non voglio fare il "bastian contrario" o essere arrogante e supponente, è che semplicemente vengo da un'installazione appena fatta e fresca, dove anche tante mie "idee" sulla carta o nella testa, poi si sono scontrate con altrettante realtà impreviste!

Ma in che senso mettere un dispositivo per ogni 503!?
Con zigbee non devi fare nessun scasso o robe del genere  ;)
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 30, 2010, 12:35 pm
La 503 è la scatola quella arancione, gialla, blu, insomma quella murata...su questo siamo allineati? Quella su cui si avvita il cestello con sopra innestati i frutti (pulsanti/prese) e poi si mette la placca...

Avete idea dello spazio che c'è là dentro? Non c'entra niente di più che quello per cui sono previste...e già per chiuderle agevolmente con soli cavi, senza elettroniche, non è sempre facile!

Cioè secondo me, la logica, i PLC, devono essere più accentrati...
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Aug 30, 2010, 01:07 pm
@astroz78:
- Hai idea di quanto sia grande un arduino mini?
- Se metti un "arduino domotico" per ogni scatola elimini tutti i fili degli interruttori, ti rimangono solo quelli delle prese.
- Una volta che il firmware sarà stabile e definitivo non ci sarà bisogno di aprire la scatoletta perchè non ci sarà bisogno di aggiornare il firmware.

@LukeSkyChopper: caspita il protocollo yakko mi era sfuggito, questo si che sembra parecchio interessante!
Poi i nomi dei tre autori sono tutti italiani, sarà quindi una cosa italiana?
Potremmo provare a contattarli!
Seconda cosa, sotto richiesta di Massimo ho aperto una sezione del playground italiano per trattare l'argomento e dargli ufficialità.
Se credi che un portale dedicato sia comunque necessario, aprilo pure, io però sarei propenso a farlo (al massimo) solo a lavoro finito.

@Tutti: Ho fatto un giretto sul sito ufficiale di KNX (http://www.knx.org/it/) e devo dire che oltre ciò che sapevamo già, ovvero che la documentazione si paga, ho letto che per avere la certificazione knx bisogna pagare anche una quota annuale...insomma di royalty ce ne sono parecchie!
Nella sezione developper poi mostrano tutte le possibilità di interfacciamento con microcontrollori e quant'altro...e si arriva a scoprire che i moduli di interfaccia loro (consorzio knx -> siemens ) li chiamano SIM, che in pratica sarebbero due integrati uno prodotto dalla infineon e l'altro dalla siemens, entrambi introvabili.
Ciò che si può trovare sono questi moduli di sviluppo: http://www.opternus.com/en/tapko.html
che ovviamente hanno un prezzo inverosimile.

Anche se, a loro detta, è uno standard quasi mondiale per l'home automation e quindi andrebbe preso come riferimento a me sembra piuttosto chiuso.
Title: Re: Domotica con Arduino
Post by: Guglio on Aug 30, 2010, 01:24 pm
Per le scatole che ho io in casa ha ragione Astroz.
Se è una 503 vuota quindi senza prese/spine o fili con raccordi ci sta tutto.
Ma come inizia ad esserci uno switch, due raccordi, il cavo del lampadario non ci sta più niente..
Smontate una 503/4/6 e provate anche voi..
Title: Re: Domotica con Arduino
Post by: astroz78 on Aug 30, 2010, 02:56 pm
Dunque...scusate ancora...credetemi non lo faccio per voler avere per forza ragione io...
...ma smontate una 503...oppure prendete una 503 e alloggiateci ciò che volete, ma metteteci pure i collegamenti ai pulsanti, i pulsanti stessi, i circuiti d'alimentazione e poi chiudetela con il cestello, lasciando entrare da uno dei fianchi un moncherino di corrugato, che tanto ci stà sempre...se non più corrugati...xkè ricordate che molte scatole sono passanti...cioè dalla 503 del comodino di SX parte il tubo x il comodino di DX e per la presa della TV sulla parete perpendicolare...

...credetemi il mio know-how in materia è piuttosto "solido"...certo se faceste una serie civile ad-hoc...dove il "frutto" essendo a basso assorbimento è un microswitch di 4 mm di profondità...allora rettifico quanto appena detto...magari un pulsante a sfioramento...sarebbe completamente esterno l'ingombro e quindi la profondità della 503 è tutta a disposizione...ma chi ha a disposizione le capacità, la strumentazione, per fare ciò? Tralaltro in un modo pure "stilisticamente" accettabile...xkè se fate un impianto di domotica...non vorrete mica mettere il pulsantino quello con il tappetto rosso su un "tasto falso" bucato col trapano...

Ma non risolvi il problema delle prese...nelle prese hai:
- cavi 2.5mm x 3 in ingresso (e se la scatola è passante pure in uscita)
- il frutto (qui non ti puoi inventare niente la presa ce la devi mettere)...e di solito anche più d'un frutto (es. 3 bipasso 1 siemens + una bipasso)
- arduino
- relè

Senza contare il problema della dissipazione...in una 503 del genere alla cui presa attacchi una stufetta voglio vedè che ti inventi...lo stesso frutto BTicino o qualunque marca esso sia, diventa caldo, il relè che te lo dico a fà...e non dissipiamo praticamente nulla.

Tralaltro vi dirò pure un'altra cosa...io le prese dove ho ipotizzato d'attaccare un elettrodomestico con alto assorbimento le ho messe sotto contattore che, di certo, non ci stà in una 503 (spesso sono per barra-din).

Vi dò una dritta, non sò se lo sapevate, per la componenstistica: www.cselettronica.net

Vendono a stock, quindi se ti serve 1 led ne devi comprà 1000, ma se devi comprà 10 led a un negozio normale, ti costa quanto comprarne 1000 là...ora ho fatto l'esempio dei led, ma il catalogo è abbastanza fornito.

Sono molto affidabili, il costo di spedizione è gratis, l'importo minimo d'ordine 130? e paghi in contrassegno!
Title: Re: Domotica con Arduino
Post by: bestmazzo on Aug 31, 2010, 10:46 pm
Ciao a tutti,
stavo cercando in rete degli enclosure per inserire arduino nelle 503 quando mi sono imbattuto nella discussione.
Devo ammettere che per leggere 14 pagine di replies ce n'è voluto, ma sono strafelice di constatare quanto sia fervente la discussione al riguardo.
Sarò ben lieto di dare il mio modesto contributo, come ingegnere informatico e tester delle soluzioni che decideremo di adottare.


La mia idea di partenza era quella di inserire un arduino, con funzioni di sensore e attuatore a fianco di ciascun classico interruttore/pulsante presente nei moduli 503.
L'idea sarebbe di inserire nello spazio di 2x3x4 cm circa  un arduino mini, un modulo xbee e una scheda con relè.
Alimentazione: 12v tramite doppino.
Costo stimato: 50? a punto luce.

Ovviamente leggendo le vostre considerazioni, sto rivalutando di molto il progetto.

Ad ogni modo, ci sono delle questioni che vorrei sollevare, ovvero:

- invece che diventar pazzi con i protocolli di comunicazione su filo, perchè non optare per zigbee, nella comunicazione di basso livello? a fronte del costo dei moduli xbee, dovrebbe risolvere un sacco di problemi (sia relativi alla comunicazione che all'aggiornamento del firmware da remoto) e permetterci di inserire nel progetto eventuali sensori da esterno (alimentati con batterie e pannelli solari)

- per la lettura dei sensori ed il controllo degli attuatori, si potrebbe pensare al protocollo UPNP.


- nelle specifiche del sistema domotico proporrei di inserire espressamente anche il vincolo di contenimento del consumo energetico. In fondo, è stato implicitamente assunto quando sono state fatte le proposte di relè statici e alimentatore unico...




Title: Re: Domotica con Arduino
Post by: astroz78 on Sep 01, 2010, 10:02 am
Per i relè statici sono assolutissimamente daccordo...però un relè statico che regga parecchia potenza deve essere progettato bene molto bene...che supporti tutti i tipi di carico che si possono avere in una casa.

Non sarebbe nemmeno male trovare un qualche sistema per fare i dimmer...ma non è per niente facile.

Per l'alimentatore unico..mah..io uso alimentatori di allarme lince (LMQ35) che sono da 13.8v 3A (e prevedono già la gestione di una eventuale batteria tampone). Costano 23 euro circa IVA inclusa e cmq ne ho messo uno per nodo (ho 5 nodi)...la dispersione che ho per averne 5 rispetto che averne uno secondo me è irrisoria...cioè a parte la corrente assorbita dal dispositivo (arduino + relè) la dispersione introdotta dalla "elettronica" dell'alimentatore stesso non credo sia molto (ah ho dimenticato di dire che trattasi di alimentatore switching...il prezzo è veramente irrisorio).
Title: Re: Domotica con Arduino
Post by: Ambrogio on Sep 01, 2010, 03:34 pm
Per i dimmer io uso 2 "SX13" acquistati su www.areasx.com ... il costo è uno sproposito ... 58 euro l'uno ! Però devo dire che hanno il vantaggio che possono essere comandati anche in seriale TTL senza aggiungere altro hardware, io infatti li ho messi in parallelo sulla serial2 dell'arduino mega e li comando con dei messaggi tipo "Dimmer1 + varia luminosità a + 256" ... ecc

Certo se decidessimo di costruirceli noi con dei triac e comandandoli con le uscite PWM di arduino ... altro che 2 dimmer soltanto ... farei tutte le luci di casa dimmerate ! XD
Title: Re: Domotica con Arduino
Post by: lucariello on Sep 02, 2010, 11:24 am
Il portale voleva essere un mezzo per poter organizzare il lavoro della comunità
con un forum dedicato un area download una sezione in inglese una wiki e quant'altro.
Il dominio l'ho registrato da adesso solo per riservarlo e tra l'altro in questo periodo
ho anche poco tempo da dedicargli.

Per quanto riguarda protocollo da utilizzare, mezzo di comunicazione ecc.,
non c'è motivo secondo me per non utilizzarli tutti!
Non c'è bisogno nemmeno di inventarsi il protocollo, se ne trovano di liberi già belli e fatti
(vedi ulan, vscp, yakko)
Scelto il protocollo si fa in modo di farlo andare andare "Over" Power Line, tcp/ip, ZegBee, bus, ecc.

L'utilizzo di una soluzione piuttosto che un'altra può dipendere dalle esigenze.
Non si può dire "è meglio l'ethernet" o "è meglio RF" per esempio.
Personalmente se io prevedo un impianto su di una nuova costruzione, nel progettare l'impianto
elettrico prevedo anche i passaggi per i cavi bus e le cassette elettriche adeguate ad ospitare
il materiale necessario.
Se devo ristrutturare un vecchio casolare con delle pareti di un metro l'una, posso dimenticarmi
RF/ZegBee oppure, se ho bisogno di una certa sicurezza o se devo limitare l'inquinamento
elettromagnetico, potrei cmq optare per un'altra soluzione.
Se l'impianto è semplice io opterei per rs485, ma se prevedo l'installazione di centinaia
di moduli mi affiderei di più alla robustezza CAN.
Poi c'è il lato economico, penso che usare un bus sia più economico
siamo intorno ai 5? di componentistica + il prezzo del pcb e l'eventuale assemblaggio
(per can: atmega + mcp2551 + regolatore di tensione + componenti di contorno)
io prenderei come riferimento base il progetto "one chip arduino" http://www.geocities.jp/arduino_diecimila/obaka/project-2/index_en.html
e toglierei anche l'oscillatore usando quello interno dell'atmega, praticamente un lilypad!

Per quanto riguarda la programmazione, modificando il bootloader, forse si potrebbe fare anche da remoto!
Ho trovato anche un progetto per programmare arduino da SD/mmc.

il tutto non scalderebbe molto, se si usano regolatori di tensione lineari efficienti, come quelli del arduino 2009, il problema
sarebbe risolto

Indipendentemente da tutto ci sono delle scelte da fare che riguardano
la velocità di comunicazione, la tensione di alimentazione da portare ai moduli...
così inizieremmo a definire qualche cosa di concreto.

Ciaoooo


Title: Re: Domotica con Arduino
Post by: bestmazzo on Sep 02, 2010, 11:50 am
Mi rendo disponibile per aiutare nella gestione del nuovo portale / forum /wiki
Se avete bisogno contattatemi tramite messaggi interni!
Title: Re: Domotica con Arduino
Post by: astroz78 on Sep 03, 2010, 10:58 am
Così, solo x cronaca! Ieri sera ho collegato un altro po' di pulsanti a un nodo della mia domotica...e posso dire che con quasi totale certezza entro fine settimana prossima avrò l'impianto completamente funzionante.

Dove per "completamente funzionante" intendo che potrò accendere e spegnere tutte le luci e tramite i pulsanti, come tutti i cristiani! Poi si passerà a lavorare alle cose un po' più "specifiche"!!!
Title: Re: Domotica con Arduino
Post by: astroz78 on Sep 03, 2010, 11:30 am
Ora ho una domanda per voi "bus-sari"...
...mi trovo di fronte a una questione e non sò bene come risolverla.

Poniamo questo esempio: ho dei pannelli di controllo internamente per casa (o meglio usare il futuro: avrò), e avrò anche il pannellino esterno per inserire/disinserire l'allarme.

Poniamo che io abbia due di questi pannellini (ma lo stesso discorso se ci pensate vale pure per i pannelli generici) ...questi pannelli fungono sia da "input" che da "output".

Esempio fungono da input in quanto accettano la chiavetta (RFID o quel che sia) come i pannelli generici avranno un touch panel o una tastierina, fungono da output in quanto mostrano su led o display lo stato di qualcosa (allarme inserito, memoria allarme, etc).

Considerata l'architettura p2p (peer-to-peer)...come si gestisce la comunicazione? Es. Io inserisco l'allarme dal pannello1 (quindi il pannello1 manda un token a chi sà lui), la centrale dell'allarme si inserisce, ma il nuovo stato di "inserimento" deve essere visualizzato su entrambi i pannelli di attivazione (pannello1 e pannello2) nonchè evidentemente dovrà essere visualizzato pure un "alert" sui pannelli "generici".

Chi comunica cosa e a chi? E' importante mantenere un certo isolamento degli strati hardware e generalizzare l'informazione così da mantenere la massima espandibilità futura.

Tenderei ad evitare meccanismi di polling per non intasare la rete e per garantire la massima affidabilità che l'informazione arrivi in real-time o quasi!
Title: Re: Domotica con Arduino
Post by: dancelover on Sep 03, 2010, 12:19 pm
@astroz78
Quote
Ora ho una domanda per voi "bus-sari"...

Quote
Considerata l'architettura p2p (peer-to-peer)...come si gestisce la comunicazione? Es. Io inserisco l'allarme dal pannello1 (quindi il pannello1 manda un token a chi sà lui), la centrale dell'allarme si inserisce, ma il nuovo stato di "inserimento" deve essere visualizzato su entrambi i pannelli di attivazione (pannello1 e pannello2) nonchè evidentemente dovrà essere visualizzato pure un "alert" sui pannelli "generici".

Considerando la tua architettura con bus lan, direi che il modo + facile per gestire i pannelli è:
1)pannello 1 -->AlarmON@centrale
2)centrale    -->AlarmON@pannello2
3)centrale    -->AlarmON@pannello3
4)ecc.
qualcosa di simile a gestire uno "scenario"
ovviamente devi prevedere che il pannello si allinei alle varie informazioni scrivendo una routine che interroga i vari apparati quando questo viene alimentato la prima volta (altrimenti in caso di blackout il pannello non sà se l'antifurto è attivo o no)

Quote
Tenderei ad evitare meccanismi di polling per non intasare la rete e per garantire la massima affidabilità che l'informazione arrivi in real-time o quasi!

il pooling dei sensori devi farlo in ogni caso ogni 5 minuti per rilevare la loro presenza... se tolgono corrente allo siwtch, l'allarme come fà a scattare?

Nel caso di un bus, gestire i pannelli è più curioso:
utilizzando RS485, ogni messaggio inviato gira sul bus e raggiunge tutti i device collegati..... sono questi che con un filtro scartano i messaggi che non corrispondono al loro indirizzo.
dato che il filtro lo scriviamo noi, possiamo prevedere un indirizzo di broadcast.... una specie di indirizzo jolly che bypassa il filtro

Ti faccio il mio esempio pratico per capire meglio...
ho la necessità si resettare tutti i device domotici della casa...
ogni device ha un indirizzo del tipo 1,2,3 ecc...
ho previsto un indirizzo jolly (255) al quale tutti i device dovrebbero rispondere
il filtro del device 1 che riceve i messaggi sul bus, scarta tutti i messaggi che hanno indirizzo diverso 1 o 255
quelli con destinazione 1 o 255 vengono sempre letti
il comando per resettare tutti i device insieme diventa reset@nodo255 e viene trasmesso una volta sola  ;)

Tornando alla tua architettura, in teoria esiste un indirizzo di broadcast
supponiamo che la tua rete abbia ip del tipo 192.168.0.x e subnet 255.255.255.0, allora l'indirizzo di broadcast dovrebbe essere 192.168.0.255
Tuttavia non credo sia stato implementato nella libreria ethernet :-?

Title: Re: Domotica con Arduino
Post by: astroz78 on Sep 03, 2010, 02:24 pm
Il broadcast è implementato sul protocollo ethernet...tant'è che il DHCP funziona proprio così!

Cmq ho deciso...utilizzo la tecnica del push...un po' come iPhone, Android, etc.!!!

Il nodo "pannello inseritore allarme" (nodo "2") sà che l'allarme è il nodo "1" (esempio)...quando si alimenta si dichiara al nodo 1. Il nodo "1" inserisce il nodo "2" nella sua lista di sottoscrizione (tipo mailing list)...e sà che al verificarsi di un suo evento lo deve comunicare a tutti i nodi inseriti in questa lista...quindi possono essere uno o più d'uno. L'allineamento è automatico...basta configurare il "client" (inseritore) dicendogli qual è il "server" (allarme). L'allarme si occuperà a cadenza fissa di fare un ping a tutti i nodi inseriti in quella lista per verificare se è ancora "alive"...se è morto x più di x tentativi allora lo toglie dalla lista!

I nodi "subscriber" possono essere di diverso tipo...e un pc e un altro nodo e un pannellino...insomma qualsiasi cosa!
Title: Re: Domotica con Arduino
Post by: stefano72 on Sep 10, 2010, 11:36 am
oooooops! tutto morto da una settimana? :d
ma state cablando casa come matti e non mi avete detto nulla? :d
Title: Re: Domotica con Arduino
Post by: Ambrogio on Sep 10, 2010, 11:50 am
Sono bloccato con il protocollo e non riesco a venirne fuori ! :( Guarda il mio post con la richiesta di aiuto !!! XD


http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1284078298
Title: Re: Domotica con Arduino
Post by: Guglio on Sep 10, 2010, 01:36 pm
Io sto aspettando il pacco dalla Cina...
Title: Re: Domotica con Arduino
Post by: bestmazzo on Sep 10, 2010, 02:50 pm
Anche io sono in attesa di hardware, nella fattispecie:
- shield con schermo tft 2.8'' e sd reader
- shield ethernet POE

Una considerazione, tanto per risollevare un po' la discussione:
mi domando perchè non si riescano a trovare degli shiled o schede esterne per il controllo di luci o cariichi generici. Possibile??

L'unica buona scheda che ho visto è la RLY08:
la possibilità di comandarla tramite seriale o TWI è ottima (permette di separare l'arduino dalla schda relè, in due scatole distinte) però ha dei relè che supportano carichi troppo piccoli...

Magari tra noi c'è qualche cervellone che saprebbe progettarne una simile con relè adeguati?  :)


Title: Re: Domotica con Arduino
Post by: Guglio on Sep 10, 2010, 03:57 pm
Io ho trovato delle piccole schedine da un relè(10A) ciascuna in Ungheria, 4 spedite mi vengono 4? l'una..
Contando che qua un relè me lo fanno pagare 2,50? mi conviene spendere 1,50 in più ed averle pronte all 'uso.
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=250689120782&ssPageName=ADME:X:RTQ:US:1123
Montano un relè che mangia circa 70mA per eccitarsi quindi serve per forza l' alimentazione esterna..
Che ne dite siori?

Riguardo alle schedine con usb già montate io ne ho comprata una per 20? spedita se non sbaglio da questo utente
http://myworld.ebay.it/ojtush
Ora lui vende la "v2" con qualche funzione in più..
La mia v1 è così http://www.youtube.com/watch?v=7hdQEqonEB4, è un po' più spartana ma funziona bene. (Baud 1200)
C'è un modo per interfacciarla con l'arduino?
Cioè se becco i pin TX e RX dell' arduino e l'alimentazione inviando gli stessi comandi che inviavo dalla porta COM la scheda ha le stesse funzioni?

Ciao!
Title: Re: Domotica con Arduino
Post by: pictux on Sep 10, 2010, 11:58 pm
@Guglio
per alcuni progetti ho utilizzato schede relais già pronte; mi son trovato bene con queste:
http://www.sigma-shop.com/category/7/5v-relay-boards.html
sia nei moduli da 2 relais che da 8 relais.

I consumi sono analoghi, ho usato un alimentatore supplementare per alimentarle.




Title: Re: Domotica con Arduino
Post by: Guglio on Sep 11, 2010, 12:10 am
Quando (prima di conoscere l'arduino) ho comprato la scheda relè avevo visto anche quelle che mi hai linkato poi ho preso quella da Ojtush perchè costava meno ed era alimentata via usb..
Che voi sappiate per controllare una scheda così non da usb bensì da arduino basta trovare i pin rx, tx che escono dall FTDI e collegarli ai pin tx,rx dell'atmega?
Ed il chip FTDI della scheda relè va in qualche modo scollegato?
Grazie
Title: Re: Domotica con Arduino
Post by: gabriele on Sep 11, 2010, 11:35 am
Due cose :
1) Ma avete provato, dico PROVATO ad usare CANBUS? Mi sembra inutile dover riprogettare un protocollo quando ne esiste uno che fa già TUTTO quello di cui abbiamo bisogno.

2) Nessuno ha più riparlato di FAULT TOLERANCE: quando qualche arduino muore,si spegne, va in vacanza, come si fa ad accendere una luce ?

2a) Per il motivo precedente, un protocollo MASTER-SLAVE non mi garba parecchio ...
Title: Re: Domotica con Arduino
Post by: astroz78 on Sep 20, 2010, 09:37 am
@Gabriele: esatto...è quello che dico io! Con un sistema master-slave c'è un punto critico di failure...il bus stesso e la gestione master-slave! Facendo comunicazione peer-to-peer non c'è questo problema in quanto ogni nodo funge da master e da slave allo stesso tempo.

Colgo l'occasione per farvi sapere che il mio impianto ora è operativo al 100%...con le sole funzionalità basilari di accensione/spegnimento delle varie luci e con la gestione dei vari pulsanti...poi ora dovrò implementare scenari, pannelli di controllo murali, sensori ambientali, etc....ma intanto l'impianto nella sua configurazione è operativo.

E con questo posso dire per esempio che, ed è successo, se un nodo và fuori linea x qualsiasi motivo, si isola solo quella parte di impianto...il resto rimane operativo al 100%!!!
Title: Re: Domotica con Arduino
Post by: luky83 on Sep 20, 2010, 11:50 pm
@astroz complimenti per il tuo impianto. Da quanto ho capito hai implementato il can bus.
Per piacere potresti indicare il nome commerciale degli attuatori/relè che hai utilizzato e come li controlli tramite i pin a 5V di arduino ?
Title: Re: Domotica con Arduino
Post by: astroz78 on Sep 21, 2010, 09:48 am
No...non uso il CanBus, ma il bus ethernet!

Come attuatori ho usato delle schede a 10 relè che stanno in un contenitore da barra din a 6 unità...il produttore ora non lo ricordo...cmq era una ditta piccolina del nord Italia.

Tra l'arduino e i relè ho inserito un circuito formato da shift register (74HC595) connesso ad Arduino tramite i 3 pin (Latch, Clock, Data)...ho tanti shift register in cascata quandi relè ho bisogno d'attaccare su quel nodo (di norma 2 shift register).

Ovviamente l'uscita dello shift register non è sufficientemente potente da pilotare direttamente i relè...e quindi ho interposto tra 74hc595 e relè un ULN2803A che, se non lo conosci già, è un array di transistor darlinghton NPN con incorporato il diodo di free wheeling. E' un chip evidentemente pensato proprio per pilotare relè!
Title: Re: Domotica con Arduino
Post by: Guglio on Sep 22, 2010, 01:10 pm
Arrivato l'arduino e la shield ethernet e con molta calma inizio a tirare i fili.
Title: Re: Domotica con Arduino
Post by: luky83 on Sep 22, 2010, 02:09 pm
io intanto mi sono ordinato la coppia relay indicata da pitusso, per sperimentare con quelle. La soluzione con shift register di astroz mi sembra comunque doverosa per lasciare iberi i pin per i sensori, ma io non sono assolutamente in grado di disegnarne il circuito. ( come alimenti l'ULN2803A ? dalla 220V o da arduino? )

Qualcuno potrebbe disegnare il circuito di astroz ? magari usando fritzing, così si può mettere nel playround
Title: Re: Domotica con Arduino
Post by: astroz78 on Sep 22, 2010, 05:36 pm
Cos'è stò fritzing? Lo disegnerei pure io lo schema, ma non sò come si fà! Non ho mai smanettato con software per disegnare circuiti...

In ogni caso ho usato questo schema come base:
http://arduino.cc/en/uploads/Tutorial/ShftOut_Schm2.gif

Con la differenza che al posto dei LED c'è l'ULN2803. Dove l'ULN2803 è collegato così:
- GND ULN2803a (pin 9) a massa comune
- VCC ULN2803a (pin 10) a VCC 12v
- basi dei transistor ULN2803a (pin 1-8) direttamente alle uscite del 74HC595 (pin 15 + pin 1-7)
- collettori dei transistor ULN2803a (pin 18-11) ad un capo della bobina dei relè
- altro capo della bobina dei relè a VCC (12v)
- VCC 74HC595 (pin 16) a VCC 5V (da stabilizzatore integrato su Arduino)

Ho quindi una doppia alimentazione 12v x i relè e 5v x la logica.

E' molto importante il condensatore elettrolitico da 1uF tra il latch del 74HC595 e massa...e anche un poliestere 100000pF sull'alimentazione 5V in prossimità del 74HC595.
Title: Re: Domotica con Arduino
Post by: stefano72 on Oct 03, 2010, 07:59 pm
Ciao a tutti!
ho ritorvato questo link:
http://www.progetti-hw-sw.it/scheda_rele_usb.htm

cosa ne pensate? :)
non potrebbe essere una bella soluzione?
Title: Re: Domotica con Arduino
Post by: bestmazzo on Oct 03, 2010, 08:48 pm
Ho testato l'analoga scheda con interfaccia ethernet proprio in questi giorni: l'hardware non è male, peccato che il software sia vecchio e con pochissime funzionalità.

Invece, ho trovato qualcosa di simile qui:
http://www.gce-electronics.com/12-tcp-ip

Nei confronti della scheda italiana ci sono un sacco di potenzialità hardware e un software assai più evoluto. Per non parlare del prezzo che è il circa 30% in meno.

Appena avrò modo di testarla dal vivo (presumo nei prossimi giorni) vi faccio sapere, se volete!
Title: Re: Domotica con Arduino
Post by: pictux on Oct 04, 2010, 09:34 am
@stefano72
Quote

ho ritorvato questo link:
http://www.progetti-hw-sw.it/scheda_rele_usb.htm

cosa ne pensate? Smiley


Scusa l'osservazione, ma in questo caso Arduino che c'entra????  :-?
La scheda non è interfacciabile direttamente con Arduino.
Inoltre, non vedo costi, ma penso che con meno prenderesti:
- Arduino
- scheda relays

con in più la possibilità di utilizzare un microcontrollore riprogrammabile, e con una serie di I/O pin in avanzo...  :D


@matteo
Quote
Invece, ho trovato qualcosa di simile qui:
http://www.gce-electronics.com/12-tcp-ip


Anche qui: Arduino che c'entra????  :)

Inoltre, nel costo di una delle schede postate, ci metti dentro:
- Arduino
- Ethernet Shield
- scheda relays
anche qui con la possibilità di utilizzare un microcontrollore riprogrammabile, una serie di I/O pin in avanzo, etc etc

Come esempio per le schede relais, io posto sempre lo stesso link:
http://www.sigma-shop.com/category/7/5v-relay-boards.html
(le uso regolarmente, le ritengo affidabili ed economiche).
Ce ne sono anche di più economiche.
Title: Re: Domotica con Arduino
Post by: cesco on Oct 04, 2010, 03:29 pm
Mi vorrei agganciare alla discussione sul protocollo o sul sistema hardware di trasmissione per collegare più arduino assieme.
La soluzione ethernet di astroz78 ritengo sia molto valida relativamente semplice da implementare e già bella pronta, ma interessante sarebbe anche una soluzione rs485 anche per il costo un po' più basso... se vogliamo guardare il centesimo :P .

Ho trovato a tal proposito un video su youtube:
http://www.youtube.com/watch?v=ABcjU0Ua-d4&feature=related

più un articolo su questo blog dove viene riportato un esempio
http://modprobe.complex.ch/2010/03/13/hello-rs485-arduino/

Vorrei capire come sia possibile realizzare, a livello hardware, un sistema con rs485 multimaster (nell'articolo si parla di master/slave) lasciando perdere per un attimo il tipo di protocollo che si andrà a creare.

Ringrazio tutti ... ciao
Title: Re: Domotica con Arduino
Post by: stefano72 on Oct 04, 2010, 05:09 pm
Uff!
non per fare il bastian contrario; vorrei solo trovare una soluzione facile e conveniente;

-http://www.sigma-shop.com/category/7/5v-relay-boards.html
sono fuori produzione e solo quella da 2 relè supporta la 220vac; notavo che per ogni relè vanno connessi 2PIN di Arduino; così devo acquistare molti più Arduino e per giunta programmare il tutto!

- http://www.gce-electronics.com/11-cartes-usb
i modelli Ethernet costano circa 90?! mentre gli USB a 8 relè 220vac 5A a 42?! mi pare abbia senso!

al che:
- con Arudino si potrebbe gestire gli INPUT dei sensori (pulsanti di ogni specie, sensori movimento, temperatura, gas, allagamento, vento, umidità,...)
- con le schede relè tutti gli OUTPUT verso gli attuatori (prese corrente, luce, motori,...)

la topologia potrebbe essere:
- una scheda relè per stanza (SLAVE);
- un Arduino fino a esaurimento input sensori (per 2 locali con bagno ne basta uno) (MASTER e - con più Arduino - multimaster) Mi hanno suggerito di usare un "multiplexer" per gli ingressi Arduino; idee, suggerimenti?

Non so come collegare la scheda relè USB ad Arduino; idee?

Che vi pare?
Credo che il vantaggio qui sia:
- elementi "prefabbricati" a costo chiavi in mano;
- solo costi per variabili per le tracce elettriche;
- basso rischio d'errore all'installazione, rapida e facilmente modificabile;
Title: Re: Domotica con Arduino
Post by: pictux on Oct 04, 2010, 06:01 pm
Ciao,
qualche precisazione:

1. "out of stock" significa che non sono disponibili, non che sono fuori produzione. Inoltre le schede in questione supportano 220-250VAC/10A, tranne quella a 4 relais (l'unica che non abbia usato mai  :))

2. ogni relè ha bisogno di 1 e 1 soltanto pin di Arduino (questo non vale in caso di tecniche di shiftout o di alternative basate su rs485 et similia, tipo questa:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1279214561/105#118);

3. la programmazione di Arduino per accendere un relè, è uguale a quella che si usa per accendere un led: dove sta la difficoltà?

4. uno dei problemi seri è che una scheda relais USB non la puoi pilotare direttamente con Arduino  (magari non son aggiornato io, ed è possibile: in tal caso mi correggerete)

Se fai una ricerca sul forum, riguardo a relais, troverai che le soluzioni adottate son state DIY oppure analoghe a quella ci sui ti ho parlato.
Son più economiche (spendi cmq meno della soluzione USB) e più semplici da interfacciare.

Discorso diverso da quella con interfaccia LAN, per cui l'interfacciamento è più semplice (rete).
Io cmq preferisco una sana Arduino + ethernet shield + scheda relais NON usb  :D

Title: Re: Domotica con Arduino
Post by: stefano72 on Oct 04, 2010, 06:32 pm
@ pitusso:
ciao!
non volevo fare troppo il preciso! :)
1 "out of stock" significa anche: chissà se e quando le rivedo in commercio...! :d da qui la mia traduzione polivalente...

2 ogni relè ha bisogno di un pin arduino + la massa; ergo 2n+1;
ergo: prezzo arduino + (prezzo scheda 2 relè * pin arduino /2n+1) spedizione = circa SEO 20? + (7?*3) = 41?;
concordo: se ci fosse uno shield economico che mi aumenta i relè collegabili ad arduino senza impegnare più di 2/3 pin, sarei contentissimo!! Anzi, mi ripubblichi i link ai prodotti che hai usato?

e allora, che anche arduino sia connesso ethernet, va benissimo e sono in linea con il tuo progetto! a me sta bene, ma esiste ed è economico?

3 senza alcun dubbio; parlavo del caso in cui la scheda relè è pilotata da chissà che (immagino connessa a computer via USB), ricevendo da arduino i valori di input dei sensori. ed ecco infatti il punto 4!
Title: Re: Domotica con Arduino
Post by: whole on Oct 04, 2010, 06:39 pm
scusasse se mi intrometto..ma..
Progettare uno standalone con ethernet (magari col chip etehrnet dip) ..e relativi punti controllo zone + attuatori non sarebbe + economico ?

Io mi sto rivedendo un progetto di ethernet standalone che ha fatto un ragazzo..pochi componenti ..solo il connettore a trovarlo è un casino ma pare il resto sia ok.

Una bella scheda arduino con rtc e controller ethrnrt integrata no credo si auna cattiva idea.

(ditemi che ho sbagliato discussione e taccio per sempre!  :-X )
cià
Title: Re: Domotica con Arduino
Post by: pictux on Oct 04, 2010, 07:14 pm
..anche questa è un'idea.
Era già stato linkato anche questo progetto:
http://www.instructables.com/id/A-credit-card-sized-Ethernet-Arduino-compatable-co/
di una Arduino compatibile dotata già di interfaccia di rete - basata sul ENC28J60 (come altri shield ethernet non ufficiali).

E' un buon punto di partenza anche questo, se si rimane nell'ambito della comunicazione tra device via lan.
Title: Re: Domotica con Arduino
Post by: stefano72 on Oct 04, 2010, 08:07 pm
raga, scusate se sono un po' noioso...
anche realizzare un "banale" ethernet shield DIY è fuori dalla mia portata...  :'(
... a meno che a Milano non ci sia qualcuno disposto a cofondare un circolo di smanettoni per l'assemblaggio elettronico...!  :P
(io lancio l'idea...)

so che sparo grossolanità, ma quando portavo l'esempio della scheda relè era qualcosa di più "plug'n'play" e "autocostruibile" per me (ammazza quando, direte, eh?)

tutto questo, cmq, per realizzare l'impiantino domotico senza ricorrere a produttori standard e costosissimi e in più, gestire il software in proprio...

Title: Re: Domotica con Arduino
Post by: pictux on Oct 05, 2010, 12:02 am
stefano72,
Quote
se ci fosse uno shield economico che mi aumenta i relè collegabili ad arduino senza impegnare più di 2/3 pin, sarei contentissimo!! Anzi, mi ripubblichi i link ai prodotti che hai usato?

personalmente ho usato Arduino 2009 + Ethernet Shield (originale - a parità di chip WIZnet, cambia davvero di poco, il prezzo).
Mi ero quindi fatto da me un primo semplice shield per collegarci la scheda da 8 relais usando 8 pin.
Lo shield in realtà gestiva 7 interuttori e 7 relais, che quindi risultavano pilotabili sia da web che da pulsantiera originaria.

Poi non ho fatto altro che inserire un 74HC595 per lo ShiftOut, usando quindi 3 pin per pilotare la stessa q.tà di relais.
In realtà, puoi utilizzare a cascata più 74HC595 e gestire quindi multipli di 8 di relais.
Il passo successivo sarebbe gestire anche l'input con ShiftIn, e liberare altri pin.
(per conoscere di più riguardo a ShiftIn e ShiftOut, dai un'occhiata alla sezione Tutorial).

Questo perchè fin'ora mi son trovato ad avere Arduino e i relais fisicamente nella stessa scatola.
Nel caso dovessi dislocare le schede relais, penso che mi butterei sulla soluzione basata su RS485 (quella linkata prima, per intenderci).

Queste son soluzioni molto economiche, e facilmente integrabili.

EDIT: Ricordo però che era stato postato un bello shield che integrava già l'RS485, ed era economico.. :
http://cgi.ebay.it/ws/eBayISAPI.dll?ViewItem&item=140434821207&ssPageName=STRK:MEWAX:IT
Title: Re: Domotica con Arduino
Post by: cesco on Oct 05, 2010, 10:23 am
scusate l'ignoranza ma sto cercando di capirci un po' di più leggendo i vostri utili consigli.

Ma il sistema i2c con libreria Wire è da scartare a priori? Cioè perché viene privilegiato un sistema rs485 piuttosto che i2c già integrato su arduino con libreria già pronta ? Distanza tra le schede? ma quanto distante può arrivare un sistema i2c?

Grazie!  :)
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Oct 05, 2010, 10:25 am
qualche metro, non di più.
Title: Re: Domotica con Arduino
Post by: cesco on Oct 05, 2010, 10:33 am
allora ho capito perchè :P

Ma la differenza tra rs485 master/slave e multimaster è data dal software o dall'hardware?
Cioè un arduino può leggere dal bus e successivamente inviare verso il bus?

Es. : premo il pulsante su scheda1 che comunica alla scheda2 di accendere il led, ma anche la scheda2 può fare lo stesso verso la scheda1. Oppure la scheda1 fa accendere un led nella scheda2 ma anche scheda3 e viceversa..

E' fattibile una cosa del genere?

Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Oct 05, 2010, 10:47 am
allora, un sistema master e slave prevede che ci sia un unico master che coordina tutti gli slave, ovvero che ciclicamente li interroga o li aggiorna uno alla volta. Gli slave, come già si può capire dalla parola non possono prendere nessuna iniziativa.
Un esempio potrebbe essere che tu premi un pulsante su uno slave ma, il led viene acceso solo quando il master va a leggere quel determinato slave e nota che lo stato di quel pulsante è cambiato. E' chiaro che si parla di al massimo qualche millisecondo, quindi non è questo il collo di bottiglia. I problemi nascono dal fatto che se si guasta i master tutti i funzionamenti degenerano!

Un sistema multimaster è in grado di arginare quest'ultimo problema, perchè essendoci più di un master, le comunicazioni potrebbero andare avanti anche se ne muore uno (o più di uno) perdendo solo parti della funzionalità.
l'unico problema (o meglio difficoltà) del multimaster è che essendoci più di un master ogni dispositivo può parlare quando vuole, se due parlano contemporaneamente, avviene una collisione tra i messaggi...e non ne arriva nessuno dei due. Bisogna quindi implementare qualche tecnica che eviti la collisione o che sia in grado di gestirle.
Title: Re: Domotica con Arduino
Post by: cesco on Oct 05, 2010, 11:07 am
Grazie mille Federico per la spiegazione.
Chiedo scusa se pongo delle domande banali, ma sto cercando di capirci qualcosa.  :-/

Quindi la gestione delle collisioni avviene tramite software giusto?

Tipo ogni nodo controlla, prima di inviare, se ci sono altri "messaggi" nel bus e poi invia il proprio. Oppure si attende finchè non c'è la conferma di ricezione di un comando precedentemente inviato da uno dei nodi, informando tutti i nodi... può essere?
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Oct 05, 2010, 11:18 am
figurati!! anch'io...tante belle nozioni ma non ho ancora messo in pratica molto, non è facilissimo con zero esperienza e pochi strumenti ;)

Dovresti immaginarti la situazione a livello un po' più fisico e meno astratto, in pratica considera l'ipotesi che due messaggi collidano, i segnali elettrici che viaggiano sullo stesso canale si "mischiano", il risultato è un nuovo segnale che non contiene più informazioni.
Generalmente se ne accorge chi manda il messaggio perchè si aspetta che il destinatario gli risponda entro un certo tempo (timeout), quindi se non riceve nessuna risposta vuol dire che è successo qualcosa.
Title: Re: Domotica con Arduino
Post by: cesco on Oct 05, 2010, 11:53 am
grazie per la comprensione :P

Comunque hai ragione, non avendo tante nozioni di elettronica ma più da programmatore, non consideravo il fatto a livello fisico :)

Comunque nel peggiore delle ipotesi chi invia il messaggio, lo ritrasmette finchè non riceve la conferma.

Proverò ad acquistare un  SN75176BP  e fare dei test scrivendomi una specie di protocollo... vediamo cosa succede.  ;D

Ho fatto un po' di elettronica a scuola, ma quando si è a scuola purtroppo (e non me ne vanto, ma la tendenza è questa un po' di tutti) non si considera molto quello che si sta facendo... ora mi sto riappassionando... e mangiando le mani per non aver studiato un po' di più quando potevo  :'(

Title: Re: Domotica con Arduino
Post by: astroz78 on Oct 05, 2010, 04:19 pm
Ragà...cmq la memoria di Arduino è veramente poca...intendo la RAM...stò scapocciando cercando di capire come mantenere tutto ciò di cui ho bisogno in RAM senza esaurirla...
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Oct 05, 2010, 05:14 pm
i casi secondo me sono due:
- o ad ogni scheda fai fare meno cose e metti più schede;
- o ne compri una con più ram (Mega)
Title: Re: Domotica con Arduino
Post by: cesco on Oct 05, 2010, 05:56 pm
@astroz78

hai la shield ethernet con supporto SD ? sennò potresti utilizzare questo:

http://code.google.com/p/sdfatlib/

invece di tenere tutto in ram

Title: Re: Domotica con Arduino
Post by: astroz78 on Oct 06, 2010, 10:31 am
No ahimè ho le vecchie ethernet shield...tra l'altro quelle che hanno quel fastidiosissimo difetto di doverli resettare all'atto dell'alimentazione...

...in oghi caso si tratta di "leggere" non "scrivere"...quindi potrei usare la PROGMEM o la EEPROM...è che sono memorie lente...peggio mi sento se usassi la SD!!!

Il punto è che stò tenendo il sistema il più "configurabile" e "parametrizzabile" possibile...questo aumenta la versatilità ma aumenta pure l'uso di RAM!
Title: Re: Domotica con Arduino
Post by: Enrico M. on Oct 06, 2010, 01:41 pm
leggo con attenzione questo topic da poco dopo la sua apertura, inseguendo ogni possibile contributo ad un'idea fissa che mi tortura da più di un anno: progettare (e realizzare!) un sistema domotico economico e flessibile, possibilmente basato su piattaforme open hardware.

ho visto dipanarsi in questa manciata di settimane, tra le oramai 17 pagine di post (con quasi 20 mila visite!) lo stesso processo mentale che mi aveva portato (progettualmente) alla soluzione già implementata da astroz (btw: complimenti!): arduino e ethernet.

da principio anche io considerai l'rs485 la soluzione fisica migliore: lunghe distanze, poca sensibilità alle interferenze, economicità dei chip... ma, anche per il prezioso apporto pragmatico di astroz, sono convinto che l'ethernet sia la soluzione ideale.

usare quest'ultima tipologia di connessione, infatti, consente di avere quasi tutti i vantaggi dell'rs485, esclusa l'economicità degli integrati (sarebbe melgio comunque approfondire la questione). Ma con un enorme vantaggio: per l'ethernet esiste già un meraviglioso protocollo: il TCP/IP!

non sta a me decantarne le lodi (nasco come svilupatore web, quindi sono di parte), ma e' praticamente quasi tutto già risolto: collisioni, integrità dei dati, sicurezza delle comunicazioni... chi più ne ha, più  ne metta.

usando l'ethernet per la comunicazione tra i nodi, inoltre, si predispone una dorsale di comunicazione che va oltre le immediate e semplici esigenze di un sistema domotico prototipale come quello che stiamo incubando in queste pagine, e si lascia uno spazio molto ampio per la crescita del sistema verso applicazioni di streaming audio/video (telepresenza, baby monitor, videocitofonia), tecnologie VOIP (asterisk) e integrazione con altri sistemi, anche remoti. e senza scrivere una riga di protocollo di comunicazione. resta quello applicativo, ma è a questo che serve il forum, no?

un ultimo punto a favore di ethernet: il mio sparring partner mentale in questi "pensieri domotici" è un elettricista, un professionista di quelli bravi e coscienziosi (=attenti alle normative), che si occupa sia si impianti domestici che industriali, e lui mi insegna che quello ethernet è uno dei cavi che costa meno in assoluto.

e vi assicuro che se vi mettete a fare i conti, in un impianto elettrico complesso, il costo del rame diventa una voce molto importante della lista.

nulla vieta comunque di prevedere delle porzioni del sistema che viaggino su rs485, prevedendo dei nodi che fungano da gateway verso di esse (mmm.... reti di reti... mi ricorda qualcosa...  ;) )


ci sono altri pensieri che vorrei condividere con voi, ma questo post è già troppo lungo, quindi (per ora) mi fermo.
Title: Re: Domotica con Arduino
Post by: Enrico M. on Oct 06, 2010, 01:53 pm
@Massimo Banzi

qui e altrove hai accennato ad una nuova versione di arduino con ethernet integrata in uscita a settembre. ho visto l'UNO (grande l'idea dell'atmega usb al posto dell'ftdi, ne vedremo delle belle nelle prossime settimane), e ho visto che siete riusciti a mantenere intatto il costo base.

per la versione con ethernet integrata, immagino costerà meno di una 2009 + eth shield: quanto meno?

non intendo andare off-topic, ma il costo attuale di una soluzione arduino+eth_shield è effettivamente un po' alto rispetto ad una variante rs485... e sono curioso di sapere quanto la nuova arduino renderà più interessante questa strada... specialmente rispetto a cose come la piattaforma mbed, che tu già conoscerai:

http://mbed.org/handbook/Tour

Per 48,50 euro + IVA da farnell (http://it.farnell.com/jsp/search/productdetail.jsp?sku=1761178), che non è mai troppo economico sui dev kit...

ps: non mi piace l'impostazione del progetto MBED, e preferirei pensare ad arduino, ma è una piattaforma micidiale per un progetto domotico
Title: Re: Domotica con Arduino
Post by: Enrico M. on Oct 06, 2010, 02:00 pm
@astroz

per il problema della roba da tenere in memoria, perché non lasciare all'esterno della piattaforma arduino queste informazione e richiederle "al volo" ad un serverino di appoggio?

in passato ho usato con successo questo aggeggino:

http://www.omnima.co.uk/store/catalog/Embedded-controller-p-16140.html

con poco più di 20 euro ti porti a casa un serverino linux minimale ma oltremodo sovradimensionato per quello che servirebbe a te. la distro che ti danno per qualche euro te la rende operativa e configurata a piacimento nel giro di meno di mezz'ora...
Title: Re: Domotica con Arduino
Post by: astroz78 on Oct 06, 2010, 02:55 pm
@Enrico M.

Intanto grazie mille per i complimenti...

Riguardo l'interfaccia ethernet, pur rimanendo concettualmente convinto d'aver fatto la scelta giusta, mi ritrovo con enormi problemi con lo shield che in continuazione si impalla. L'arduino continua a funzionare, ma l'ethernet shield esce dalla rete e non ci ritorna finchè non viene resettato l'intero nodo.

Stò cercando di trovare una soluzione al problema, ma non è facile! Sembrerebbe impossibile ripristinare il funzionamento da codice, serve un reset fisico. Stò infatti pensando di implementare un sistema watchdog del solo ethernet shield che dovrebbe funzionare così: costantemente pinga un nodo o un server che deve rispondere. Qualora non risponda arduino manda un reset al solo ethernet shield (utilizzando un pin di output dell'arduino stesso). Non è affatto una soluzione elegante, ma il problema và risolto (l'altro giorno l'irrigazione non s'è stoppata xkè tra lo start e lo stop lo shield ethernet s'è impippato e è uscita acqua per 4 ore...).

Riguardo la RAM...non voglio assolutamente demandare niente del genere a un server esterno. Voglio che i nodi siano indipendenti da qualsiasi altro apparato...poniamo che mi si scassa tutto, ma rimangono operativi 2 nodi che parlano tra di loro...questi voglio che continuino a funzionare...

...ad un server demando la gestione della schedulazione, degli scenari, dei log, etc., ma l'operatività base voglio che sia garantita nel nodo stesso.
Title: Re: Domotica con Arduino
Post by: pictux on Oct 06, 2010, 03:14 pm
@astroz78

Quote
Riguardo l'interfaccia ethernet, pur rimanendo concettualmente convinto d'aver fatto la scelta giusta, mi ritrovo con enormi problemi con lo shield che in continuazione si impalla. L'arduino continua a funzionare, ma l'ethernet shield esce dalla rete e non ci ritorna finchè non viene resettato l'intero nodo.


..forse non hai letto le mie ripetute risposte, nei post moolto precedenti, in merito a questo problema da te presentato.
E' un problema conosciuto, e la soluzione pure è conosciuta da tempo (vedi qui un approfondimento:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1282231155/27#27
ma vedi anche sul forum internazionale, se ne parla molto).

Con la nuova Etherne Shield questo problema dovrebbe essersi risolto, perlomeno per il reset richiesto ad ogni riavvio:
Quote
The latest revision of the shield also includes a reset controller, to ensure that the W5100 Ethernet module is properly reset on power-up. Previous revisions of the shield were not compatible with the Mega and need to be manually reset after power-up

Title: Re: Domotica con Arduino
Post by: astroz78 on Oct 06, 2010, 03:25 pm
@pitusso:

Ahimè...le tue risposte le ho lette tutte...e ho letto e riletto quei post di cui parli...il punto è che non trattano il problema che ho io...e cioè del freeze del sistema arduino + ethernet shield!

Riguardo lo startup e del nuovo shield con reset controller, non posso farmi carico io di sostituire 5 shield "difettati" con un nuovo modello "non difettato"...in teoria mi dovrebbero essere sostituiti in garanzia (visto che sono in garanzia). Non posso sostenere il costo di 5 nuovi ethernet shield...

Io non voglio insistere o ripetere 10000 volte la stessa cosa...ma i freeze della scheda ethernet sono imbarazzanti! Anche perchè non è che avvengono sempre, con la stessa frequenza e a fronte di un'operazione specifica...ma freeza come e quando gli pare!
Title: Re: Domotica con Arduino
Post by: pictux on Oct 06, 2010, 03:33 pm
astroz78,
forse ti sfugge il fatto che quando l'Ethernet Shield si freeza, Arduino continua a funzionare!
Il problema è sempe quello, fidati.

Mi ci son scontrato anche io...
Title: Re: Domotica con Arduino
Post by: astroz78 on Oct 06, 2010, 03:35 pm
Sìsì lo sò benissimo che Arduino continua a funzionare...ho anche capito che in qualche modo restano "appese" le 4 socket disponibili e esaurite quelle la comunicazione LAN smette di funzionare...ma a sapere qual è il problema...e sopratutto come risolverlo!

Io penso che sia nella libreria di interfacciamento Ethernet.h e sue sotto-librerie! Ma non sò veramente dove sbattere la capoccia!
Title: Re: Domotica con Arduino
Post by: pictux on Oct 06, 2010, 03:38 pm
astroz78,
continuiamo la discussione relativa ai problemi Ethernet Shield sul thread da te aperto appositamente.
Title: Re: Domotica con Arduino
Post by: cesco on Oct 11, 2010, 12:51 pm
Un consiglio

Secondo voi dovendo fare un controllo luci nella mia abitazione, è meglio entrare con i pulsanti direttamente su arduino e da li comandare i relè per l'accensione delle luci, oppure utilizzare dei relè doppio scambio in maniera da tenere in piedi l'impianto anche in caso di malfunzionamento di Arduino ? Mi posso fidare anche a lungo termine di Arduino ? :) ... Vorrei comandare le luci tramite Arduino, ma nello stesso tempo mantenere la possibilità di comando tramite i pulsanti che ci sono e leggerne lo stato. Oppure c'è un altro sistema che mi sfugge?

Grazie.
Title: Re: Domotica con Arduino
Post by: ema_ on Oct 14, 2010, 07:00 pm
Buongiorno a tutti ! sono nuovo del forum e seguo con interesse la vostra discussione in merito alla domotica con Arduino. Purtroppo la mia esperienza in campo elettronico è principalmente legata al "manufacturing"  (lavoro per un azienda che progetta e costruisce una sorta di Arduino specializzato per il mondo automotive) per cui in campo domotico mi limito a imparare quanto posso seguendo i vostri post senza però poter dare in cambio un gran contributo.

Ora volevo iniziare a pasticciare un po' con Arduino, seguendo gli esempi tratti dal libro "Making Things Talks" dove viene suggerito il modulo di interfaccia  "X10 PL513 Interface Module Transmitter" (vedi smarthome.com/1134B/X10-PL513-Interface-Module-Transmitter-PL513-PSC04/p.aspx)  compatibile con le librerie di Arduino, ma adatto ai 110 Volt USA.  
Qualcuno può suggerirmi qualcosa di analogo, compatibile 220 Volt, magari reperibile in Italia / Europa ?

grazie a tutti
Emanuele

Title: Re: Domotica con Arduino
Post by: pictux on Oct 15, 2010, 10:07 am
cesco,
per esperienza personale, porterei tutto sotto Arduino senza alcun timore.

Se ti rimane qualche dubbio, tieniti un paio di luci collegate al sempre aperto del relè, così che, in caso di problemi (hw) lato Arduino, non rimani al buio  :D
Title: Re: Domotica con Arduino
Post by: mordor on Oct 16, 2010, 11:36 am
Salve. Sono un elettronico, ho lavorato come impiantista civile e industriale, ora lavoro nel settore dell'alta e altissima tensione.

Ho avuto esperienze di sviluppi e montaggi pcb smd in passato e di programmazione con arduino.
Stavo osservando con interesse il vostro topic.

A mio avviso servono hardware dedicati, nel senso che bisogna costruire delle schede per vari motivi.
Al primo posto c'è il risparmio. Comperare ethernet shield, aduino, interfaccia relè ecc ecc è dispendioso secondo me, e inoltre poco affidabile. Piu collegamenti ci sono e piu rischia ossido, contatti incerti ecc ecc.
Io pensavo a delle centraline di " zona " uguali e personalizzabili. Per esempio ogni scheda ha x ingressi analogici, x uscite relè, la sua porta per comunicare in bus con gli altri moduli.

Allora si potrenno collegare eventuali pulsanti per luci, sensori volumetrici e contatti perimetrali, uscite per luci, sirene, ventilazione intelligente ecc ecc. Ogni centralina quindi gestirà la propria zona ( magari un piano intero ) e sarà autonoma per certe funzioni basilari locali, quali luci e ventilazione, in modo da dare continuità dei sevizi basilari anche in caso di guasti.
Io avrei gia qualche idea per fare l'hardware. Volevo renderla un po meno flessibile, ma piu semplice e meno costosa. Meno hardware spargiamo per la casa e piu rispiarmiamo e diminuiamo le possibilità di guasti. Nel senso che se si rompe la centralina di piano si cambia malchevada, se tempestiamo la casa di centraline per ogni singola luce o stanza quando cominciamo ad avere guasti c'è un costo fisso sulle schede dal quale non si scende e in piu problemi di trasmissione vari ed eventuali.
Cmq io ho un mare di idee anche pratiche, ma serve l'aiuto di tutti per arrivare a un sistema affidabile e piu semplificato possibile.
Spero di avere acceso un po di fuochi o lumi :), nel senso remiamo in una unica soluzione che faccia comodo a tutti, evitiamo di costruire accrocchi con 10 15 schedine collegate tipo lego... Serve una cosa sana semplice ed economica. Senno finisce che restiamo agli esperimenti ma poi per praticità e affidabilità non ne vedremo mai di case realizzate.

p.s. mi offro eventualmente per realizzare i pcb se è un problema..
Title: Re: Domotica con Arduino
Post by: astroz78 on Oct 19, 2010, 11:44 am
Ciò che dice mordor è piuttosto simile a quanto ho in testa io!

Centralizzare i nodi per macro-aree, gestire una logica locale indipendente dal bus, avere nodi personalizzabili, quanto meno hardware possibile!

Tra l'altro anche io avevo l'idea di non usare il PCB di Arduino e il PCB dell ethernet shield, ma di realizzare una scheda che contenesse il uC ATMel più l'elettronica necessaria di contorno. I relè li lascerei comunque esterni.

Quindi a bordo ci metterei:
- ATMel
- Interfaccia di connessione (Ethernet nel mio caso, ma eventualmente anche altre interfacce)
- Multiplexer uscite
- Multiplexer entrate
- Adattatori di interfaccia di entrata
- Logica di reset (Watchdog e/o quant'altro)

Ora non mi viene in mente se avevo già pensato ad altro, ma ad occhio e croce questa era l'idea...ovviamente facendo sì che le schede siano "più o meno" complete e possano gestire la quasi totalità dei nodi e non siano eccessivamente ingombrando. Prevedendo delle schede di "espansione"...che sò servono più uscite di quelle a bordo della mainboard? Scheda che collegata in cascata (altri shift-register) crea ulteriori uscite. Idem per gli ingressi.

@mordor...ma tu realizzi PCB? Con quale tecnica? E in che modo potresti aiutare la comunità? In particolar modo io ti chiedo questo xkè io avrei bisogno di realizzare alcune schede...
Title: Re: Domotica con Arduino
Post by: stefano72 on Oct 20, 2010, 12:18 am
Ciao Morodor!
Apprezzo smisuramente quello che dici: è la mia idea fissa, sin dall'inizio del forum!
Facciamolo!
Inoltre, torno a proporre l'idea di compilare la tabella dei componenti (attuatori, sensori,...), prezzi, fornitori in modo da avere un quadro uniforme di riferimento e magari organizzare una comunità di acquisto... (anche se non subito; perchè? Perchè persone come me, che non hanno dimestichezza, esperienza specifica, si sentirebbero rassicurate nel spendere i giusti soldi per il prodotto giusto, potrebbero iniziare a costruire le prime cose, vedere le prime realizzazioni e, essendo tutto condiviso tra gli altri utenti, avrebbero proposte di soluzione affidabili ai problemi incontrati. No soldi e tempo buttati via, e traguardi raggiunti per gradi).

Nel frattempo, ho trovato anche questa novità: http://it.wikipedia.org/wiki/Plug_computer

La butto qui, chissà, magari torna utile nel progetto generale....
Ciao a tutti e a presto!
Title: Re: Domotica con Arduino
Post by: stefano72 on Oct 20, 2010, 12:21 pm
Sul forum italiano di Unix FreeBSD è recentemente apparsa questa discussione (loro vedono l'aspetto domotico con una prospettiva un po' diversa dalla nostra, essendo sistemisti, ma avvallano alcuni nostri assunti); trascrivo anonimamente i passaggi di spunto (guardate i link):

> A me e` sempre piaciuto questo: http://www.picotux.com/
> (ma costa troppo e va bene solo per sviluppo, imho)

certo che e' veramente mini, da montare all'interno di una normale
scatola per frutti a muro.

> Altrimenti puoi spendere 10-20 eur prendendo una scheda
> router con l'arm che ti offre 1-4 ethernet, usb e seriali...

Ho gia' fatto questa esperienza con pfsense, sono anni che il
baracchino e' acceso senza alcun tipo di problema.

> Questo ha fatto diverse cose interessanti di domotica:
> http://www.conoscerelinux.it/Members/webmaster/pub/linuxday-2006/materiale/06-fuso.pdf

Molto interessante, la domotica potrebbe essere il naturale sbocco per
applicazioni scritte su questi apparati.

> Io ero interessato al protocollo X-10 (onde convogliate) ma
> ci sono anche i link a risorse interessanti (pag.19: Sweex)
> http://www.sunspot.co.uk/Projects/Sweex.htm
> http://www.omnima.co.uk/store/catalog/Embedded-controller-p-16140.html
> (nuova <30eur, usate anche <10  :-)
Title: Re: Domotica con Arduino
Post by: Guglio on Oct 20, 2010, 03:19 pm
Io nel frattempo ho collegato la prima luce inserendo un relè come deviatore.
Oggi spero di riuscire a collegare qualcos'altro e poi giù di PHP e AJAX..
Title: Re: Domotica con Arduino
Post by: mordor on Oct 20, 2010, 09:17 pm
Bhe i relè esterni non sono un problema, ma sinceramente: perchè?
Devi sbatterti a mettere gli zoccoli su barra omega, i relè, cablare... cosi hai gia i relè da 10A sulla scheda.  Il problema è che vorrei fare una cosa semplice e veloce... si rompe per un fulmine.. amen 50 100 euro ci costerà sta unità ? sconnetto le morsettiere, cambio scheda e riparto con la casa in 10 minuti.

La mia idea base era di fare una scheda con sostanzione entratre / uscite, in modo che con una gestisci un appartamentino, o un piano, con 2 ti fai la casa completa. La scheda farà delle funzioni basilari da sola ( luci, antifurto, sconnessione carichi ecc ) mentre collegandole a un pc o a una scheda che funge da controllore si potranno fare azioni piu complesse, tipo gestione accessi, azioni remote... Insomma intanto facciamo delle schede che raccolgano abbastanza ingressi uscite e facciano le funzioni basiliari ( restando sempre a disposizione remota con una interfaccia di qualche tipo )

x atroz, i circuiti li disegno con software apposito, poi li do a una ditta che li fa professionalmente, non faccio piu uso di acidi e bromografi ( in casa non raggiungi mai livelli che si avvicinino al professionale, anche perchè saldando smd mi serve serigrafia, verniciature, piazziole ramate, vias ecc ecc

:)
Il problema è che qui vedo molti post, ma poco di concreto. Nel senso che le idee frullano ma svaniscono nell'aria. Servirebbere innanzitutto un brainstorming di idee e soluzioni possibili e un raccoglitore di tutto cio, per non parlare a vuoto. Bisogna fare decisioni e scelte concrete se si vuole produrre qualcosa. Che fammo?
Title: Re: Domotica con Arduino
Post by: stefano72 on Oct 20, 2010, 11:06 pm
@ Morodor
Confermo e riconfermo il tuo ultimo paragrafo e torno ad esprimere il mio punto di vista: non ho competenze specifiche (e come me tantissimi altri): abbiamo bisogno di una guida così come coloro che hanno più competenza specifica si misurino sui limiti e i campi di applicazioni che i primi pongono.
Da architetto civile con un minimo di comprensione di informatica e pochissimo di elettronica, posso contribuire per la mia parte: posso stimare costi edilizi, suggerire alternative e soluzioni... ho bisogno del resto! :)
Davvero, cominciamo a concretizzare: ad esempio, il protocollo che fine ha fatto?

Ciao a tutti
Title: Re: Domotica con Arduino
Post by: mordor on Oct 21, 2010, 08:09 am
Innanzitutto:

Dobbiamo capire cosa vogliamo fare concretamente ( idee di base )
Trovare le figure che le realizzano ( informatici, elettronici )
Iniziare a fare.

Io ripeto per la scheda non ho problemi a realizzarla, a dire il vero ho gia piazzato dei componenti principali su un progetto.

Ora dobbiamo racimolare un po di persone che partecipino attivamente, capire come deve essere strutturato il progetto e decidere una piattaforma di lavoro a distanza. Nel senso che servirà parlarci, scambiarci idee, mettere foto avanzamenti.
Se non mettiamo assieme le idee di tutti si rischia che io faccia una scheda che va bene a me e a altre 2 persone... Deve essere partorito da piu menti...

Mi offro quindi per guidare il progetto per quanto riguarda la realizzazione hardware del pcb, ma dobbiamo decidere che volete da sto pcb... ;D
Title: Re: Domotica con Arduino
Post by: astroz78 on Oct 21, 2010, 02:50 pm
Riguardo i relè a bordo...non sono daccordo:
1° per avere meno problemi con la BT/AT sulla stessa scheda...anche per un eventuale (e già corro con la mente) futura certificabilità del PCB
2° se si brucia la parte logica cambi la parte logica in meno di 2 secondi perchè la connessione tra scheda logica e relè può essere effettuata con connettori multifilari, mentre se devi smorzettare i cavi da 220v (1,5mm o 2,5mm) ci vuole moooooooooolto più tempo e cmq devi usare il cacciavite
3° se si brucia un relè (es. xkè ci hai caricato troppo e s'è fuso o troppa longevità degli scambi oramai deteriorati dagli archi elettrici che vuoi o non vuoi si verificano) cambi la scatolina con i relè e non stai a toccare la logica che è intatta
4° le dimensioni della scheda! Una scheda che contiene solo logica (uC e eventualmente driver relè e adattatore di input x i pulsanti) può essere relativamente piccola pur consentendo di gestire che sò anche 32 relè...poi se in quel nodo ne devi mettere solo 10 di relè (xkè hai 10 utilizzatori), le altre 22 uscite saranno sprecate, ma non avremo 22 relè inutilizzati che occupano spazio e costano.
5° non dimentichiamoci che le dimensioni in generale sono fondamentali. Io ho 5 nodi con una media di 30 relè per ogni nodo. E' vero che ho casa grande (160mq, 4 camere, 2 saloni, 2 cucine, 3 bagni) e che ho messo per ogni scatola murata (503) una linea NA (normalmente aperta) e una NC (normalmente chiusa) aumentando di fatto la necessità di relè, ma in ogni caso lo spazio non è da sottovalutare

Relativamente alla questione brainstorming e di decidere cosa e come farlo, sono stra-assolutamente daccordo!

Per prima cosa bisognerebbe decidere quale bus utilizzare...ovviamente io spingo per la soluzione che ho adottato e, cioè, bus Ethernet, risolvendo però e analizzando le problematiche che affliggono l'interfaccia di Arduino.

Secondo poi è necessario decidere cosa mettere a bordo e cosa no e come configurare il PCB. Sotto questo punto di vista io ci metterei: uC atMEGA328 e necessari componenti, interfaccia per il bus determinato, almeno 4 shift register (32 uscite) di output (da seriale a parallelo => shiftout) e relativi driver di potenza per i relè, almeno 4 shift register di input (da parallelo a seriale => shiftin) e relativi adattatori di input. Poi metterei i componenti necessari all'alimentazione (Es. 7805 x stabilizzare la 5v) e l'eventuale gestione dei reset dei uC e degli altri componenti e i vari output enable.

Devo riuscire a trovare il tempo di postare qualce documentazione pratica del mio impianto! :)
Title: Re: Domotica con Arduino
Post by: astroz78 on Oct 21, 2010, 03:03 pm
Aggiungo un'altra cosa!

Io ho già molte idee su come modularizzare appunto il sistema...anche a livello di "connettori", supporti per barra omega, etc.!

Esempio...io uso questa scheda relè...ha 10 relè a bordo da 10A l'uno con diodo di free wheeling:
(http://www.fdweb.net/hosted/od/releX10.png)

Che inscatolo nella scatola che vedete sotto per barra DIN:
(http://www.fdweb.net/hosted/od/contenitoreDIN.png)
Title: Re: Domotica con Arduino
Post by: astroz78 on Oct 21, 2010, 03:43 pm
Altra cosa...io ho distinto tre tipologie di nodi:
1 - allarme: arduino mega + adattatori di input per i sensori e scheda con uscite per sirena, combinatore, etc. Utilizzo componentistica precostruita come combinatore, sirena, PIR, etc
2 - PLC: arduino 2009 (o Uno) interfacciato con scheda shift register per gli output e scheda shift register di input per i pulsanti (quest'ultima ancora non realizzata...collego i pulsanti diretti ad Arduino)
3 - meter: arduino 2009 (o Uno) per rilevazione temperatura/umidità/etc, lettura contatore energia elettrica (contatore già precostruito con uscita conta impulsi), rilevatore presenza di rete elettrica, luminosità, etc.

Il nodo "allarme" è abbastanza pacifico che sia di tipologia ad-hoc, mentre i nodi "PLC" e "meter" si potrebbe pensare che possano andare sulla stessa scheda! Io li ho tenuti separati per vari motivi...pesantezza firmware, scarsa memoria ATMel, scarsi pin in/out...anche xkè la logica di funzionamento è proprio diversa.

La logica è la seguente:
PLC - i nodi ognuno fà tanto da master che da slave. Se il comando è locale (pulsante e utilizzatore su stesso nodo) viene eseguito e non impegna proprio il bus di comunicazione. Se il comando è remoto (pulsante su un nodo e utilizzatore su un altro) allora alla pressione del pulsante il nodo 1 contatta il nodo 2 per richiedere l'esecuzione del comado.

METER - il nodo raccoglie i dati con una frequenza stabilita e li archivia nella propria memoria. Costantemente un nodo "orchestratore" o PC (io stò valutando ma penso di usare c# su .net sotto XP) costantemente scarica i dati in un db locale e li valuta e fà le eventuali azioni. Lo stesso server espone una GUI sotto forma di web-app.

Molte cose non esistono ancora di ciò che dico e sono solo idee del progetto ancora da realizzare. Stasera vedo il mio amico e andremo avanti su qualche fronte...
Title: Re: Domotica con Arduino
Post by: mordor on Oct 21, 2010, 08:09 pm
Belle idee, anche se non sono daccordo a pieno.
Intanto per marchiare il pcb non c'è problema, con i 250 vcc rispetti alcune distanze e caratteristiche di isolamento ed il gioco è fatto ( gia fatto non è cosi problematico ). Un relè costa circa dai 3 euro in su, diciamo che è la cosa piu costosa. Potremmo fare i relè a discrezione del''utilizzatore, quindi esterni con connettore, e driver gia a bordo scheda ( solito npn e diodo di protezione ).
Complichiamo le cose se diversifichiamo le cose. Scheda allarme, scheda plc, scheda meter.. non ci siamo secondo me. Una unica scheda con tutto a bordo, se serve di piu ne metti 2. Ma cosi uniformi i pcb, abbatti i costi, e dai una small solution anche ai meno esigenti. Tu pensi in grande, ma dobbiamo pensare anche ai monolocali degli studenti squattrinati.

Io direi quindi:  
1) 220 fuori dalla scheda! ok alimentatore separato e relè fuori a discrezione fanno lavorare tutto in bt, un toccasana della sicurezza e uno stupendo modo per declinare ogni colpa dell'utilizzatore  ;D  >:(

2)  nodo multivalente e unico, piuttosto ne metti 2, ma almeno hai a che fare con un tipo di scheda solo ( fare 40 pcb di un tipo costa 40, fare 20 di un tipo e 20 di un'altro costa 70. Piuttosto mettiamo 2 arduini su una scheda. A conto fatto costa meno un atmel in piu che un multiplexer o una schedina diversa :P

Io vorrei portare a un pcb unico.. diamo una cosa piu semplice possibile all'utilizzatore, non facciamolo morire con cavi, cavetti e switch di rete. Possibilmente teniamo la rete domestica separata con la domotica, basta una fesseria sulla lan e ti cade la casa...

Riassunto della mia visione:
Scheda unica tutto a bordo ( limitata a meno punti magari, cè da dire che un ingresso ttl di un pir antifurto può essere anche un pulsante della luce, quindi quello che non vuole il pir avrà magari la luce in giardino in piu... a discrezione del caso ), relè e 250vca non presenti su scheda, quindi rele esterni ( su barra din con zoccolo, o pcb a discrezione dell'utente )

Interfaccia utente e funzioni complesse che può essere un pc, o una scheda a se stante ( le funzioni basilari come luce e allarme e ventilazione restano vive anche senza questa, perchè girano direttamente nei nodi che possono lavorare anche fuori rete ).


Title: Re: Domotica con Arduino
Post by: bl4d3 on Nov 02, 2010, 12:10 pm
mi aggancio anche io, se serve una mano per la realizzazione dell'interfaccia sono a vostra disposizione.
tempo fa avevo fatto questa semplice gui per android
http://arduino.cc/blog/2010/09/16/mobile-home-automation-via-android/?lang=it
l'importante è trovare una strada comune da percorrere.
Title: Re: Domotica con Arduino
Post by: mordor on Nov 02, 2010, 02:03 pm
Non so se sarà qualcosa di realizzabile veramente. Nel senso che è un topic che da molto va avanti, molti hanno idee e interesse, ma nessuno ha reale interesse.bisogna fare un gruppetto che tiri avanti la storia in modo concreto. Ripeto io posso pensare all'hardware, ma da solo non vado da nessuna parte, anzi corro il rischio di trovarmi pcb e tempo impiegato per nulla... Se c'è qualcuno realmente interessato si fa un gruppetto di lavoro, ci si pongono scadenze e obbiettivi e si va... Poi si può pensare anche una piccola produzione per gli interessati, ma servono delle figure con dei ruoli, altrimenti si resta fermi qui.
Title: Re: Domotica con Arduino
Post by: Simo89 on Nov 03, 2010, 01:27 am
Appena iscritto al forum, è da un po che seguo con interesse tutto quanto e specialmente questa discussione.

Non ho ancora un arduino ma me lo procurerò al più presto ;)

tornando IT, anche io sono favorevole all'utilizzo di ethernet e di nodi periferici che hanno funzioni vitali a bordo, mentre per il resto dipendono da un server centrale.

Ma stiamo parlando di utilizzare arduino o di rifare completamente la scheda?
Title: Re: Domotica con Arduino
Post by: mordor on Nov 03, 2010, 09:24 am
Rifare completamente un'hardware dedicato in base alle nostre esigenze. Ne giova affidabilità, lavoro di cablaggio, costi e  semplicità...
Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 03, 2010, 10:00 am
Sono d'accordo con stefano, mordor e astroz sul fatto che a questo punto sia necessario mettersi concretamente al lavoro: metto a disposizione professionalità e strumenti. Ho una piccola società che si occupa di sviluppo applicazioni web e servizi di hosting: metto a disposizione la mia lunga esperienza di programmatore, con forte specializzazione sul networking web, nonché strumenti concreti per partire, come spazio hosting e tutti gli strumenti software che ci possono servire. La mia formazione universitaria è nell'ambito del design delle interfacce, e questo è il punto sul quale posso essere maggiormente d'aiuto.

Concordiamo un incontro virtuale su qualche piattaforma IM (Skype?) e lì diamo il via ad un confronto in cui rapidamente dare vita ad un sito/blog/qualsiasicosa dove mettere in ordine le idee.

Nello specifico, sono perfettamente allineato con stefano e mordor sulla questione dell'architettura del sistema da un punto di vista elettrico: arduino (o chi per lui) sta per i fatti suoi e gestice voltaggi bassi (12 V massimo), e tramite piccoli ed economici relé (qualche ampere giusto per stare comodi) comanda quelli seri (16-20 A) che intervengono sull'impianto.

Sul piano del cablaggio, secondo me è bene che la logica di controllo se ne stia nella scatola di derivazione, dentro una bella scatolina DIN standard, da cui escono i connettori per l'aggancio dei moduli relé (e/o dimmer), anch'essi incatolati un contenitore DIN (da farnell ce ne sono di ogni misura a pochi euro l'uno). Come detto sono alcuni mesi che studio la questione, e ho scoperto che anche il leader di mercato in campo industriale (Siemens Desigo) usa un'architettura simile, ma facendosi pagare una fortuna per qualcosa che possiamo replicare facilmente a basso costo.

Per il bus di comunicazione vi ho già espresso il mio parere: ethernet è la scelta più pratica, sia per il fatto che risolve in partenza tutta una serie di problemi che con standard come RS485 sono da affrontare da zero. Consentirebbe inoltre di accelerare lo sviluppo dei primi prototipi, facendoci cocentrare da subito sul protocollo di comunicazione ad alto livello. Infine, ethernet lascia la porta aperta a mille altri usi futuri del bus (streaming audio/video per questioni di sicurezza e monitoraggio, filodiffusione).

Sul fatto che sia necessario sviluppare hardware ad hoc, sarei abbastanza d'accordo, se non fosse che l'hardware che potrebbe fare al caso nostro sia già stato concepito, assieme ad framework software piuttosto solido che ci può fare molto comodo:

 http://cafe.jeelabs.net/hardware/

Eventualmente partiamo da questa soluzione hardware/software open source basata su arduino: è estremamente flessibile in quanto usa I2C per i moduli di espansione, ed è ben pensata su molti fronti, compreso l'interssante il fattore di forma molto simmetrico, e il tipo ha già progettato anche una scheda ethernet molto economica (@astroz: un rimpiazzo per i tuoi incespicanti ethernet shields?).


Anche stavolta mi sono dilungato troppo, per cui chiudo qui.

Resto disponibile per concordare questo incontro virtuale, nei modi che preferite, ma senza allungare inutilmente i tempi: la prossima settimana?

Ciao.
Title: Re: Domotica con Arduino
Post by: mordor on Nov 03, 2010, 10:33 am
Ok, si parte. L'hardware proprietario da realizzare era una shield con arduino, ma su un pcb unico... nessuno ci vieta di prendere progetti pronti e schiaffarli sul nostro pcb cambiando piste e dimensioni...

Secondo me dovremmo aprire un forum, ma prima trovarci skype e stabilire dei ruoli, delle persone.

Io ripeto posso curare l'hardware sotto direttive degli altri, altri la parte software onboard, altri le interfaccie esterne, e poi serve un ruolo urgente e non di poco: qualcuno che metta su un forum e gestisca in futuro lo swiluppo web. Basta idee : VOGLIAMO NOMI  ;D

Restiamo che ci sentiremo via skype... intanto alzate le mani
Title: Re: Domotica con Arduino
Post by: bl4d3 on Nov 03, 2010, 10:39 am
interfaccia grafica mobile/web - skype: mattia.lipreri
Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 03, 2010, 11:03 am
eviterei il forum come spazio principale perché secondo me diventa inutilmente complicato produrre contenuto: userei invece un sistema wiki (qualche preferenza? pensavo di installare wikimedia, ma se avete un'idea migliore, fatevi avanti).

cominciamo a costruire la lista dei partecipanti: chi si aggrega al gruppo di lavoro copi e incolli in un reply la lista qui sotto, indicando nick e specializzazione/disponibilità


- bl4d3: interfaccia grafica mobile/web
- enrico m.: webmaster e programmazione

(sottinteso che siamo più o meno tutti impegnati sul fronte architettura hardware/software)
Title: Re: Domotica con Arduino
Post by: mordor on Nov 03, 2010, 11:17 am
- bl4d3: interfaccia grafica mobile/web  skype: mattia.liprer
- enrico m.: webmaster e programmazione
- mordor: sviluppo hardware e pcb   skype: alberto.favret


direi che le basi le discutiamo a voce su skype: per fare l'hardware si devono avere le idee chiare, non si può cannare, o aggiustare il tiro.. ogni hardware cannato sono soldi buttati: dobbiamo avere le idee chiare di cosa si farà.
Quindi faremo una conference dove ognuno dirà la sua e si procederà a tirare giu delle conclusioni che saranno i paletti da dove partire. Dopo sviluppo software e hardware si metteranno daccordo per le scelte tecniche di sviluppo.
Title: Re: Domotica con Arduino
Post by: Simo89 on Nov 03, 2010, 11:51 am
- bl4d3: interfaccia grafica mobile/web  skype: mattia.liprer
- enrico m.: webmaster e programmazione
- mordor: sviluppo hardware e pcb   skype: alberto.favret
- Simo89: software mobile (windows mobile /phone 7) + aiuto generale   skype: vombato_tk


dai che si parte :p
Title: Re: Domotica con Arduino
Post by: teseo82 on Nov 03, 2010, 02:35 pm
Ciao a tutti,
è da tempo che seguo il forum e sono felicissimo che finalmente si parte con qualcosa di concreto. Sono un ingegnere dell'automazione e lavoro in ambito SW embedded per cui potrei dare una mano nella progettazione/implementazione dei moduli SW. Preferirei che il sistema sia basato su arduino e secondo me dovremmo creare un sistema fortemente modulare, insomma una sorta di centralina dove vi è una CPU e la possibilità di inserire altri moduli (tipo PLC). Moduli di comunicazione (ethernet, CAN, etc.) dovrebbero poi gestire la comunicazione con altre unità o con l'esterno.

Il mio contatto skype è: teseo82
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 03, 2010, 03:12 pm
Beh...dunque!

Assolutamente non per polemica, prima di auto-assegnarsi un ruolo, io penso che sia opportuno intanto decidere chi parteciperà a questa call-conference, magari poi si valuta chi fà cosa! :)

Mi piacerebbe molto partecipare...in qualità di "Non lo sò"...in realtà io sono competente più o meno sotto tutti gli aspetti e ho il grande vantaggio d'avere un know-how specifico dato dal fatto che ho realizzato qualcosa di concreto!

Non sò quanto posso essere costante...la mia vita in questo periodo è un casino...ma proprio un casino...e non posso dimenticare che devo portare avanti anche il mio di impianto!

Intanto facciamo che parteciperò a questa call-conference...facciamoci due chiacchiere!

Direi che per il momento ci vuole semplicemente un nome che organizzi questa call-conference, poi si vedrà!

Lascio il mio account skype: astroz78

Fatemi sapere, anche via PM, giorno e orario! Io sono diponibile dalle 19 in poi tendenzialmente tutti i giorni tranne il martedì (che sono disponibile dopo le 21).

Ciao
Dario
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 03, 2010, 03:15 pm
Aggiungo un'informazione che non è ancora assolutamente confermabile...ho addosso un'azienda che prossimamente verrà a visitare il mio impianto in quanto FORSE interessata a studiarlo, pacchettizzarlo e svilupparlo per commercializzarlo...magari si potrebbe organizzare qualcosa di ancora più "concreto" con il supporto di tutti.

Prometto, quantoprima, di fare delle foto ai nodi del mio impianto e di postarli.
Title: Re: Domotica con Arduino
Post by: mordor on Nov 03, 2010, 03:46 pm
Ognuno qui ha le sue idee, chi vuole modulizzare, chi no, chi preferisce un sistema o un'altro... si dovrà fare una media ponderata, molte cose non andranno a tutti, altre andranno a molti...

L'esercito lo stiamo formando, non stiamo dicendo di no a nessuno; da quando ho iniziato a spingere per fare qualcosa sul forum ho visto utenti piu interessati e utenti "spettatori". Il team che si formerà deciderà e farà, non si esclude nessuno, ma per rispetto del lavoro altrui non si tornerà indietro su decisioni radicali gia fatte...
Detto questo io stasera se faccio a tempo o domani inizio ad aggiungervi a skype e a fare 2 chiacchere per chi c'è... Inizierei piu come 4 amici al bar... in modo soft...
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 03, 2010, 03:49 pm
Assolutamente daccordo su tutta la linea con mordor!
Title: Re: Domotica con Arduino
Post by: Guglio on Nov 03, 2010, 04:21 pm
Se c'è bisogno di un forum per fare una cosa più ordinata io ho una licenza vBulletin che non utilizzo già installata e pronta per essere usata.
Basta comprare il dominio o accontantarsi almeno per ora di un DNS (tipo no-ip).
Problemi di banda non ce ne sono visto che sul sito girano dei miei piccoli script per amministrare dei database e  mi rimangono 50gb di traffico inutilizzati.
In grafica sono negato ma programmo per hobby in php (per chi non lo conosce è un linguaggio supportato dal 99% degli hosting) , se c'è bisogno di qualche piccolo script che faccia da ponte o boh chiedetemi.

Riguardo alla parte elettronica io sono assolutamente un niubbo ma sono interessato ugualmente al progetto, quindi sarò fra gli spettatori
Title: Re: Domotica con Arduino
Post by: Simo89 on Nov 03, 2010, 04:40 pm
imho per ora ci basterebbe anche un hosting su altervista ;)
Title: Re: Domotica con Arduino
Post by: stefano72 on Nov 03, 2010, 04:55 pm
E non scordatevi di me!! :d io ci sono sempre, solo che:

1 non uso Skype!! Non è open source.. :( come facciamo?
2 via voce mi perderei i pezzi: mi piace molto di più leggere gli "abstract" sul forum, questo magari...
3 io sono architetto, nel senso di calce e cazzuola, quindi posso aiutare in valutazioni su questo piano; tra l'altro mi occupo di costruzioni strambe (all'estero si dice innovativo) e volevo appunto integrare un sistema domotico open e low cost (visto che le mie tecniche costruttive costano da far ridere)
4 mastico web, programmazione e meno elettronica; potrei redigere le sintesi delle scelte e cataloghi delle informazioni acquisite...

PS http://sustburbia.blogspot.com/2010/07/open-source-heating-control.html
http://openfarmtech.org/index.php?title=Solar_Combined_Heat_Power_System
Title: Re: Domotica con Arduino
Post by: pictux on Nov 03, 2010, 09:24 pm
Quote
E non scordatevi di me!! :d io ci sono sempre, solo che:

1 non uso Skype!! Non è open source.. Sad come facciamo?
2 via voce mi perderei i pezzi: mi piace molto di più leggere gli "abstract" sul forum, questo magari...


+1

non capisco poi perchè concretizzare sulla domotica con arduino fuori da qui quando è stato fatto un thread apposito  :-?

Come strumento di lavoro, se poi si volesse essere più... collaborativi, ci si dovrebbe orientare a software (opensource) tipo questo:
http://bigbluebutton.org/
o a versioni analoghe free ed online:
http://www.dimdim.com/
Title: Re: Domotica con Arduino
Post by: Ambrogio on Nov 03, 2010, 10:38 pm
Ciao ragazzi, vi chiedo un parere: cosa ne pensate di http://www.amarino-toolkit.net/ ?!? E' un sistema per interfacciare gli smartphone con sistema operativo android con Arduino attraverso il bluetooth.

C'è bisogno solo di:
- un telefono bluetooth con sistema operativo android
- un arduino (va benissimo anche un 2009)
- un modulo bluetooth come questo http://www.sparkfun.com/commerce/product_info.php?products_id=582 da collegare all'Arduino

Guardando questo sito mi è venuto in mente ... e se invece di usare uno smartphone usassi un bel tablet pc da 7" con bluetooth integrato come questo ?!? http://www.alibaba.com/product-gs/352077733/7_inch_Android_Tablet_Bluetooth_GPS.html

Secondo voi la cosa è fattibile ? Sarebbe un'ottima alternativa al pannello touchscreen da mettere incassato nel muro ... questo te lo puoi portare in giro e quando non lo usi lo tieni sotto carica su un tavolino !
Title: Re: Domotica con Arduino
Post by: mordor on Nov 03, 2010, 11:48 pm
A mio parere: il comando della casa deve funzionare sempre, senza noie, senno finisce che dopo 2 settimane lanci in cassetto tutto.
Il bluetooth tira 10 metri, non è sicuro che ci copri nemmeno casa. Se ti dimentichi di caricare? stai al buio :) è affidabile il sistema di controllo? è figo girare per casa col tablet, ma fino a che rimane un gioco ok, se si deve pensare a qualcosa di dedicato e affidabile ci penserei...
Title: Re: Domotica con Arduino
Post by: mordor on Nov 04, 2010, 12:03 am
Comunque ripeto: di idee ce ne sono infinite, infiniti i modi di pubblicarle, infinite necessità degli interessati. Ripeto io sto aggiungendo a un gruppo su skype i vari personaggi di cui ho qui sopra l'indirizzo e poi si tirano le somme... Skype si scarica in 1 minuto e si istalla in altrettanto, è comodo e lo usano in molti. Non è open? e allora? Nemmeno il software con il quale sviluppo pcb lo è... Per fare un progetto open mica servono strumenti open... basta che i frutti lo siano :D
Ognuno che passa qui ha la sua versione... tireremo assieme le somme la settimana prossima e si partirà. Io non voglio dire di no a nessuno, ma dicendo di si al singolo si toglie la libertà al gruppo: quindi si voterà e decidera assieme per le idee che emergeranno..

Io intanto alberto.favret continuo ad aspettarvi in skype e a raccogliere tutti in un gruppo.
Title: Re: Domotica con Arduino
Post by: stefano72 on Nov 04, 2010, 12:27 am
@ ambrogio: secondo me si potrebbe sempre fare, magari come addon a fine sviluppo, e garantedo, come dice giustamente Morodor, che poi nn si rimanga con il cerino in mano (per questo credo sia da farsi in seguito;
cmq si può sempre pensare di basarlo su wifi (un po' meglio del BT) con tecnologia web: ci sono già tante soluzioni nel market android, tipo VLCremote o ActiveHomeRemote

@ morodor: beh, se dal principio nn è open poi abbiamo problemi con le multinazionali!  :D ;D Scherzi a parte; di skype usi la parte vocale o la chat? alla chat si può accedere con diversi SW non proprietari, al vocale no... :(
Title: Re: Domotica con Arduino
Post by: lucariello on Nov 04, 2010, 12:28 am
Salve Gente, è un po che non mi faccio sentire.
Vedo che finalmente si è sviluppato il giusto fermento.

Non dimenticativi che ho già registrato il dominio e lo metto volentieri a disposizione.  www.flosba.org
(pensate sia orrendo? ...non risparmiatevi sulle critiche  ;) )

Purtroppo non ho avuto più molto tempo da dedicare al progetto.
Ho tralasciato la realizzazione del sito a favore di approfondimento su problemi relativi a bus, costi e fattibilità
Resto fermo sull'idea che l'ethernet ci debba essere ma come estensione di un sistema sviluppato su bus di campo
...penso che cmq quest'idea di base non vada in conflitto con le altre soluzioni e sono quindi felice di collaborare in ogni caso.

In breve il frutto del mio lavoro:

BUS:
Ero sempre combattuto tra can-bus o rs-485 + protocollo (a dire la verità all'inizio ero più per il can, ... e ho anche comprato un libro a riguardo)
alla fine la scelta è caduta su rs-485 e vi spiego perché:
1) Più economico del CAN
2) non ha problemi di licenze e royalty
3) ci sono driver che permettono di collegare più di 256 componenti sulla stessa linea

COSTI:
Un possibile transceiver potrebbe essere  EXAR SP485R  ? 0.91 e 320 ricevitori per linea!
Il cavo di collegamento può essere un cavetto telefonico a due coppie   ? 0.15/metro
Il micro controllore potrebbe essere in molti casi anche un atmega88 costerebbe la metà senza variare il PCB
Ovviamente ci vorrebbe una scheda già con il transceiver integrato, con la possibilità di montare schields per le diverse funzioni
tutto su smd con un layout tipo quello dell'arduino mini.
Con queste caratteristiche siamo probabilmente sotto i 10 ? a scheda!!

Fattibilità:
Per me i problemi riguardo la fattibilità erano legati al protocollo, lato software, e alla topologia della rete lato impiantistico.
Per il protocollo c'è la buona base di YAKKO http://yakko.sourceforge.net/ dove possiamo attingere anche al codice.

Per il lato impiantistico, il mio pallino fisso rimaneva sempre quello di un sistema semplice da implementare anche dal più
"sfigato" degli elettricisti-impiantisti.
Il problema con can e rs-485 è delle maledette resistenze di terminazione c'è inoltre il problema relativo al collegamento
di monconi (stub nodes) all'ideale rete lineare che andrebbero adeguatamente calcolati in base a diversi fattori... (e non mi dilungo oltre)
Alla fine, per tagliare la testa al toro, facendo qualche calcoletto, mi sono accontentato di una bassa velocità di comunicazione,
(se non ricordo male 20 o 30 kb/sec) che permette di collegare con topologia libera tutti i componenti senza terminazioni
con una distanza massima tra i nodi più lontani di 1km!!!
Topologia libera vuol dire che collego i nodi come voglio al bus principale e derivo come voglio fino a 256 e oltre schede!

tutto questo deve prevedere un possibile bridge sugli altri standard (ethernet/RF/PowerLine/ecc..)

Che ne Pensate?

Skype: lukeskychopper

ciaooooo

P.S.:
Che ne pensate di Twitter per un veloce scambio di idee?
Title: Re: Domotica con Arduino
Post by: pictux on Nov 04, 2010, 12:32 am
@Ambrogio
.. mi hai tolto le parole di bocca.
Stavo guardando proprio qualche giorno fa il progetto Amarino.

Sto attualmente lavorando con modulini bt che costano mooolto meno di quelli che hai postato (pagati 10 $), ed effettivamente l'intento era poi pilotarli attraverso smartphone / tablet.

Per Nokia e Symban in genere, ho qualche riga di Python scritta, ma mi piacerebbe riuscire a riutilizzare il progetto Anyremote (anyremote.sourceforge.net).
Per la parte Android avevo appunto addocchiato Amarino.

Riguardo invece al tablet, anche a quello è da tempo che con qualche amico ci pensiamo: se non per pilotare l'impianto domotico via bluetooth, magari via wifi - e qui rientra a pieno nel contesto dei protocolli proposti.

Solo, aspettavamo un 8/10 pollici con Android >= 2.1 ad un prezzo decente. Già si trovano ePad, aPad, etc etc da 10 pollici sotto ai 200 eur, ma con Android 1.6...
Title: Re: Domotica con Arduino
Post by: lucariello on Nov 04, 2010, 12:54 am
...per i tablet anch'io sono in attesa...
Gli unici che mi fanno gola per adesso sono l'haipad, imito im7, o il bellissimo archos 70 (però saliamo di prezzo)
Anche se per la domotica forse andrebbero bene anche quelli sotto i 100?
Title: Re: Domotica con Arduino
Post by: stefano72 on Nov 04, 2010, 01:02 am
qui bisognerà decidere se si va per Ethernet o per RS485.
mi pare sia lo scontro di maggior peso qui nel forum.
forse andrebbero integrate entrambe o ammettere la possibilità di bridge e formare due sottogruppi che condividano poi le librerie di codice?
Title: Re: Domotica con Arduino
Post by: mordor on Nov 04, 2010, 07:18 am
Se devi contenere i costi e semplificare farle tutte e due non mi pare molto azzeccato... Con la lan c'è una cosa da non sottovalutare: la possibilità di fare una semplice paginetta html senza fronzoli per configurare il dispositivo direttamente con un pc...
Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 04, 2010, 11:09 am
ma perché lo strato fisico di comunicazione non può essere una semplice scelta del progettista/utilizzatore: ethernet o rs485, alla fine tramite nodi bridge si posso far dilogare ina maniera semplice entrambi i mondi.

usare due tecnologie non creerebbe troppi problemi di costi, in quanto entrambe le soluzioni condividerebbero le parti più complesse e delicate da sviluppare, cioè hardware base (nodi intelligenti, attuatori e sensori) e protocollo di comunicazione di alto livello.

avevo già citato il progetto, poco open al momento, http://mbed.org, che però avrebbe il vantaggio di avere sulla stella logica di base sia la ethernet che il canbus. non sarebbe la soluzione ideale, ma per partire potrebbe essere molto comodo... e nulla vieterebbe di realizzare col tempo (fatta massa critica) qualcosa di sviluppato ad hoc, davvero open a livello hardware.


dico un'eresia: perché non avere sia astrazione sul fronte del bus, ma anche sul livello hardware dei nodi intelligenti?

sono un programmatore web e sebbene io lavori principalmente con java, la roba che faccio si integra senza problemi con altra roba che faccio in PHP o python, o anche ASP, magari con dati provenienti da Oracle... e chi più ne vuole più ne metta. Spesso lo faccio grazie a cose come XML, che si mette nel mezzo fra le specifiche implementazioni tencniche.

Intuizione? Provocazione? Non saprei: entrambe. Sarebbe interessante capire assieme se sia possibile progettare (e realizzare, per favore realizziamo!) un sistema che sia il più flessibile possibile, persino sul fronte hardware... vaneggio?


In realtà è in questi pensieri che mi sono arenato nelle ultime settimane, al momento di mettermi a fare qualcosa: nel frattempo ho fatto delle cosine, con linux e con arduino, ma mi resta nell'angolo del cervello l'idea fissa che se si dipana il bandolo della matassa ad un livello logico molto alto (tenendo presente che sarebbe interessante poter far girare i nostri gingilli domotici sia su un linux embedded con qualche giga di flash, che su un arduino con solo qualche decina di kappa di storage), poi le specifiche implementazioni possono essere portate avanti in ogni direzione.

E questo è possibile proprio perché il progetto si muove in campo open.

Ma pur scegliendo una strada aperta, se sul nostro cammino troviamo strumenti interessanti che non lo sono, pur di concretizzare rapidamente ed efficacemente le nostre idee, non possiamo tapparci il naso e usarli? magari solo finché un gruppo di lavoro collegato al progetto non concretizza la realizzazione di un hardware dedicato che risponda alle nostre necessità...  ;)

Io vorrei davvero riuscissimo a partire rapidamente con qualcosa di concreto e condiviso... sennò ciascuno di  noi continua per la sua strada perché facciamo tante chiacchere e non realizziamo nulla di concreto ASSIEME.


Vaneggio lo so, e mi sono dilungato troppo anche questa volta... mi fermo.
Title: Re: Domotica con Arduino
Post by: amedeo on Nov 04, 2010, 02:23 pm
Al progetto sono interessato quanto vuoi ed in questi giorni nei ritagli di tempo mi sono letto tutte e venti le pagine del thread.

In linea di massima condivido le affermazioni di mordor e LukeSkyChopper effettuate nelle ultime settimane e mi adeguo alle decisioni prese dal gruppo con un piccolo contributo:

1) è essenziale che il time-to-market non sia troppo dilatato, ovvero un prototipo per tecnici del settore deve essere disponibile nel giro di pochi mesi;
2) La soluzione tecnica di un bus (can o rs) secondo me è migliore ed a costi inferiori;
3) la soluzione tecnica ethernet paventata in particolar modo da astroz78 semplifica enormemente lo sviluppo della piattaforma avendo il protocollo tcp/ip un supporto maggiore e sicuramente royalties free (per questi motivi stavo iniziando un'analisi di fattibilità su di essa + xbee per alcune cose).

Ne conviene che la decisione essenziale da prendere sia: ethernet o bus; per fare questo bisognerebbe anche capire che effort possono impiegare le persone che si sono offerte per il progetto in modo da pesare le due macro strade.

Detto questo al momento potrei impegnarmi per:

- hosting del (sito|wiki|progetto)
- gestione dell'hosting al punto sopra
- testing sulla piattaforma sviluppata in via di sviluppo

Per lo sviluppo al momento sono preso e non riuscirei a dare continuità, mentre per la gestione del codice mi appoggerei a github o google code (personalmente preferisco la prima soluzione)

skype: oscert.net (dopo le 18-19 con un giorno di anticipo)

p.s. comunque ha ragione enrico se non si fa qualcosa si rischia che ognuno faccia per se!
Title: Re: Domotica con Arduino
Post by: Ambrogio on Nov 04, 2010, 02:42 pm
Allora, premetto che ho già realizzato una specie di protocollo che lavora su bus RS485. Ho preferito usare un protocollo custom perchè quelli già in circolazione (per esempio modbus) non mi permettevano di personalizzarmelo come volevo io.
Appena ho tempo do una sistemata al codice e posto i miei risultati.
Comunque per ora il mio impianto è strutturato in questo modo:

C'è un nodo principale con un arduino Mega dove arrivano tutti i pulsanti e tutti i relè per il controllo delle luci e dove sono collegati due dimmer SX13 comandati dalla seconda seriale di Arduino Mega. In questo modo le luci vengono gestite anche in caso ci fosse un problema al bus. Mi rendo conto che forse sarebbe stato meglio mettere un nodo per ogni stanza, ma siccome il mio appartamento non è grandissimo ho preferito far gestire tutte le luci al nodo principale.

Il Bus è collegato alla prima seriale dell'arduino Mega e lavora su RS485, in questo modo oltre che attravesto i pulsanti, i relè possono essere settati/resettati da dei comandi che arrivano sul bus (ovviamente anche i Dimmer).

Per ora ho creato un nodo che riceve dei segnali IR da un comune telecomando e invia dei comandi sul Bus. Per esempio posso dirgli: "Se viene premuto il tasto CH+ invia sul bus il comando F0 01 00 03 00 00 01 F0 (che significa incrementa la luminosità del dimmer 1)"

Volevo poi creare dei nodi per rilevare le temperature nelle varie stanze e fare una specie di termostato.
A questo punto viene in gioco il tablet pc ... invece che mettere un display 16x2 caratteri potrei creare un programma sul tablet dove vengono visualizzate le temperature, lo stato delle luci, gli scenari attivi ... ecc ecc.

Potrei collegarlo attraverso la USB ad un nodo che ha solamente la funzione di convertire i comandi da USB a RS485 ma poi ho visto il progetto amarino e mi sono detto: perchè devo essere obbligato a tenere il tablet collegato con la USB quando posso fare una cosa che mi permetta di muovermi all'interno del mio appartamento ?!? Certo, dovrei prevedere una stazione di ricarica della batteria, ma se è carico posso portarmelo in giro.

Il sistema ovviamente funziona anche senza tablet, quindi in caso di malfunzionamento al max non leggo la temperatura o non posso comandate le luci da li ma le funzioni base dell'impianto rimangono attive !

Il problema è che non ho esperienza con i tablet e con android !

Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 04, 2010, 03:32 pm
Ho un momento di pausa sul lavoro e vorrei entrare nel merito della questione sollevata nel mio ultimo messaggio per cercare di spiegarmi meglio.


Quando parlo di indipendenza da soluzioni specifiche lato software, parlo naturalmente del fatto di esporre i servizi disponibili sull'hardware con un protocollo condiviso: i più fighetti potrebbero parlare sdi SAAS, ma alla fine sono delle seplici API.

Trovo a tal proposito interessante il lavoro di mattia (nick "bl4d3") sull'applicazione android per la quale ha anche reso disponibile il codice. Penso solo che su un microcontrollore il json sia un po' troppo pesante in termini di ram, ma la soluzione ha il grandissimo pregio di rendere "leggibili" i messaggi, il che semplifica molto il debugging iniziale (grossa parte del lavoro a questo stadio del progetto). In ogni caso un plauso per essere partito subito "pensando in grande" dal punto di vista delle tipologie di messaggi e di nodi.


A livello hardware, invece, penso a cose come realizzare moduli funzionali da usare tipo mattoncini lego, per quanto possibile funzionanti con hardware di tipo anche molto diverso.

Per esempio nei i moduli arduino-based che ho già citato, i JeeNodes (http://cafe.jeelabs.net/lab/jn4/), il tipo che li ha concepiti ha ben pensato di usare I2C e implementare diversi moduli di espansione ("plugs") che aggiungono funzionalità come: misurazione temperatura, luminosità, uminidità; espansioni I/O digitali e analogiche; moduli relé; etc.

Se progetto un modulo termostato basato su I2C, nulla mi vieta di collegarlo ad un sistema linux (quasi tutte le soluzioni embedded supportano questo standard di serie) se he ho bisogno.

Si tratta di un semplice esempio: non è detto che l'I2C sia effettivamente il protocollo ideale (e qui viene il grande valore aggiunto della rete di cervelli che stiamo mettendo insieme, grazie alle quale sono certo possiamo individuare la soluzione davvero ottimale per il 95% dei casi).

Ma per tornare alla questione di cui sopra, il tipo dei jeenode ha affrontato e risolto il problema predisponendo sul pcb 4 porte ("ports") dalla identica piedinatura*:

 PWR  (tensione positiva in ingresso a monte del regolatore di tensione)
 I/O digitale
 GND
 3.3V
 I/O analogico
 INT interrupt (unico, condiviso su tutte le porte)

Si tratta di qualcosa che potremmo definire un "protocollo hardware", che consente (teoricamente) l'interconnessione fra dispositivi progettati in maniera molto diversa. Ovviamente perché questo "protocollo" sia efficace bisogna anche accordarsi su prassi per assegnare gl indirizzi dei dispositivi i2c creati (per evitare conflitti), e qualche altra cosa (come secondo me fissare il voltaggio slu pin PWR).


Di nuovo sottolineo che, al di là dell'esempio concreto (che non ho scelto a caso), mi interessa vi giunga il concetto di "astrazione hardware" che ho in mente. Sono cose tipo il fattore di forma di arduino, che è tra i fattori che ne ha decretato il successo planetario.



NOTE:
* i bus i2c diventano 4 perché la cosa è implementata livello software
Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 04, 2010, 03:36 pm
@Ambrogio

Secondo me la soluzione strategicamente più efficace per la realizzazione dell'interfaccia è quella di farla girare dentro il browser di questi dispositivi: la connessione alla rete domestica avverrebbe quindi tramite in gateway wifi che porta i messaggi sull'ethernet (banale) o sul bus rs485 (non troppo complicato: se implementiamo il protocollo su un microcontrollore, portarlo su una piattaforma embedded linux -da 30 euro in su- è un gioco da ragazzi).

Usando il browser le interfacce si possono fare con il super standard trittico: HTML+CSS+JAVASCRIPT. E tutto diventa molto più facile e veloce da realizzare, e con il non banale vantaggio di essere da subito multipiattaforma (andoid, iphone, win, mac, linux, etc etc).
Title: Re: Domotica con Arduino
Post by: Ambrogio on Nov 04, 2010, 05:27 pm
Enrico, mi piace molto la soluzione HTML, ma non ne ho le conoscenze per adesso. Mi sai aiutare con qualche link ?!?
Ok, posso creare la pagina HTML con i vari pulsanti ecc... ma poi come faccio a dire di inviare quei byte sulla seriale o via ethernet o via wifi ?
Title: Re: Domotica con Arduino
Post by: pictux on Nov 04, 2010, 06:59 pm
Quote
ma poi come faccio a dire di inviare quei byte sulla seriale o via ethernet o via wifi ?

via ethernet / wifi, ti costruisci delle semplici get/post.

Via seriale, a me viene in mente  shell_exec (php),  ma  ci saranno sicuramente altre alternative..
Title: Re: Domotica con Arduino
Post by: mordor on Nov 04, 2010, 07:35 pm
Pensate piu aperto, non parlate di shell e schedine varie... parlate a sto punto di integrati... il pcb si deve fare... Comunque di questo passo non si va da nessuna parte, ogni giorno tonnellate di idee diverse.. benvenga, ma con l'auto stiamo derapando da fermi sprecando benzina, gomme e tempo... cerchiamo di farla andare avanti :)

Parliamo di interfacce, ma qui manca la sostanza... che importa se tegole o coppi se manco abbiamo le fondamenta?
Dobbiamo ancora decidere come sarà fatto il tutto, la filosofia... Un unico modulo con varie espansioni? Vari modulini? La mia idea di scheda di zona? Bisogna prima capire con che bestia si ha a che fare e poi aggiustare il tiro.. se vogliamo gestire un video citofono e multimedialità in futuro che senso ha usare una seriale ? Non buttate energie su cose periferiche se ci manca prima l'idea di base... Troveremo lavoro per tutti, di contorni ce ne sono a valanghe... prima cuciniamo il primo e il secondo. Dobbiamo decidere hardwaricamente parlando come sarà strutturata la cosa.

La mia idea era questa:
Una scheda di zona chegestirà x uscite digitali e x entrate con interfaccia lan. Diciamo che questa scheda resta economica, ha relè esterni, e con una un piccolo appartamento lo sistemi. Avrai ingressi per pulsanti, o sensori pir, o contatti e uscite relè per lampade sirene apriporta ecc. Uno ha 2 piani o piu esigenze? 2 schede. Abbiamo un hardware principale unico, economico da replicare.
Secondo passo: via ethernet si può controllare e configurare da pc.
Terzo passo: Una scheda ETH con un sensore di temperatura, di luce, di umidità e magare un rfid bella pure  da vedere da piazzare a muro. Tramite queste posizionate in punti strategici possiamo comandare luminosità automatica, riscaldamento, ventilazione forzata.
Ultimi passi potrebbero essere una interfaccia lcd standalone, o una interfaccia videocitofonica, ma il cuore restano sempre queste schede con uscite relè e ingressi analogici.
Secondo me disseminare la casa di schedine non è economico.
Il risultato non deve essere una cosa agli addetti ai lavori, ma un sistema a prova dei meno pratici. Uno arriva, collega la schedina via eth la configura con html e ha il suo miniappartamento pronto. Le alterative di comandare ogni singolo punto via bus o rete disseminando la casa di schede la vedo controeconomica. Fare un pcb che dia 10 uscite costa 10, farne 10 che abbiano 1 uscita costa 80.
L'altra alternativa di scheda madre + espansione tipo plc secondo me è costosa. Alla fine ragazzi, sono i soldi che muovono il mondo, se tutti ne avessimo non saremmo qui, ma avremmo preso gia dei sistemi pronti e benfatti, cerchiamo la cosa meno costosa e piu semplice e veloce da configurare. Il servizio dato deve essere lineare col costo. Poi è la mia idea questa, ci sono quelle di tutti.
io vi aspetto sempre su skype anche senza darci un appuntamento preciso.
Title: Re: Domotica con Arduino
Post by: stefano72 on Nov 04, 2010, 07:38 pm
Ottimo, quindi riassumendo in modo da capire con chiarezza:

1) interfaccia HTML CSS JS multipiattaforma (Smphone, pad, PC,...)
2) arduino come nodo su base vano/small flat (2vani + bagno + disimpegno) ovvero nodi multipli per espansione
3) modularità componenti HW stile plugin (tot dimmer/relè, tot sensori I/O: T°, IR, WiFi, BT, PIR, audio (citofono/filodiff)). Quindi serve uno "shield" standard da aggiungere ad arduino che porti le basette di connessione dei componenti?
4) cablaggio Ethernet (autoalimentato?)
5) duplice protocollo SW Ethernet + RS485 come accessorio (quindi due sottogruppi di lavoro, di cui Ethernet gruppo principale?)

@Morodor: su skype chat, k?
Title: Re: Domotica con Arduino
Post by: mordor on Nov 04, 2010, 07:40 pm
Sono sempre idee.. appena trovo un po di gente in skype e si delinea il team si va ai voti...

1) team
2) buttare le idee nel secchio
3) decidere
4) compiti propri
5) fare  ;D

k per chat, piu che sheld vedrei bene tipi di scheda generici:
quella ingressi uscite analogico di zona, quella sensoriale di zona, quella videocitofonica. Ok non ha infinite possibilità, ma secondo me legandosi a un hw rigido risparmi, hai piu semplicità e meno problemi di configurazione...
Title: Re: Domotica con Arduino
Post by: stefano72 on Nov 04, 2010, 07:56 pm
@mordor: k, ma fammi capire bene: nodo arduino, set standard espansione:
1 gruppo ambientale (umidità. T°, luminosità, Vel aria,..).
2 gruppo sicurezza (fumo, allagamento, CO2, consumo contatori acqua, gas, corrente)
3 gruppo effrazione (rottura vetri, porta, movimento* ?, controllo accessi: tastierino alfanumerico...)
4 gruppo A/V (audio, video, cam con motion detection?, videocitofonia*, fonia DECT?)
5 gruppo attuatori (relè optosiolati per tutti i motori e luci: ipotesi per vano tipo: 3x luci, 2x tapparella, 2x tenda o acquario :) =facciamo 10 relè a vano, facciamo 2x 5? e di cui due li facciamo dimmerabili standard?)

*funzioni sovrapponibili e risolvibili con unico video webcam usb + motion?

Gruppo 4 direttamente via Eth
Gruppi 1,2,3,5 fanno I/O analogico/digitale wired su Arduino e di qui Eth agli altri eventuali nodi, router, PC?
Title: Re: Domotica con Arduino
Post by: mordor on Nov 04, 2010, 08:53 pm
Sensori di sicurezza li lascerei perdere per ora, trattiamo argomenti delicati e rischiosi: fumi, incendi ecc...

Io pensavoa semplificare le cose al massimo, meno hw diverso abbiamo meglio è. Ho parlato con l'amico oscert e sono nate belle cose. Non voglio fare il so tutto io, ma o si fanno scelte o non si va avanti.
Con il primo appartenente al team OSCERT abbiamo appurato e deciso delle semplici cose ( è il primo con cui sono risuscito a parlare e quindi a creare qualcosa):

Il sistema all'utilizzatore finale deve risultare di semplice configurazione e montaggio, a scapito eventualmente della massima flessibilità dell'utilizzatore comune.

Il sistema comunque resta OS, modificabile e evolvibile da chi voglia e ne sia in grado.

Il sistema deve essere di rapporto Prezzo / Feature piu costante possibile. Non posso pensare al grande e alla massima flessibilità facendo un prodotto che di base costa uno sproposito per il povero studente che ci muove il monolocalino. Non posso vincolare chi ha esigenze con un sistema striminzito e poco espandibile. Voglio poco spendo poco, voglio tanto spendo tanto in rapporto costante.

Dobbiamo pensare alla solidità del sistema. Rimanere al buio a casa, o l'antifurto che suona, o svegliarci di notte non è piacevole. Basta 1 volta per creare disagi non indifferenti.


Compromessi saranno il nostro pane: prevedere infiniti sensori non sarà possibile se vogliamo semplicità ed economicità. Massima libertà di azione e configurazione richiede un programmatore per installare un sistema, quindi magari un po di rigidezza aiuta i meno capaci in ambito. La difficoltà è il giusto compromesso.

p.s. hai diviso i sensori per tipo, ma da un sensore Pir di movimento, a un interruttore non cambia nulla... sempre un ingresso digitale booleano è.
La verità è che ci sono ingressi e uscite analogici, la LAN, e tutto il resto dipende da cosa ci attacchi ed è difficile interfacciare infinite cose. Esempio la temperatura come la acquisisci? temocoppia? sensore seriale? intergrato analogico? PTC ? Tastierino seriale? usb? ethernet? analogico? Non possiamo produrre una linea di prodotti per qualsiasi uso, partiamo dall'essenziale e semplice noi. La mia idea di scheda unic con 2 3 4 sensori è limitante, ma è semplice. Per esempio se acquisisci temperatura, umidità e luce puoi gia fare molto: ventilazione forzata, riscaldamento, luci automatiche eccc...
Title: Re: Domotica con Arduino
Post by: stefano72 on Nov 04, 2010, 11:07 pm
@Morodor: chiaro, ho diviso per sottocategoria perchè
1 già ammetto implicitamente I/O analogico/digitale come macrocategoria;
2 desidero abbozzare gli aspetti funzionali e categorizzarli nel tuo senso di modularità e anche proporre il senso di immediata applicabilità qui più volte citato!;
3 portavo esempio concreto proprio per affrontare la flessibilità funzionale/installazione/costi

infatti mi pare siano subito evidenti le osservazioni poste nella seconda parte. Chiaro poi che il PIR passa un segnale come un interruttore...

qualche commento fa ho fatto un paio di proposte riassuntive, a mo' di specchietto semplificato: sarebbe bello utilizzarlo per un nostro sondaggio, votare la soluzione e passare alla prossima fase! :)
Title: Re: Domotica con Arduino
Post by: mordor on Nov 04, 2010, 11:39 pm
Da lunga chiaccherata con Oscert e varie idee lette qui è emersa una forse idea da proporvi:

3 schede per ora

1) scheda principale con cpu e con programma di logica di comando ( tipo master ). Interfaccia LAN, e configurazione http. Questa scheda avrà un numero di ingressi digitiali e uscite driver relè ( 8+8 ? )
La si può usare sola quindi se uno necessita di poco.

2) scheda di espansione con cpu, senza logiche di controllo. Interfaccia LAN. Avrà un numero di ingressi e uscite driver relè ( 16 + 16 ?) e non vive da sola, ha bisogno della sua scheda principale che comandi. Lei semplicemente ha delle variabili con i valori degli ingressi e uscite digitali. Uno può espandere con questa vicino alla principale master, o sistemarle in giro per i piani. Predisposti ma non usati per ora ingressi analogici da 0 a 5 vcc.

3) scheda sensoriale, senza logiche di controllo. Interfaccia LAN.
Ha un sensore di luminosità, uno di calore, uno di umidità, un cicalino e un led. Interfaccia LAN, sempre al servizio di quella prima scheda principale. Senza giocare troppo con linearizzazioni, scale, voltaggi, ecc ecc questa scheda, magari racchiusa in un guscio esteticamente carino e presentabile, permette di raccogliere i dati principali del luogo in cui è messa. Per esempio con la temp. si possono fare funzioni termostatiche, con l'umidità controllare la ventilazione forzata, con la luminosità accensione automatica luci, e con il cicalino / led comunicare stati nell'ambiente.

Solo un master presente, configurabile via http, piu schede 2 e 3 in giro per lo stabile.

Title: Re: Domotica con Arduino
Post by: stefano72 on Nov 05, 2010, 12:15 am
La scheda 3) potrebbe portare pin aggiuntivi per ingresso altri sensori opzionali?
Esempio: segnale di allarme generato da sensore allagamento;
Il sensore allagamento è a pavimento, il sensore incendio/fumi è a soffitto, il sensore CO2 è sollevato dal pavimento; quindi non è possibile fare un'unica scheda per questa tipologia ma prevedendo input aggiuntivi...

Title: Re: Domotica con Arduino
Post by: mordor on Nov 05, 2010, 07:17 am
Certo è possibile, ma prevedere input analogici significa applicarci un software flessibile e configurabile che permetta anche al non programmatore di configurare degli eventi. Comunque non costa nulla aggiungere degli ingressi in piu, è che secondo me le basi le devi dare gia pronte... metterci 3 4 ingressi analogici o digitali è semplice dal pnto di vista circuitale. La differenza è che questa voleva essere una schedina che poi mettere a vista tipo termostato, di piccole dimensione e buona fattura ( l'involucro )
Title: Re: Domotica con Arduino
Post by: mordor on Nov 05, 2010, 11:18 am
Ecco una bozza di principio di quello che nella mia opinione pensavo:

(http://img28.imageshack.us/img28/492/doc1nq.th.jpg) (http://img28.imageshack.us/img28/492/doc1nq.jpg)

Uploaded with ImageShack.us (http://imageshack.us)

Ho inserito anche gli ingressi analogici richiesti.
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 05, 2010, 11:23 am
Mordor mi piace perchè è molto pragmatico. E concordo con lui al 100% sul fatto che bisogna gettare prima le basi poi pensare al tetto.

Riguardo ciò l'idea che ho io che parzialmente concorda con lui è quella di creare le condizioni per costruire un PCB che abbia determinate caratteristiche...una sorta di hardware open-source. Poi si pensa a protocollo, interfacce utente e simili.

Considerato che non si è ancora definita la questione "bus" (di campo e quindi canbus, rs485, etc o punto punto e quindi ethernet) l'idea che avrei io potrebbe essere la seguente...costruire un PCB che incorpora:
- arduino (atmega328) + tutta la componentistica che gli serve per girare senza interfaccia USB per la programmazione (per quella prevedere un pin strip sul quale infilare (all'occorrenza) una schedina con FTDI
- una memoria EEPROM su bus I2C per espandere le capacità di configurazione (credetemi serve...quando parleremo via skype cercherò di spiegarmi meglio qui rischierei di diventar prolisso)...direi 4 o 8 kb
- una catena con 4 shift-register di output 74HC595 (sostanzialmente espandendo le uscite con 3 pin di arduino avere 32 uscite) e relativi driver per relè...es. ULN2803A (se serve un uscita NPN) da poter sostituire con i medesimi modelli PNP qualora quella sia l'esigenza
- un connettore per mettere in daisy-chain altri shift register qualora se ne verifichi la necessità
- una catena con 4 shift register di input 74HC165...idem come sopra
- un chip di supervisione (es. un PIC) che serva come watchdog (è fondamentale credetemi anche qui) e che gestisca i reset controllati, gli output-enable degli shift-register, etc. Pensavo ad un PIC xkè costa poco, è qualora serva qualche implementazione è riprogrammabile (non ho pensato ad un altro ATMega xkè costa di più e occupa più spazio)
- un connettore per l'interfaccia di comunicazione: sostanzialmente un connettore dove si possa installare un ethernet shield, un zigbee, un rs485 adapter, etc....magari con il form-factor degli shield di arduino così che si possa usare hardware già fatto
- dei connettori per accogliere dei sensori di input (temperatura, luce, etc.)

Sostanzialmente stò parlando di un Arduino espanso...astratto dall'interfaccia di comunicazione. In questo modo chi vuole ethernet usa ethernet, chi rs485, chi zigbee, o anche combinazioni di queste soluzioni...es per esigenze diverse all'interno della stessa abitazione. E anche per il "software" ognuno può scriversi il proprio firmware, con il proprio protocollo, le proprie funzionalità, etc.

Ovviamente potrà esserci un firmware "preconfezionato" che può essere usato così com'è, o personalizzato essendo open-source! Il mio firmware, ad esempio, è un general-purpose...viene configurato via ethernet e vale per tutti i nodi.
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 05, 2010, 11:27 am
Dimenticavo:
- il PCB dovrebbe avere un form-factor che sia compatibili con le varie soluzioni da barra din (scatole, piattaforme, etc.)...anche qui ho qualche parametro da condividere
- i relè dovrebbero essere esterni alla scheda x dimensioni, separazione AT/BT
- l'alimentatore dovrebbe essere esterno (se mai sul PCB ci sarà solo il regolatore per alimentare la logica)

Altra cosa la scelta dei pin di arduino...dunque l'ATMega328 ha 20 ingressi tra digitali e analogici:
- l'SPI si dedica all'interfaccia di comunicazione (ethernet, 485, etc.) e quindi 4 pin
- la catena shift output richiede 3 pin
- la catena shift input richiede 4 pin
- la memoria eeprom esterna richiede 2 pin
- il reset controller direi 2 pin

Ne avanzano 5 per i sensori analogici...
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 05, 2010, 11:33 am
Visto lo schema di mordor:
- il POE per me non è utilizzabile...assolutamente troppa poca corrente per alimentare relè, etc
- l'interfaccia web direttamente sul PLC è una follia...troppa poca memoria, troppi vincoli imposti dalla piattaforma (anche su questo potrò essere più preciso a voce)
- per me i nodi devono avere la logica di base per gestire delle funzionalità appunto basilari e quindi consentire all'impianto di funzionare anche senza l'ausilio del "supervisore"
- deve esistere un nodo ad-hoc che faccia da supervisore che gestisca funzionalità complesse, interfaccia utente, etc. Può essere un PC, un arduino MEGA o tanto altro...questo tra l'altro consente anche di astrarre il bus di comunicazione...chi userà un bus di campo avrà bisogno di un nodo master che svolga determinate funzioni anche di coordinamento, chi utilizza un bus punto punto non avrà bisogno del nodo master che gestisca le comunicazioni, ma solo altre funzionalità

Per il resto sono daccordo sul produrre due tipi di schede, ma terrei più alti i parametri:
- scheda principale: 32 in, 32 out, 5 sensori
- scheda espansione: 16 in, 16 out? Anche di più volendo...
Title: Re: Domotica con Arduino
Post by: mordor on Nov 05, 2010, 01:29 pm
Allora, nemmeno a me piaceva IL POE, ma lo avevo sentito in precedenti post, quindi lo avevo tenuto buono.
Per quanto riguarda l'interfaccia di comunicazione farei qualche appunto. Quello che pensavo che anche i polli dovrebbero potere configurare il sistema tramite una pagina web e configurarlo. Non creiamo una sola piattaforma, creiamo un qualcosa di utilizzabile e programmabile con pochi passi, alla portata di  tutti, l'eth è la via piu diretta, tutti i pc ne hanno una.

astroz vedo che ha belle idee anche di hardware, potremmo lavorare vicini, o meglio io realizzo l'hardware tu che hai idee chiare anche di programmazione potresti dettarmi i requisiti, come hai fatto nei post precedenti e interfacciandoci produco ste schede.

Ora che si sta delineando il tutto, un post ci sta diventando stretto amia vista. Secondo me ci serve un forum con varie sezioni tipo:

Concettuale
Hardware
Sofware onboard
Sofware esterni di gestione e programmazione

Altro appunto, per risparmiare 2 euro ( un atmel smd costa 4 5 euro ) non andiamo a mettere un PIC. Dai non facciamo 2 piattaforme diverse, complichiamo le cose e basta. Due ATMEL e possiamo dividere anche i compiti. Uno è watchdog e interfaccia hardware, uno gestisce le comunicazioni e i contorni o cmq 2 o piu integrati uguali.

Chi tira su un forum ? Serve per ora che sia chiuso ad invito nelle sezionidedicate agli interessati alla costruzione, senno rischiamo di avere confusione controproducente.
Title: Re: Domotica con Arduino
Post by: pictux on Nov 05, 2010, 04:01 pm
Quote
Chi tira su un forum ?

Un dominio gia c'è, mettere su un phpBB ci vogliono 15 minuti....

Se c'è bisogno di una mano son qua - anche se mi sembra che risorse, in questo senso, non manchino  :D
Title: Re: Domotica con Arduino
Post by: Antonio74 on Nov 05, 2010, 04:58 pm
Quote
Serve per ora che sia chiuso ad invito nelle sezionidedicate agli interessati alla costruzione, senno rischiamo di avere confusione controproducente.


Senza offesa, ma non mi sembra tanto OPEN sto discorso.

Saluti Antonio
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 05, 2010, 05:06 pm
MMhhh...appoggiamoci a un servizio di quelli free...tipo forumfree o stronzate del genere...non è meglio?

Io potrei pure ospitare la board sul mio server di casa (tra l'altro lo stesso che gestisce la mia domotica :P)...ma a parte che scarico come un disgraziato e potrebbe essere lento, ma in caso di qualsiasi disservizio non ho certo livelli di servizio paragonabili a un server di qualche azienda...
Title: Re: Domotica con Arduino
Post by: pictux on Nov 05, 2010, 05:56 pm
Quote

Senza offesa, ma non mi sembra tanto OPEN sto discorso.


;D

cmq basterebbe strutturare un pochino di più il forum arduino..
Ci son tutti gli interessi perchè questo rimanga la board principale...
Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 05, 2010, 05:59 pm
sono stato incasinato nelle ultime 24 ore, ma ho seguito l'evolversi della discussione e in virtù della già data diposnibilità a fare da webmaster (non da solo, vi prego!), ho attivato lo spazio forum chiesto a gran voce.

http://domoduino.org/forum/

ho registrato questo nome, un po' percheé mi piaceva, un po' perché mi veniva più facile e veloce attivare uno spazio hosting sui miei server con un dominio associato... se non piace, si cambierà. intanto è un punto di partenza.

mi associo ad antonio per la questione dell'apertura/chiusura dello stesso... restiamo open, quanto più possibile: non vedo particolari problemi accettando tutte le iscrizioni.

ritroviamoci di là: ho già installato anche wordpress per poter pubblicare agevolmente ed in maniera condivisa il materiale che esce dalle discussioni.


mordor, proviamo a fare la paginetta dell'achitettura congegnata nella tua prima chiaccherata con oscert?
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 05, 2010, 06:02 pm
Secondo me ci dovrebbe essere un forum esterno ad-hoc per il progetto...dove dovrebbe partecipare solo chi è veramente interessato e in ogni caso bisogna definire una gerarchia e dei ruoli e prendere delle decisioni, altrimenti rimane tutto per aria e non si concluderà mai nulla.
Title: Re: Domotica con Arduino
Post by: mordor on Nov 05, 2010, 06:08 pm
concordo... succede come qui.... il cane di tanti padrone muore di fame
Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 05, 2010, 06:27 pm
anche secondo me serve uno spazio esterno dove organizzare meglio la discussione, altrimenti qui si accavallano 10 discorsi diversi e si perdono i pezzi della discussione.

farei un forum aperto a chiunque voglia partecipare, affiancato da un sito (con accesso controllato, pur nella maggiore apertura possibile) dove presentare il risultato delle discussioni emerse nel forum in maniera più organizzata per chi voglia fare uso delle nostre ricerche.

poi, periodicamente, avrebbe senso riportare in questo thread lo stato di avanzamento del progetto portato avanti esternamente.
Title: Re: Domotica con Arduino
Post by: mordor on Nov 05, 2010, 06:33 pm
Iscritto... non è che mi piaccia molto quella board, ma è abitudine mia al phpbb... cmq bisogna fare le varie sezioni...
Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 05, 2010, 06:49 pm
una vale l'altra, ma secondo me è un po' più pulita visivamente di phpbb, e si integra direttamente con wordpress.

ti ho reso amministratore, quindi possiamo inziare a riportare la categorie proposte qualche post fa, oppure attivare intanto la prima, quella dell'hardware.

a parte il forum, secondo me sarebbe interessante cominciare a mettere giù nel blog una prima pagina con quanto emerso negli ultimi post, compreso il tuo schemetto mordor.

Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 05, 2010, 07:26 pm
@Ambrogio (sulla questione HTML+CSS+JS)

è molto più facile, e lungimirante, usare tablet o smartphone solo come interfaccia di accesso a delle pagine html che girano su di un serverino linux: da lì, con delle chiamate a programmini CGI, puoi far sì che il server faccia qualsiasi cosa sulle sue seriali (e tutto il resto).

per esempio lo scorso inverno ho giochicchiato con la caldaia, programmandola con un interfaccia html dall'ipod touch che non era altro che 1 pagina php che girava su questo aggeggino:

http://www.omnima.co.uk/store/catalog/Embedded-controller-p-16140.html
(hai letto bene, un server linux da 27 euro, con in omaggio uno switch "manageable" da 5 porte)

lo script php non faceva che delle chiamate HTTP su di una scheda ethernet con dei relé, ma nulla mi vietava di controllare direttamente un relè locale agendo sugli I/O del serverino (http://www.omnima.co.uk/forums/index.php?showtopic=110&hl=gpio), o mandare via seriale delle istruzioni ad una arduino.

non voglio andare off-topic, ma mi sembrava utile spigarti concretamente con un esempio cosa intendevo.
Title: Re: Domotica con Arduino
Post by: Federico_Vanzati on Nov 05, 2010, 07:30 pm
ma ragazzi,

a me sembra che qui avete già tutto il materiale per collaborare e sviluppare
...il forum di arduino non è cosa da poco

...sul playground italiano c'è una pagina dedicata alla domotica che ognuno è libero di modificare e aggiornare...una wiki così mi sembra più che sufficiente per portare avanti un progetto, che vantaggi vi da usare un altro spazio?
Title: Re: Domotica con Arduino
Post by: Guglio on Nov 05, 2010, 08:16 pm
Ma non avevamo detto 3 pagine fa che il forum esterno era una boiata?

Quote from: Guglio

Se c'è bisogno di un forum per fare una cosa più ordinata io ho una licenza vBulletin che non utilizzo già installata e pronta per essere usata.
Basta comprare il dominio o accontantarsi almeno per ora di un DNS (tipo no-ip).
Problemi di banda non ce ne sono visto che sul sito girano dei miei piccoli script per amministrare dei database e  mi rimangono 50gb di traffico inutilizzati.
In grafica sono negato ma programmo per hobby in php (per chi non lo conosce è un linguaggio supportato dal 99% degli hosting) , se c'è bisogno di qualche piccolo script che faccia da ponte o boh chiedetemi.

Riguardo alla parte elettronica io sono assolutamente un niubbo ma sono interessato ugualmente al progetto, quindi sarò fra gli spettatori


Quote from: Pitusso


non capisco poi perchè concretizzare sulla domotica con arduino fuori da qui quando è stato fatto un thread apposito  
Title: Re: Domotica con Arduino
Post by: amedeo on Nov 05, 2010, 08:41 pm
penso che ormai i ragazzi abbiano perso interesse nel realizzare una piattaforma open per tutti, ma vogliano soltanto svilupparsi il proprio giocattolo di nicchia
Title: Re: Domotica con Arduino
Post by: mordor on Nov 05, 2010, 08:45 pm
Sto topicc va avanti da 4 mesi qui in modo libero e non filtrato, si e combinato qualcosa ? Open source? Alla fine si pubblica tutto in modo trasparente, se uno ha voglia e capacità non gli si dice no.... come si fa a lavorare con tutte le problematiche e sfaccettature Su un thread unico di 23 pagine ? Il PCB di arduino mica Lo hanno disegnato in 30 .... io non sono nessuno per dire nulla, ma ci vuole + manico e meno filosofia... i compromessi sono alla base di tutto, siate piu maturi
Title: Re: Domotica con Arduino
Post by: amedeo on Nov 05, 2010, 11:49 pm
penso che la maturazione non sia il rifiutare il parere altrui...

comunque il successo di una piattaforma open source come arduino è dovuto anche dal fatto che non si è mai cercato di offuscare le idee ed i pareri altrui... d'altronde ne è una prova che nessuno ha offuscato i tuoi commenti così discordandi con la comunità.

detto questo buona fortuna con il vostro nuovo progetto.
Title: Re: Domotica con Arduino
Post by: mordor on Nov 06, 2010, 12:28 am
Qui non si rifiuta il parere di nessuno, ne l'aiuto di nessuno; amedeo sei il benvenuto tra gli sviluppatori del progetto. Chi vuole può sviluppare e aiutare, ma serve un filtro. Non puoi lavorare e fare delle decisioni con una baraonda del genere, ne è la prova che in 4 mesi non si è fatto nulla e in 2 giorni si sono tracciati almeno dei contorni.
Ora non nascondiamoci dietro al dito, perchè io non ho mai detto facciamo io e lui e gli altri ciao, ma ho sempre detto che chiunque abbia volontà e capacità è il benvenuto.
Poi resta il fatto che non si possono accontentare tutti e tutto, si scenderà a dei compromessi, le cose migliori che mediamente vanno meglio: quando si faranno queste scelte che dirai? rifiutate il parere altrui perchè avete deciso una cosa senza contare le mie esigenze insoddisfatte? Oppure pretendi di lavorare in 50 persone simultaneamente su un progetto che manco ha le fondamenta finite?
I pareri di tutti si ascoltano, ma vorrei vederti a lavorare con 30 persone che ti parlano sulle orecchie a che risultato arrivi...
Title: Re: Domotica con Arduino
Post by: Simo89 on Nov 06, 2010, 01:40 am
Per quanto riguarda il discorso protocollo, c'è anche da tenere in considerazione che l'ethernet è direttamente interfacciabile a reti già esistenti e consente in modo veloce e a costo 0 di comunicare con internet, e non è cosa da poco.

Passando ad altri sistemi come RS485 o CAN bisognerebbe aggiungere un'ulteriore dispositivo che consente di interfacciare il sistema su etherner, risultato = aumento di costi. Per questo secondo me conviene stare su ethernet (oltre al fatto che ci sono già solidi protocolli TCP UDP).


Passando al lato HW:
la soluzione proposta da mordor (schema) mi sembra la cosa migliore da fare, nello specifico il nodo master potrebbe essere anche un pc (itx) senza I/O (solo in casi specifici).

Lato SW:
effettivamente caricare l'HTML sulle board periferiche avrebbe poco senso, meglio solamente metterle in ascolto di determinate connessioni aperte AD-HOC dal master (per l'output o l'input 'normale') o dalla periferica (per l'input 'di emergenza').
Il codice 'grosso' rimarrebbe sul master, compreso l'eventuale HTML (in caso di server dedicato ITX di cui parlavo prima, potrebbe essere un software in qualsiasi linguaggio).

Come fare a configurare le schede periferiche? Si collegano alla ethernet (DHCP) e lanciando un software da PC, quest'ultimo rileva la periferica in rete e permette di configurarla ;)

Scusate per la lunghezza, spero che possa essere di aiuto ;)
Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 06, 2010, 03:30 pm
condivido e supporto l'idea di uno spazio esterno, in cui in modo pratico e ordinato si possa mettere in fila le idee e poi tornare qui, e sul playground a raccontare come procede.

vedo coj piacere che comunque amedeo si è fatto vivo su

http://domoduino.org/forum

abbiamo tutti l'interesse a tenere la cosa open, sennò non saremmo qui con 330 post alle spalle.

per cominciare bene e concretamente, mi impegno personalmente (nei prossimi giorni) a provare a riportare sul playground quanto finora emerso qui dopo il suo ultimo aggiornamento.

Title: Re: Domotica con Arduino
Post by: gattone on Nov 06, 2010, 06:41 pm
Ciao a tutti,

seguo da qualche settimana il forum. Sono contento che alcuni elementi, siano diventati la chiave del successo di questo fantastico progetto (credo che oramai ci siano tutte le basi per poterlo definire tale!!!).

Faccio presente che per lavoro realizzo impianti domotici e automazioni con integrazioni più o meno spinte (in base all'esigenze della committenza).
Abbiamo realizzato anche un nostro supervisore Web based e allo stesso tempo Gateway verso altri protocolli con una autoconfigurazione semplificata: basta immettere l'indirizzo dei vari datapoint (dei vari protocolli) e associarli all'ambiente/i per creare l'interfaccia del supervisor.

Avendo realizzato già decine di impianti potrei contribuire a quelle che sono gli aspetti normativi (già sottolineati da Stefano e Mordor), le fasi di test su campo (sotttolieo che non ho nessuna finalità lavorativa nel progetto ma solamente personale a favore della comunità) e soprattutto le problematiche installative (il form factor di tutte le schede, soprattutto quelle dei relè, sono molto importanti per avere una possibilità di allocazione in impianti già esistenti)

Personalmente, non condivido del tutto, l'unica soluzione basata su TCP: gli apparati attivi aggiungono ulteriori elementi che possono inficiare una parte o tutto l'impianto. L'affidabilità e longevità credo che siano le peculiarità dominanti anche se i dispositivi rimarrano per un utilizzo a livello amatoriale (Mordor ha già presentato in modo esplicito le varie problematiche).

Per la mia esperienza consiglierei di continuare la stesura delle specifiche di tutto il progetto e poi suddividere i compiti altrimenti si rischia di trovarsi arenati. E soprattutto si evita che, come ho fatto poco fa io (in merito alle considerazioni sul TCP/IP), l'ultimo arrivato abbia qualcosa da ridire sulle specifiche decise.  :)

Buon lavoro a tutti!!!
Title: Re: Domotica con Arduino
Post by: Guglio on Nov 06, 2010, 08:38 pm
Aggiungo il mio modesto parere che certamente non può competere con quello di gattone.
Io sono pro ethernet perchè questo protocollo è il futuro, tutto funziona via ethernet e secondo me un cavo ethernet che gira per casa può sempre tornare utile, mentre su un doppino passerebbero solo i dati della domotica.
Poi, almeno per me, avere il sistema in LAN è una cosa fantastica visto che utilizzo come interfaccia di gestione uno script in php che gira sul server che mi mantiene il sito (nei datacenter ItNet ) così evito di lasciare pc accesi inutilmente in casa.
Certo c'è un lato negativo: se uno non sa configurarsi il router qualcuno potrebbe entrare dal wifi o riuscire a farsi passare come il server esterno ed entrare.
Title: Re: Domotica con Arduino
Post by: bl4d3 on Nov 06, 2010, 09:49 pm
Ciao, anche io dico la mia, avevo in precedenza realizzato questo:

http://arduino.cc/blog/2010/09/16/mobile-home-automation-via-android/?lang=it

ecco in breve cosa penso
(http://img51.imageshack.us/img51/9935/domol.jpg)
secondo la mia visione si tratta sostanzialmente di realizzare lato hardware delle pcb con interfaccia ethernet (arduino+eth shield, ok costicchiano se qualcuno è in grado di farle da 0 ben venga), lato software un applicativo per la generazione automatica del codice da caricare sulle pcb, il "configuratore" potrà selezionare cosa vuole che la pcb comandi(es: 2 luci e una presa) e una serie di applicazioni per comandare le pcb (su android, web, standalone).

Per adesso non aggiungerei altri "pezzi" (es: monitoraggio dei sensori attraverso qualcosa di simile a pachube), partiamo con poco e poi espandiamo.

Il protoccolo di comunicazione userei qualcosa di simile a quello che ho usato.

Ciao
Title: Re: Domotica con Arduino
Post by: Guglio on Nov 06, 2010, 10:08 pm
Quando parli di webapp per la generazione del codice intendi una stringa tipo  "{type:luce|status:1,0}{type:sensore|ecc ecc}"
O intendi proprio codice compilato da spedire sul pcb?

Nel primo caso bisogna avere un botto di ram se non sbaglio mentre nel secondo bisogna far compilare il codice all' utente (perchè per compilarlo sul server usando il php bisogna avere accesso shell) e bisogna che questo abbia il cavo FTDI
Title: Re: Domotica con Arduino
Post by: bl4d3 on Nov 06, 2010, 10:10 pm
il codice da mettere sulle pcb, quello che resta in ascolto dei comandi. ciao
Title: Re: Domotica con Arduino
Post by: Guglio on Nov 06, 2010, 10:12 pm
Ho modificato il post... comunque bisogna far compilare il codice all' utente (perchè per compilarlo sul server usando il php bisogna avere accesso shell) e bisogna che questo abbia il cavo FTDI e non è molto newbie-friendly... Però penso che per una prima versione possa andar bene anche così a migliorare si fa sempre in tempo
altrimenti non ci saltiamo più fuori!

E le foto dei tuoi nodi che hai promesso? ehehe
Title: Re: Domotica con Arduino
Post by: hal3000 on Nov 07, 2010, 01:57 am
Complimenti per le idee, appena ho tempo vedo di leggere tutto il thread.

Intanto aggiungo una nota sui sensori per l'allarme antintrusione.
Per migliorare la sicurezza è consigliabile utilizzare la modalità a doppio bilanciamento, in pratica in caso di allarme varia il valore della resistenza del sistema.
Con questo sistema usando solo 2 cavi la centrale è in grado di riconoscere se è intervenuto il contatto di allarme, il contatto tamper o se è stato tagliato il cavo.
Qui trovate una schema e una breve spiegazione. (http://www.tecnes.com/tecnologie/Come+collegare+un+sensore+ad+una+centrale+antifurto+Tecnoalarm+TP4-20+con+modalita+in+doppio+bilanciamento+B24.html)
Title: Re: Domotica con Arduino
Post by: mordor on Nov 07, 2010, 09:59 am
Carina come idea, per questi sensori quindi servirebbero degli ingressi analogici, 2 per sensore. Ma si offrirebbe un piu elevatyo livello di sicurezza. Che siai l caso di aumentare gli ingressi analogici sfusi?
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 08, 2010, 10:47 am
Premesso che io detesto e aborro le lotte di potere e i rosicamenti e le discussioni sterili. Concordo anche qui con mordor che sia il caso di ragionare in modo "concreto"...abbiamo un thread con 340 post e niente in mano.

Premesso l'open source e la collaborazione, ci vuole una struttura e dei ruoli altrimenti non si conclude niente. Ci vogliono persone concrete, con idee intelligenti e capaci di raggiungere compromessi...o ognuno resta sul suo punto e non se n'esce vivi.

Io butto là il primo compromesso e la mia idea che questo progetto dovrebbe avere.

Il primo step, secondo me, dovrebbe essere la definizione del PCB e, quindi dell'hardware. Non mi soffermerei ne' su protocolli ne' su altre questioni software (interfaccia web, etc.).

Questo perchè nulla ci vieterebbe, una volta fatto un hardware "generico" di svilupparci sopra firmware differenti, con diverse funzionalità, diversi modi di gestire la stessa cosa.

Considerato che un grossissimo dubbio è quello del bus di comunicazione, tra l'altro dubbio lecitissimo e che condivido a pieno, la mia proposta è quella di creare un PCB che comprenda la logica del PLC (arduino, ingressi, uscite, alimentazione, reset controller, eeprom aggiuntiva, etc.) e che preveda un connettore (secondo me meglio se compatibile con gli shield di arduino) dove poter inserire uno shield di interfaccia bus.

Dove questo shield possa essere:
- ethernet
- wifi
- bluetooth
- zigbee
- canbus
- rs485
- x10
- dmx
...e chi più ne ha più ne metta!

Di modo che la base è la stessa, ognuno ci monta quello che vuole e gestisce il protocollo che preferisce!

Questo ci consentirebbe di avere anche eventualmente un sistema promiscuo...dove le esigenze di cablaggio richiedano usi di interfacce differenti.

A me questa sembra un idea geniale...scusate non mi voglio sbrodolare addosso, ma l'esperienza che ho avuto mi ha evidenziato dei grossi limiti per l'interfaccia ethenret (anche di complessità di implementazione di certe gestioni...considerato che la comunicazione è punto-punto e non a bus condiviso)...ma anche dei pregi!

Per questo non farei un PCB che incorpora l'interfaccia di comunicazione...sarebbe troppo "chiusa" e vincolante.

Ho avuto un paio di add su skype da alberto e non ricordo chi altro...ma non vi vedo mai online (a parte una volta alberto che però non potevo rispondere in quel momento).

REsto dell'idea che bisognerebbe parlarsi a voce e fare una call-conference. Mi iscriverò sulla board esterna quanto prima.
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 08, 2010, 11:59 am
Ne dico un'altra che ritengo realmente importante!

Isolerei l'impianto di domotica da quello di allarme! Cioè non collegherei tanto i pulsanti a parete (per accendere le luci) quanto i sensori dell'allarme allo stesso nodo!

E userei sistemi diversi per la gestione dell'allarme...sostanzialmente stò dicendo che non mi metterei a fare un PCB che sia tanto valido per l'allarme quanto per la domotica! Si complicherebbe l'hardware secondo me inutilmente!

Nel mio caso io ho fatto arrivare tutti i cavi di tutti i sensori ad un unico nodo Arduino MEGA che accoglie singolarmente i vari sensori...senza multiplexing o instradamento dei dati su un bus dati...che introducono dei point-of-failure!

Anche xkè gli elettricisti che cablano gli impianti, comunque hanno il concetto che i tubi corrugati devono pervenire tutti in un unico punto dove andrà montata la centrale...e in ogni caso non passano per le scatole di derivazione dove si metterà il nodo domotico! Quindi c'è una separazione anche geografica del cablaggio...

L'allarme deve essere il componente più affidabile del sistema e secondo me si deve occupare solo e soltanto di quello...quindi non si dovrebbe fidare di un bus condiviso x la comunicazione di dati che invece sono prioritari. Questa è una mia visione.

Per quanto riguarda il collegamento bilanciato o con doppio bilanciamento dei sensori...oddio sì è vero, sono più sicuri, ma insomma boh...mi sembra pure esagerato!
Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 08, 2010, 12:26 pm
+1 per l'interfaccia di comunicazione non inserita a priori, specie per la roba costosa, ma alla fine anche i chip rs485, pur costando davvero poco, andrebbero ad intaccare sensibilmente il costo del modulo base.

+1 per il sistema d'allarme separato: si tratta di cosa talmente delicata (=rogne legali o giù di lì) che secondo me è addirittura meglio lasciar fare a chi già fa queste cose, quindi a centraline specifiche

sarebbe però interessante individuare delle centraline antifurto con le quali poter dialogare per conoscere lo stato dei sensori, così che si possa pensare di usare quelle informazioni anche per altro

tipo:
allarme disattivato + nessuna presenza nella zona notte da 1 ora
---> riscaldamento giù di un paio di gradi
Title: Re: Domotica con Arduino
Post by: amedeo on Nov 08, 2010, 01:04 pm
la mia polemica era soltanto sulla deviazione closed source che si stava innescando, anche perchè sono sempre stato a favore di un project manager o qualcosa di assimilabile che iniziasse a prendere delle decisioni a vantaggio della comunità.

detto questo bisogna uscire da quest'impasse e proporrei di formare una sorta di consiglio direttivo (un pm + n consiglieri?, un pm e basta? due pm?) dove chi vuole, ma anche in base al contributo profuso si può candidare, come data ultima per la candidatura si potrebbe proporre mercoledì 10 23:59 e termine ultimo per la votazione venerdì 12 23:59.

personalmente nel caso si candidassero e si decidesse per un pm voto per mordor, nel caso di due mordor + astroz78.

ogni contributo è ben accetto
Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 08, 2010, 01:16 pm
scusa amedeo, ma pur sostenendo direttamente il raggruppamento esterno al forum, mi sembra si vada fuori rotta se si parla di consiglio direttivo e cose del genere.

siamo "gente della rete" e sappiamo che non servono "cariche" per guidare barchette come quella che stiamo trascinando noi...

mettiamoci al lavoro e basta, tanto la pragmaticità di mordor già traccia la rotta, ed è inevitabile che astroz sia da ascoltare con attenzione perché oltre ad aver già messo le arduino dentro la scatole di derivazione è anche così disponibile da raccontarci da più di due mesi come è andata...

brw, astroz: mandaci le foto che sono curioso come una scimmia di vedere un arduino dentro un quadro elettrico!

Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 08, 2010, 01:18 pm
@astroz

sempre sui quaadri elettrici: hai detto che hai messo le arduino dentro scatole DIN. perfetto, ma di quanti moduli? e come ci sta un arduino mega con ethernet shield?

fo-to, fo-to, fo-to...
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 08, 2010, 02:32 pm
Ehehehehehe Enrico ti deluderanno allora le mie foto! :)
No xkè il mio progetto, vedrai, che è estremamente artigianale!

Io ho ingrandito tutte le mie scatole di derivazione costruendoci in modo "furbo" un mobiletto intorno così da ingrandire di parecchio la cubatura!

E non ho scatole DIN o PCB fatti...quindi ho dovuto fare tutto in modo piuttosto artigianale!

Ovvio è che se si concretizzerà il progetto sostituirò le mie centraline con il nostro PCB! :)

In serata spero di postare qualcosa...ragazzi scusate se a volte sono evasivo, ma ve l'ho detto la mia vita stò periodo è un casino! Dove ho montato la mia domotica è la mia casa...ho lavorato come un somaro da luglio a dicembre 2009 per realizzarla e la morosa m'ha scaricato...ed è proprio un periodo di BIP!  :-/
Title: Re: Domotica con Arduino
Post by: mordor on Nov 08, 2010, 03:33 pm
Direttivo, voti... Non ha senso alla fine chi fa materialmente il lavoro sono in pochi. Quando sarà da acquistare i materiali per i primi prototipi, si sarà ancora in meno... Ragazzi inutile sbattersi la testa.. chi lavora dirige, con la discrezione, l'umiltà e lo spirito open di accontentare il piu vasto pubblico possibile.

Sulla connettività condivido e no. Integrare nel pcb una eth mi costa 15- 20 euro circa, una eth sheld costa 30 circa ? piu la predisposizione sul circuito stampato. Un'altro aspetto è che la eth sheld nuova con sd card potrebbe essere parte integrante del progetto, in quanto nella sd potrebbero starci i file di configurazione facilmente copiabili via web o semplicemente estraendo la scheda. Se si da la possibilità di non metterla o di mettere altro le cose si complicano... per esempio. Ci sono molti aspetti da valutare , per esempio sviluppando il pcb ho visto che il numero di ingressi uscite sarà di 24+ 24 per un fatto puramente di spazi. Ci sono molti aspetti da valutare, a volte spendere 5 euro di meno onboard non è detto che nel complesso ci facciano risparmiare. Cerchiamo di pensare per tutti e tenere conto di tutti i consigli che ci date e delle vostre richieste, ma comunque ci saranno compromessi.... :)
Title: Re: Domotica con Arduino
Post by: amedeo on Nov 08, 2010, 03:50 pm
ok, allora quello che secondo me deve essere un must have:

- DIN, onde evitare soluzioni artigianali
- compatibilità sw con arduino

questioni generiche:
- da quello che ho capito sembrerebbe assodata e condivisa la presenza di una eth, ma ancora da capire se integrata nel pcb o shield, corretto?
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 08, 2010, 03:55 pm
mordor è per integrare l'ethernet shield...io sarei per lasciarla fuori!

D'accordo per la SD a bordo...anche se non ho fatto sufficienti esperimenti (non ho ancora l'ethernet shield new version...l'avrò presto).

La compatibilità sw con Arduino è garantita. La possibilità di installazione su barra DIN è da studiare...ma assolutamente daccordo...io ho un paio di idee!
Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 08, 2010, 04:10 pm
così però non mi fate lavorare... ;)

questo è un test di quelle schedine più volte citate (per la cronaca basate sulle RBBB della modern devices):

 http://dl.dropbox.com/u/74903/_domoduino/IMG_0224.jpg

queste invece piaceranno a astroz:

 http://dl.dropbox.com/u/74903/_domoduino/IMG_0226.jpg
 http://dl.dropbox.com/u/74903/_domoduino/IMG_0230.jpg

l'ultima è un M6 presa da fernell, la prima un M4 presa in un brico...


sul fatto che il software sia compatibile con arduino non ci piove: la nostra SARA' un arduino, solo non nel nome e nella forma

Title: Re: Domotica con Arduino
Post by: mordor on Nov 08, 2010, 04:17 pm
Attenzione!
Cosa un po improvvisata:
Questa sera alle ore 21 ci troviamo su skype io e astroz e chi vorrà unirsi. Discutiamo sulle problematiche realizzative dell'hardware che sto disegnando in base alle necessità emerse.
alberto.favret è il mio skype, vi aggiungerò al gruppo. Siete tutti benvenuti.
Title: Re: Domotica con Arduino
Post by: mordor on Nov 08, 2010, 04:24 pm
Ragazzi, una interfaccia comunque ci vuole, non mettere nulla significa inserire altri pcb... mettere un max per la seriale costa poco, circa 5 euro, une eth circa 15 euro. Non mettere nulla costa una sheld o un'altro circuito. A vista mia non mettere nulla alla fine costa di piu, perchè il 99 % qualcosa metterà. Cmq si decide assieme, a me non mettere costa meno fatica nel pcb, cmq ne dicuteremo, per ora resto in standby
Title: Re: Domotica con Arduino
Post by: Enrico M. on Nov 08, 2010, 04:25 pm
ok ci sarò, ma non prima delle 21.30
Title: Re: Domotica con Arduino
Post by: amedeo on Nov 08, 2010, 04:43 pm
secondo me è preferibile mettere una eth, circa 15? di costo ma si ha un pezzo unico, senza bisogno di mettere altro.

per questa sera vedo di esserci ed anche per le 21
Title: Re: Domotica con Arduino
Post by: teseo82 on Nov 08, 2010, 05:34 pm
Io mi ritrovo perfettamente con il post astroz ma vorrei aggiungere qualche possibile miglioramento:
sempre sulla linea del plc si potrebbe pensare ad un pcb che faccia da motherboard e che preveda l'inserimento di un numero predeterminato di schede mediante connettori opportuni.  Le schede, anch'esse da progettare, possono essere di qualsiasi tipo ( comunicazione, IO, etc.). Il sistema domotico completo dovrebbe essere composto da più unità collegate tra di loro attraverso il bus che si vuole (ethernet, CAN, etc.). Il bus di comunicazione tra le schede all'interno delle unità invece potrebbe essere un semplice I2C o SPI.
Ogni unità verrebbe dunque ad essere composta da un scheda che realizzerebbe il master e da altre schede slave. Il  firmware per ogni scheda potrebbe essere abbastanza standard dovendo eseguire praticamente sempre le stesse operazioni.
Un sistema di questo tipo sarebbe potentissimo e permetterebbe una buona modularità e flessibilità.
Spero di poter postare a breve un diagramma che illustri questa architettura.


Per stasera non sono sicuro di esserci ma farò tutto il possibile (al momento ho solo il contatto di Enrico M.) ma vi prego di postare l'esito della discussione e le decisioni maturate.
Title: Re: Domotica con Arduino
Post by: Simo89 on Nov 08, 2010, 08:34 pm
Stasera arriverò poco dopo le 22.00, spero che ci siate ancora ;)

Io sono pro Ethernet (ma l'ho già detto  :P).

Per quanto riguarda il form factor, bisogna prendere le scatole DIN e prendere misure e progettare il PCB ah hoc ;)

quelle postate mi sembrano una buona partenza ;)
Title: Re: Domotica con Arduino
Post by: stefano72 on Nov 09, 2010, 12:15 am
Eccomi! Oggi giornata spaventosa e non sono riuscito ad incrociarvi.
Domuduino.org è il nuvo forum? Mi iscrivo subito.

Per quanto emerso dal thread fino alle 17 di oggi, sottolinerei la conformità alle normative elettriche nazionali: giustamente, bisogna evitare casini a noi e agli installatori che devono rilasciare dichiarazione di conformità sull'impianto, oltre - giustamente - ad eventuali obiezioni assicurative....

A domani!
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 09, 2010, 12:46 am
Come promesso...

http://www.fdweb.net/hosted/od/Nodo_1.pdf

http://www.fdweb.net/hosted/od/Nodo_2.pdf

http://www.fdweb.net/hosted/od/Nodo_3.pdf

...scusate la qualità dell'immagine, ma non sò perchè nella stampa su PDF le immagini si degradano così tanto!

Allora le ho messe in uno ZIP:
http://www.fdweb.net/hosted/od/Domotica.zip
Title: Re: Domotica con Arduino
Post by: mordor on Nov 09, 2010, 08:14 am
Credo che il fatto che noi usiamo bassima tensione, e un trasformatore esterno, moltissimi problemi vanno a cadere.
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 09, 2010, 01:42 pm
Il proxy aziendale mi filtra il forum esterno du domoduino...very problem...in ufficio è l'unico momento in cui riesco a buttarci un occhio! :||||

In ogni caso ho trovato questa cosa...in relazione a quello che ci siamo detti ieri:
http://www.arduino.cc/playground/Main/ShieldPinUsage

Ciao
Dario
Title: Re: Domotica con Arduino
Post by: teseo82 on Nov 09, 2010, 02:41 pm
qualcuno fa il riassunto della callconference di ieri sera??
Title: Re: Domotica con Arduino
Post by: amedeo on Nov 09, 2010, 02:50 pm
questa sera (mattinata senza un minuto libero e penso anche il pomeriggio) vedo di postare un sunto della call.
Title: Re: Domotica con Arduino
Post by: amedeo on Nov 09, 2010, 09:24 pm
si è deciso di prendere le seguneti macro strade:

1) soluzione middle come contenuti hardware e dimensioni al posto di una low con dimensioni e costi contenuti
2) compatibilità ergonomica con gli shield esistenti di arduino
3) astrazione dal bus fisico

motivazioni:
1) sono state valutale le opzioni strutturali di una piattaforma mid e low e si è optato per la prima in quanto presenta il vantaggio di fornire una maggiore predisposizione come impianto centrale avendo più ingressi e uscite ed anche una maggiore espandibilità tramite gli shield di arduino già presenti sul mercato. di contro la soluzione low presentava/presenta il vantaggio di avere un costo inferiore e di uniformarsi alle soluzioni tecniche dei maggiori player di mercato che riescono a miniaturizzare il device in una socket 303. altro punto di indecisione è stata la scelta del bus da utilizzare e con la soluzione low si era obbligati ad utilizzare rs485 o simili mentre con la mid si era liberi di spaziare tra seriale, eth, xbee...

2) a fronte della decisione di un device mid al punto 1 si è deciso di renderlo ergonomicamente compatibile con gli shield di arduino presenti sul mercato anche se questa compatibilità non sarà al 100% in quanto alcuni pin del microcontrollore potrebbero essere già utilizzati. per questo punto pregherei mordor di dare qualche delucidazione in più

3) punto cardine. si è deciso, a prescindere dal taglio fisico del device, di astrarsi da quale bus utilizzare eth, rs485... ma lasciare libertà di scelta all'utilizzatore finale

i primi 3 punti potrebbero essere assimilabili in un'unica voce

altre decisioni non trascurabili ma dipendenti soprattutto dalle prime sono:

4) il circuito eth si è deciso di non portarlo dentro il pcb

5) 24 pin di in + 24 pin di out

6) due microcontrollori all'interno del pcb; il primo l'ATmega328 con le funzioni simili a quelle di arduino uno/2009, l'altro il 168 o inferiore con le funzioni di watchdog, reset e gestione shift register (confermate quest'ultima funzionalità?)

7) le funzionalità riconducibili all'impianto di antifurto non verranno direttamente implementate nell'hardware ma comunque l'utente finale avrà la possibilità di utilizzare la stessa piattaforma hardware flessibile tramite software

altri punti di approfondimento sono stati:

- la possibilità di una scheda sensoriale ed esteticamente valida, ma che comunque non verrà sviluppata in questo primo stadio
- sono stati posti dubbi sull'affidabilità dello shield eth
- sono stati posti dubbi sulla scalabilità di una soluzione basata su connessione eth in quanto lo shield supporta soltanto 4 socket per volta e potrebbe anche capitare che queste non vengano chiuse correttamente causando così un freeze; in aggiunta sembrerebbe che la scheda non abbia una arp cache adeguata causando così una miriade di messaggi broadcast per la risoluzione mac address/ip
- i pin rx-tx devono essere lasciati liberi per permettere all'utente di usare la seriale

questo secondo i miei appunti, se trovate errori/mancanze correggete pure
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 10, 2010, 10:12 am
Yes condivido il sunto fatto da amedeo.

Aggiungo che l'astrazione dal bus fisico consente quindi una totale personalizzazione del link fisico e la programmabilità del chip un'astrazione del protocollo dati.

Riguardo il punto 6...però ripeto è una mia visione della cosa...modifichiamola seguendo qualsiasi input che venga dalla comunità.

Il secondo uC (che potrebbe essere un atmega328, un atmega168, un atmega ancora più semplice ed economico, ma anche un semplicissimo PIC a 8 pin) ha questi ruoli:
- è connesso con 2 pin all'uC principale per comunicare con esso. Il uC principale DEVE mandare un reset all'uC secondario per resettare il contatore watchdog. Qualora questo non avvenga l'uC secondario lo interpreterà come un freeze del uC principale e di conseguenza lo resetta
- è quindi connesso con l'uC principale sul piedino di reset per resettarlo qualora se ne verifichi la necessità
- resetta lo shield...è quindi interconnesso con il relativo piedino di reset dell'eventuale shield connesso. In questo modo i reset sono distinti (non vi è la necessità di resettare il uC principale se serve resettare solo lo shield)
- in quanto a gestione shift-register...io vorrei dare il compito a questo uC di gestire l'output enable della catena shift register di output. In questo modo si può gestire uno stato certo allo startup. Cioè finchè il sistema non è operativo, l'output degli shift register è inibito di modo da evitare situazioni non previste

Non hai detto che:
- sulla board ci sarà la predisposizione per una EEPROM I2C aggiuntiva (x mordor: metti dei jumper per selezionare l'indirizzo della periferica I2C)
- sulla board si pensava (non ricordo come eravamo rimasti) di predisporre un socket per microSD o SD normale
- ci và messo un regolatore di tensione a 5v
- ci saranno uno o due connettori che consentiranno di mettere in cascata altri shift-register per espandere ulteriormente in e out
- gli ingressi e uscite saranno solo digitali...non è possibile prevedere un campionamento analogiche su ingressi moltiplicati via shift-register (si dovrebbero usare altre tecniche di demultiplexer ma che impiegherebbero troppi pin dell'uC) e le uscite non possono essere PWM
- altra cosa...dovremo valutare un'interfaccia di input, quantomeno per indurire il circuito a valle per evitare indecisioni dovute a interferenze/rumori, e/o anche eventuale isolamento galvanico

Sicuramente dimenticherò qualcosa, ma vi devo lasciare!

Ripeto non riesco a seguire il forum su domoduino...il proxy me lo filtra come "Potentially Damaging Content"...è ridicolo!
Title: Re: Domotica con Arduino
Post by: amedeo on Nov 10, 2010, 12:04 pm
@astroz

riguardo la possibilità di avere EEPROM e SD mi era sembrato che non ci fosse stata una coesione generale, in aggiunta mi verrebbe da pensare che a livello progettuale si può decidere di avere una soluzione oppure l'altra. i dubbi che erano stati avanzati erano:

SD: costo del materiale valutato per avere microSD in circa 6?, in aggiunta e forse + importante un aggravio di 4K sul mC per la libreria FAT(senza contare possibili royalties). Luca M. aveva ipotizzato la possibilità di leggere scrivere sulla SD in modalità RAW, ma andrebbe approfondita la fattibilità e l'interoperabilità della soluzione.

EEPROM: era stato proposta ma messa in discussione per il costo e dimensione PCB, non è stata approfondita perché da questi dubbi il discorso si è focalizzato a seguito delle indicazioni di Luca sulla dimensione, sia fisica che di prezzo del device.

sicuramente la presenza di una delle due o entrambe le tecnologie risolverebbe il problema di conoscenza dello stato precedente all'accensione del sistema, in quanto il device potrebbe memorizzare i vari stati in una memoria non volatile (problematica posta durante la call)

@others
cosa ne pensate in proposito?
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 10, 2010, 12:24 pm
Gli others devono essere morti! :)

No la EEPROM ci và assolutamente secondo me! Anche xkè sono package PDIP 4+4 quindi spazio occupato minimo...richiesta componenti esterne 0 (a parte i jumper per selezionare l'indirizzo).

Per la SD...potremmo tranquillamente ometterla proprio del tutto...oppure predisporre le piste e montare o meno il connettore all'occorrenza...tra l'altro, ripeto, condivide il bus SPI e quindi ha bisogno di un ulteriore pin per la selezione del dispositivo che impegna il bus...quindi si forse si potrebbe evitare!

Voglio aggiungere un'altra cosa! Allora la scheda dovrebbe essere "alta" 72mm x essere compatibile con gli scatoli DIN.

Secondo me anche se venisse una scheda che occupa 8 moduli andrebbe più che bene. Quindi quando avremo idea dello spazio occupato con questa componentistica, se c'è spazio residuo, valuterei l'eventualità di aggiungere un 4° shift register quantomeno di output (32 out).

Dovremo poi confrontarci per l'interfaccia di input che non è banale nemmeno un po'!

Per quanto riguarda il connettore DB25 di cui parlava mordor x input e DB25 x output, ma li vuoi mettere proprio a bordo? O con un minicablaggio e quindi connettore da pannello?
Title: Re: Domotica con Arduino
Post by: Simo89 on Nov 10, 2010, 12:52 pm
Io ero rimasto a:

SI eeprom i2c
NO sd (per il problema di costo socket e perchè la liberira occupava troppa memoria).

Per quanto riguarda la DB25 mi pare di ricordare che mordor la volesse montare proprio a bordo (imho se in qualche modo riusciamo a ficcarci i morsetti è una soluzione più pulita)
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 10, 2010, 01:38 pm
Ragazzi scusate...non voglio rimettere in discussione le linee definite l'altra sera, ma d'altra parte non abbiamo alcun fucile puntato in testa! E a fronte di quella chiacchierata poi la mente lavora!!!

Io valuterei sul serio l'uso di un PIC anzichè un altro ATMega168 per la gestione watchdog/resetcontroller/outputenable!

Vero che stiamo lavorando su due piattaforme differenti, ma vero pure è che quello sarebbe un integrato che viene programmato praticamente con lo stesso firmware e sempre..potrebbe essere considerato quasi un integrato "fisso" cioè venderlo già così programmato! Potremmo comprarne un tot, programmarli (ho io il programmatore e cmq costa 20 euro) e venderli programmati!

Dico questo perchè basterebbe un PIC a 4+4 pin (contro 14+14), non necessita di nessun componente esterno (come la EEPROM), ha il numero sufficiente di pin di in e out che ci servono (senza avere un disavanzo enorme di I/O)...e costa 85 centesimi iva compresa anzichè 4 neuri...ma il vero vantaggio è che occupa, tutto compreso, un terzo se non meno di spazio sul PCB. Valutiamolo...a programmarlo e flasharlo ci penso io senza problemi!

Tra l'altro stavo a pensà pure, ma viaggio troppo con la mente (eheheheh) che pure al posto degli shift register di in e di out si potrebbero mettere dei PIC con 8 porte che possono essere programmati come shift register, ma potrebbero avere funzionalità un po' + avanzate! Es. gli shift register di input (con il PIC) potrebbero funzionare che i PIC campionano gli input e segnano il valore in un registro interno, quando l'ATMel l'interroga scarica il valore, in questo modo si semplificherebbe di parecchio la gestione sull'ATMel e si renderebbe più flessibile lo sviluppo del software!

Cioè esistono già dei PIC preprogrammati in commercio...alla fine si potrebbero comprare dei PIC general purpose e farli diventare ciò che ci serve (senza implementare complesse comunicazioni seriali...facendoli lavorare che simulano proprio degli shift register!!)

Vabbè io l'ho buttata là! Praticamente sarebbe una scheda completamente programmabile, ma fornita con un programma predefinito per reset-controller, shift-in e shift-out! Scusate ma io sono per la parametrizzazione...che s'era capito? :)

P.S: Questo è il programmatore che ho io...sempre USB e ha il compilatore in C...il costo comprende una proto-board utile per innestare il PIC da programmare e fare una schedina di test...
http://www.robot-italy.com/product_info.php?cPath=1_26_57&products_id=682
Title: Re: Domotica con Arduino
Post by: amedeo on Nov 10, 2010, 02:09 pm
la soluzione del pic al posto del secondo atmel anche secondo me risulta più pulita, per la questione dello shift register si potrebbe sentire la voce della comunità... qualcuno riesce ad illustrare vantaggi svantaggi delle soluzioni proposte?
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 10, 2010, 02:23 pm
ragazzi io l'ho buttata là è...non ho assolutamente le idee chiare...anzi! Dovremmo cmq fare delle prove su breadboard e studiare bene gli "stati certi"...cioè che in fase di start-up non ci siano situazioni non definite con certezza!

Ragioniamo...pensiamo...intanto io ho ordinato un 12F675...lo avrò tra un paio di giorni...se ho la capoccia che funziona nel week-end ci butto dentro un occhio!

Tra l'altro devo assolutamente mettere in piedi la gestione della caldaia...qui inizia a fà freddo! :)
Title: Re: Domotica con Arduino
Post by: Simo89 on Nov 10, 2010, 03:38 pm
se ci basta anche il PIC come WD benvenga, risparmiando qui poi abbiamo budget in caso di complicazioni non previste ;)

per quanto riguada il PIC come SHIFT, passo perchè non sono all'altezza ;)
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 10, 2010, 04:01 pm
Dunque come software da buttare su un PIC per fargli fare la stessa funzione di uno shift register non ci vuole nulla...forse è + complicato fargli fare da watchdog...

...però bisogna verificare alcune questioni: es. lo stato dei pin di uscita in fase di startup fin quando il sistema non è "online"...
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 10, 2010, 04:08 pm
Per il watchdog ci basterebbe pure il pic12f629 che costa 0,78 iva inculsa! :D
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 10, 2010, 06:04 pm
Ho parlato con il mio collega ingegnere condividendo con lui il discorso shift-register realizzato con PIC.

Pur condividendo il motivo, mi ha detto di stare in campana...e in effetti non c'avevo pensato!

Uno shift-register hardware (es. 74hc595) è moooooooooolto + veloce di un microprocessore. Il rischio di usare un uC per fare da shift è che non sia sufficientemente veloce da ricevere i dati ed essere in sync con il uC mittente! Tra l'altro l'ATMega328 è a 16 Mhz, mentre il PIC di solito è 4 Mhz...valuterò meglio il discorso!

Resta valido invece il discorso watchdog fatto con il PIC xkè tanto i tempi sono mooolto + dilatati per quel frangente!

Sempre che decidiamo di fare questa modifica...riflettiamo!
Title: Re: Domotica con Arduino
Post by: Ambrogio on Nov 10, 2010, 06:21 pm
Scusate ragazzi, mi spiegate meglio a cosa serve il watchdog ? Grazie
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 10, 2010, 06:28 pm
Il watchdog è un dispositivo che serve a verificare che il processo svolto dal microprocessore non sia impallato o in un loop infinito.

Sostanzialmente è un contatore che autonomamente si decrementa e che, se arriva a 0, provoca un reset del microprocessore. Quindi è espressamente un compito del software quello di resettare con una cadenza inferiore a quella che ci impiega il watchdog ad arrivare a 0 di resettare tale contatore per farlo ripartire da capo.

Tutti i uC hanno un watchdog interno, ma ho letto che il watchdog di arduino ha dei limiti imposti dal bootloader e, comunque, non provoca un vero e proprio reset (Es. non resetta anche lo shield connesso).

Quindi abbiamo ipotizzato di gestire un watchdog hardware! In questo modo se il software eseguito da arduino si impalla esso viene resettato e, se invece ad impallarsi è solo lo shield (arduino continua a lavorare correttamente) si invia un reset solo allo shield separatamente.
Title: Re: Domotica con Arduino
Post by: lucariello on Nov 10, 2010, 06:58 pm
Che ne dite del PIC18F43K20?

Potrebbe fare entrambi i lavori, non costa tanto ed è veloce.

per il controllo ingressi/uscite si potrebbe collegare tramite i2c

Per quanto riguarda il discorso bus di campo (per ora rs485) da affiancare al progetto,
siccome già ci sto lavorando e non mi dispiacerebbe una mano,
c'è qualcuno che è interessato e vuole aiutarmi?
Grazie

Title: Re: Domotica con Arduino
Post by: Ambrogio on Nov 10, 2010, 08:00 pm
@ Astroz: Grazie x la delucidazione sul watchdog !
@ Luke: Io ho già realizzato un protocollo custom che lavora su RS485. Non so nemmeno se definirlo protocollo, ma per ora funziona bene sulla mia configurazione. Ti spiego brevemente come funziona, poi se vi interessa vi mando i sorgenti:

Tutti i nodi normalmente stanno in ascolto, quando devono inviare qualcosa a qualcuno alzano il bit di direzione e inviano 10 BYTE rispettivamente:

BYTE 0: Rapresenta l'inizio del messaggio ed è fisso, nel mio caso a B11110000 (0xF0)

BYTE 1: E' l'indirizzo del mittente, nel mio caso il nodo "luci" e il B00000000 (0x00), il nodo ricevitore infrarossi e il B00000001 (0x01) ... ecc

BYTE 2: E' l'indirizzo del destinatario del messaggio, dice quale nodo deve eseguire il comando (si potrebbe eventualmente prevedere un indirizzo di broadcast per far eseguire il comando a tutti i nodi)

Byte 3: E' il comando da eseguire. Per esempio 0x02 significa "messaggio ricevuto correttamente" 0x03 significa "setta uscita", 0x04 "resetta uscita", 0x05 "inverti uscita", 0x06 "Esegui una determinata funzione", 0x07 "richiedi lo stato di un ingresso digitale" ecc ...

BYTE 4: E' il puntatore e dipende da quale comando inviamo. Per esempio se invio il comando "setta uscita" "10000000 00000001" con il puntatore che vale 0x00 io setterò l'uscita numero 0 e la numero 15, invece con il puntatore che vale 0x01 io setterò l'uscita 16 e 31, con il puntatore che vale 0x02 io setterò l'uscita 32 e 47 ... in poche parole dividendo le uscite in gruppi da 16, il puntatore mi diche a quale gruppo mi riferisco. Lo so non è chiarissimo ma magari poi faccio degli esempi.

BYTE 5 e BYTE 6: Rappresentano il valore del comando. Sempre con l'esempio del "setta uscita" impostando il puntatore a 0x00 se il BYTE 5 e il BYTE 6 valgono rispettivamente B01010101 e B01010101 io setterò le uscite n° 0, 2, 4, 6, 8, 10, 12 e 14. Praticamente faccio una maschera: dove ho un "1" setto l'uscita corrispondente, dove ho "0" non la setto.

BYTE 7 e BYTE 8: Sono 2 byte che vengono calcolati in base al valore di tutti gli altri 8 byte (magari piò avanti vi spiego come) servono per vedere se il messaggio arriva integro o se c'è stato un errore sulla trasmissione. Praticamente prima di inviare il messaggio calcolo questi 2 byte e li inserisco. Chi riceve il messaggio fa la stessa operazione e se ottiene come risultato proprio i byte 7 e 8 significa che il messaggio è integro.

BYTE 9: Rapresenta la fine del messaggio ed è fisso, nel mio caso a B11110001 (0xF1)

Praticamente tutti i nodi ricevono il messaggio, ma solo il destinatario eseguirà il comando.

Ora un piccolo esempio di comunicazione:

Il nodo ricevitore infrarossi invia:

0xF0 0x01 0x00 0x03 0x00 0x01 0x02 0x82 0xF4 0xF1 che significa

0xF0 Inizio messaggio
0x01 Sono il nodo ricevitore IR
0x00 il seguente comando è destinato al nodo "luci"
0x03 setta i relè
0x00 del gruppo "0"
0x01 (B00000001) n°15 no, n°14 no, n°13 no, n°12 no, n°11 no, n°10 no, n°9 no, n°8 si
0x02 (B00000010) n°7 no, n°6 no, n°5 no, n°4 no, n°3 no, n°2 no, n°1 si, n°8 no
0x82 Primo byte del controllo integrità
0xF4 Secondo byte del controllo integrità
0xF1 Fine del messaggio

e il nodo "luci" esegue il comando e risponde:

0xF0 0x00 0x01 0x02 0x00 0x00 0x00 0x48 0x20 0xF1 che significa

0xF0 Inizio messaggio
0x00 Sono il nodo luci
0x01 il seguente comando è destinato al nodo "ricevitore IR"
0x02 ti informo che il messaggio che mi hai appena inviato aveva i 2 byte di verifica corretti, quindi la trasmissione è avvenuta corretamente
0x00 // In questo comando non serve
0x00 // In questo comando non serve
0x00 // In questo comando non serve
0x82 Primo byte del controllo integrità
0xF4 Secondo byte del controllo integrità
0xF1 Fine del messaggio
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 11, 2010, 09:06 am
@lukeskycopper: l'ho detto la storia del pic come controller degli input e output era buttata là così...se diventa un problema di difficile implementazione o un point of failure lascerei stare...

Ieri sera mi sono messo a giocare con il pickit2 e a parte la complessità dell'ambiente di sviluppo, sono riuscito a fare un programma che facesse più o meno ciò che volevo, ma ci sono delle cose che davvero ignoro!

Ma direi che se serve a gestire il watchdog alla fine il programma sarà piuttosto semplice...e anche il 12f629 dovrebbe bastare...è un 4+4 e ha 6 general purpose i/o:
1 - interfaccia con atmega
2 - interfaccia con atmega
3 - reset atmega
4 - reset shield
5 - gestione output enable shiftout
6 - led di stato
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 11, 2010, 11:05 am
L'idea del PIC come gestore degli input e output sostanzialmente avrebbe aggiunto delle potenzialità in quanto anche essi, potendo essere programmati, avrebbero potuto effettuare gestioni lievemente più complesse...esempio: lo shift di input avrebbe potuto campionare autonomamente gli ingressi e registrare in locale il verificarsi di un evento e, quando l'atmega andava a fare lo "scarico dei dati" avrebbe trovato anche un evento non occorso in quel momento! Non sò se mi sono spiegato bene...

...in ogni caso è troppo difficile la realizzazione e rischiosa. Inoltre un PIC con 8 in/out costa almeno 1 euro, forse di più (anche un paio) contro 0.20 euro di uno shift register. Quindi tornerei all'opzione shift register!
Title: Re: Domotica con Arduino
Post by: stefano72 on Nov 12, 2010, 11:56 am
Giorno a tutti!
Se non mi sentite è perchè sono influenzato, ma in ascolto!
Non riesco ad accedere al forum domoduino.org: non mi è mai arrivata la conferma di registrazione nè mi abilita l'accesso con UID e PWD!
Ma le discussioni ora dove sono? Su questo forum, su domoduino e poi dove?

Ma quindi adesso la topologia è:
- un PCB arduino con PIC e shift vari per relè a bordo;
- schedine sensori (al momento non discusse);
dal PCB in scatola di derivazione si diramano tutti i cavi 220 per gli attuatori; giusto? Quindi in buona sostanza una rete a stella?
Title: Re: Domotica con Arduino
Post by: teseo82 on Nov 12, 2010, 01:59 pm
Ho alcune domande/osservazioni da porre in merito all'architettura scelta:
1)Secondo me l'idea di usare pic per wDog e ShiftReg è geniale anche se va leggermente a complicare il tutto. Ma, come si dice, chi non risika non rosika!!
Al di là di questo, qualcuno ha pensato ai consumi della scheda? Essendo una scheda che sta sempre accesa, anche se apparentemente assorbe poco, in un mese potrebbe andare a pesare sulla bolletta. Non ho assolutamente idea dell'ordine di grandezza ma immagino che alimentare qualche controllore in più comporti un assorbimento maggiore che realizzare il tutto in HW.
Cmq, al di là che si decida di usare i pic o meno, si potrebbe pensare ad un sistema HW che realizzi lo stand-by automatico tale per cui quando non ci sono uscite attivate, la scheda si porta in una modalità di funzionamento minimale e resta in attesa di un qualsiasi segnale di ingresso che la svegli. Ripeto, sembra una precauzione inutile, ma nessuno vorrebbe una casa che, anche non facendo nulla, consuma energia. L'ho buttata l'ha ma se c'è qualcuno che è in grado di implementare questa funzionalità e il tutto non pesi enormemente sui costi e sulle dimensioni credo sia una cosa utile.

2) Sarebbe possibile avere sulla scheda un qualche tipo di display (anche minimale) in modo da poter visualizzare informazioni sullo stato generale dell'impianto? So che in ogni momento ci si può collegare col pc e implementare qualsiasi tipo di monitoring si voglia, ma secondo me sarebbe comodo, se non è troppo dispendioso, avere un feedback visuale direttamente sulla scheda. Il display potrebbe anche visualizzare eventuali informazioni di diagnostica relativa all'impianto complessivo e alla scheda stessa.

3) Qualcuno ha pensato a come gestire i flussi multimediali?? Si pensa di integrare tutto all'interno di arduino o, come credo, utilizzare qualcos'altro?
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 12, 2010, 02:59 pm
Replico a TEX:
1) riguardo l'usare un PIC come wDog l'idea sembra resistere, riguardo l'usare un PIC come ShiftRegister, direi che è tramontata per complicazione nella realizzazione. Riguardo lo standby, assolutamente non credo sia un problema! Ciò che assorbe non è il uC, se mai led (che oltre a uno/due di stato non metterei)...e l'assorbimento dell'uC rispetto a componenti discreti non è granchè differente. Se mai si dovrebbe riflettere sull'utilizzo di relè meccanici che assorbono "parecchia" corrente per eccitare la bobina. Bisognerebbe assolutamente pensare a schede di relè a stato solido (Triac) che richiederebbero pochi microampere. Ma il non mettere il dispositivo a bordo di questo PCB ci consente di usare oggi relè meccanici, domani sostituirli con relè a stato solido senza nessuna ulteriore implementazione. Inoltre lo stand-by automatico non può essere gestito...il uC deve essere sempre in ascolto sulle porte di ingresso, o se quando uno vuole accendere una luce esso è in stand-by la luce non si accende!

2) se vogliamo risparmiare sull'alimentazione, di certo non metterei un display. Inoltre non ci sono sufficienti pin disponibili dell'ATMega per metterlo (ci avevo pensato pure io). Poi: occupa spazio, sarebbe di scarsa utilità (in fondo ci serve cmq un software per interrogare lo stato di salute dell'impianto e dare informazioni dettagliate), i nodi non sono sempre accessibili, anche in tal caso il display sarebbe inutile!

3) i flussi multimediali condividono lo stesso bus nel caso si sceglie l'ethernet, chi deve gestire tali flussi è l'utilizzatore (o interfaccia utente) i nodi non hanno nessun motivo di interfacciarsi con flussi multimediali. Ma, qualora un domani si integrano nell'impianto delle telecamere IP, si può sempre fare un'interfaccia utente che le visualizzi e contemporaneamente gestisca lo stato dei relè collegati ai nodi...un sistema eterogeneo e integrato.

Rispondo a stefano72:
...sì mi sà che stai parecchio influenzato! :) :) :)
Riguardo domoduino non ti sò aiutare...anzi colgo l'occasione per ricordare che io non potrò frequentare quel forum...non sò perchè il proxy me lo filtra...devo provare a reverse-proxarlo tramite il server di casa, magari cambiando l'url riesco a vederlo...vi farò sapere!

Riguardo il PCB, ti riepilogo, ma sei un po' fuori strada:
- ATMega328 come uC principale
- EEPROM I2C esterna per espandere la capacità di memorizzazione della configurazione
- ATMega168 o PIC come watchdog e gestore reset/output enable
- 3 shift register serial-in/parallel-out per espandere a 24 uscite con l'impiego di soli 3 pin arduino
- 3 shift register parallel-in/serial-out per espandere a 24 ingressi con l'impiego di soli 3 pin arduino
- 3 ULN2803a (array di 8 transistor darlington con 500mA di corrente per ogni uscita in configurazione open-collector) come driver per le bobine dei relè che saranno off-board...esterni...con un connettore probabilmente DB25 per il cablaggio da questa PCB ai relè (ognuno sceglierà i suoi relè, se meccanici o stato solido o una soluzione promiscua)
- circuito di adattamento per gli input, eventualmente di isolamento o cmq per filtrare eventuali disturbi sul cavo (da studiare e valutare)
- zoccoli pin strip femmina per garantire compatibilità con gli shield arduino (e quindi inserire l'ethernet shield piuttosto che un qualsiasi adattatore di bus)
- non ci sarà l'interfaccia FTDI o 8U2, ma una fila di pin strip sulla quale inserire una scheda di interfaccia USB-Serial per la sola programmazione dell'ATMel

...non sò se dimentico dell'altro!
Title: Re: Domotica con Arduino
Post by: Ambrogio on Nov 12, 2010, 04:06 pm
Stavo pensando: un RTC non serve ?
Title: Re: Domotica con Arduino
Post by: Guglio on Nov 12, 2010, 04:35 pm
Io non scrivo nulla ma sono in ascolto anche io!
Secondo me un RTC per ora è inutile a meno che non si vogliano anche azioni programmate, al massimo si possono lasciare dei pin per l'i2c e al massimo aggiungere dopo la schedina

A questo punto un "preventivo" per il costo della scheda?
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 12, 2010, 04:42 pm
Incredibile...mi è venuto lo stesso dubbio ora che ero al bagno...manco a farlo apposta!

In ogni caso può servire...ma solo se si vuole gestire internamente un orologio. Nel mio caso non serve, perchè la logica "orologio" la gestisco sul supervisore.

Per conoscere quando si è verificato un evento sincronizzo il runtime dell'uC del nodo con il clock dell'orologio e per sapere quando si è verificato un evento faccio la differenza di runtime attuale - runtime precedente e aggiungo la differenza all'offset che c'è tra clock reale e runtime della CPU...forse mi sono spiegato male!

In ogni caso, nel mio nodo non c'è bisogno di sapere l'ora! Invece posso gestire nel nodo funzioni di timer inteso come conto alla rovescia...cioè es. se io voglio una luce accesa per un ora lo posso fare...se io volessi accendere la luce alle 20.00 no, ma semplicemente perchè ci penserebbe il supervisore.

Non ho molta esperienza sugli RTC...di solito sono su bus I2C...si potrebbe anche pensare di inserirlo in parallelo alla EEPROM I2C.

Tra l'altro m'era venuta in mente pure un'altra cosa...ma mi stanno a massacare in ufficio e mi è passata di mente...azzzzzzzz
Title: Re: Domotica con Arduino
Post by: Ambrogio on Nov 12, 2010, 05:45 pm
Secondo me converrebbe metterlo l'RTC, o per lo meno predisporlo, così se voglio fare delle luci temporizzate con tempi piuttosto lunghi posso farlo senza usare millis visto che non è molto preciso per applicazioni di questo tipo. Poi se voglio gestire un termostato come faccio senza RTC ? Non posso nemmeno accendere/spegnere la luce esterna ad un certo orario.
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 12, 2010, 06:18 pm
No ma infatti...come ti dicevo...io gli eventi temporizzati (cioè gestiti proprio dall'ora/minuti/secondi) li faccio gestire al supervisore, perchè non mi andava di implementare la gestione nel firmware del nodo, invece implemento dei comandi temporizzati...es: irriga x 3 minuti (non mi serve di sapere che ore sono, ma solo che devo fare un qualcosaltro tra 3 minuti...e mi è sufficiente appoggiarmi al millis)
Title: Re: Domotica con Arduino
Post by: mordor on Nov 12, 2010, 06:32 pm
Buone notizie: schema elettrico quasi ultimato. Lunedi ore 9.15 su skype: vi illustro un po la filosofia e i componenti. Invito aperto a tutti
Title: Re: Domotica con Arduino
Post by: Simo89 on Nov 14, 2010, 01:15 am
bè a questo punto l'RTC si può installare sulla board principale, che invierà poi i comandi alle periferiche (che quindi non necessitano di RTC)
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 15, 2010, 02:21 pm
Dunque...

1° ho ricevuto il nuovo ethernet shield. Bisogna assolutamente lasciare libero il pin 4 oltre al 10-11-12-13

2° arduino mini è una figata 20 Euro e hai una schedina veramente piccola standalone

3° stasera ci sarò, ma attenzione a dire "il circuito è quasi finito"...non corriamo, la gatta frettolosa fà i figli ciechi!!! Bisogna assolutamente studiare bene l'interfaccia elettrica di input...se indurire con delle resistenze di pull-up specifiche o isolare galvanicamente con opto-isolatori

4° ovviamente prima di mandare in stampa il tutto, deve essere provato ogni singolo componente del sistema su proto-board! Io ho provato a combattere con il pic12f675 regolarmente ricevuto da robot-italy...ma non è così semplice programmarlo!

5° io sono sempre per l'output enable gestito dal PIC con una resistenza di pull-up/down (non ricordo) per garantire la disabilitazione degli ingressi in fase di start-up

6° dobbiamo pure studiare come fare l'alimentazione del tutto...cioè io metterei un regolatore a bordo (tipo 7805 o qualcosa del genere)...sostanzialmente io metterei come input la 12v (o 13,8 come nel mio caso)...insomma una tensione da 7 a 20v (come Arduino) e di conseguenza gestirei la doppia alimentazione on-board. Quindi, a blocchi sarebbe: alimentatore -> nostra PCB; nostra PCB -> relè! Forse non mi riesco a spiegare benissimo! :)

7° dobbiamo ricordarci di:
- condenstori elettrolitico 100uF e poliestere 100.000pF di filtraggio alimentazione sono FONDAMENTALI e vanno messi nei pressi dei chip TTL
- condensatore elettrolitico 1uF tra il latch degli shift register di output e massa
- resistenza da 10kohm tra il pin reset dell'ATMel e positivo e microswitch tra reset e massa (oltre che il reset deve ovviamente andare verso un pin del PIC)
Title: Re: Domotica con Arduino
Post by: pictux on Nov 15, 2010, 03:00 pm
Quote
2° arduino mini è una figata 20 Euro e hai una schedina veramente piccola standalone

mini o pro mini?
Le Pro Mini costano un pochino meno (15 eur).
Ho visto svariati progettini basate su board con la Pro Mini (invece del solo ATMega); da questo punto di vista sto facendo degli esperimenti.

Non ho avuto modo di seguire nè il forum nuovo costituito nè le conference call su Skype, quindi son male informato, ma nelle board che si stanno delineando c'è il solo ATMega o la soluzione è "ibrida" e quindi c'è una Arduino (Pro) Mini?
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 15, 2010, 03:24 pm
Solo l'ATMega ma con compatibilità shield arduino...
Title: Re: Domotica con Arduino
Post by: mordor on Nov 16, 2010, 08:59 am
Ultimi aggiornamenti:

A bordo scheda sui pin tx e rx, oltre all'fdti avremo in parallelo un integrato che converte in rs485. Visto il costo esiguo minore a un euro è stato deciso di applicarlo. Diodi di protezione sugli ingressi per evitare le correnti inverse, resistenza di pullup diminuita per aumentare l'impedenza di ingresso ed evitare disturbi. Connettore in parallelo con la eeprom per altre vicine espansioni i2c.
Liberato anche il pin 4 oltre agli ultimi 4 per le shield.
Siamo indecisi sull'atmega di watchdog se al posto del led, visto l'esubero di pin liberi, mettere direttamente e brutalmente collegato pin to pin un 7 segmenti led.
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 16, 2010, 10:02 am
Dunque...mi sono perso qualcosa? A che serve l'FTDI on-board? Non carichiamo e complichiamo troppo il tutto...in fondo basta un connettore pin-strip sul quale infilare una schedina USB->FTDI->232...per fare la programmazione!

Infatti collegherei TX e RX al chip di conversione RS485, con dei jumper per escluderlo, e in mezzo metterei questo connettore per il programmatore!

Assolutamente daccordo per il connettore I2C per schede di espansione.

Per quanto riguarda il 2° uC...premesso che io resto titubante a lasciare un ATMega che costa 3/4 euro e ha 14+14 pin quando basterebbe un PIC 4+4 pin senza nessun componente aggiuntivo, ma assolutamente non voglio imporre il mio pensiero, quello che invece vedo pericoloso è distribuire la logica sui due uC...io al 2° uC gli farei fare proprio operazioni banali di watchdog, reset controller e output enable...scusate è una mia visione, magari non condivisa!

Quindi il display...mmhhh...a che potrebbe servire connesso là?

Anche xkè il 2° uC deve essere affidabile, complicarne la logica significa poi dover controllare pure lui... :) Tra l'altro mi accennavi del circuito negato RC per controllare l'Output Enable...io molto più semplicemente metterei sugli output enable una resistenza di pull-up e un pin del 2° uC...sarà lui a stabilire tempi e modalità di attivazione degli output!

In ogni caso queste soluzioni...anche se testate a blocchi logici...vanno montate su breadboard e provate: watchdog, reset, output enable, memoria eeprom, convertitore rs485, etc.etc...
Title: Re: Domotica con Arduino
Post by: Fabio292 on Nov 16, 2010, 04:17 pm
Ciao a tutti, sono un nuovo utente di questo forum!
Mi sono letto questo interessante thread e penso sia il posto migliore dove porre la mia domanda!
Io frequento 5° ITIS informatica, e per il progetto da portare alla maturità pensavo di realizzare un progetto di domotica in versione MOLTO ridotta (visto il poco tempo/conoscenze/mezzi che ho a disposizione) : un plastico di una casa dove andrei a metterci i vari sensori collegati all'arduino e poi grazie allo shield ethernet salvare tutti questi dati in un database publicandolo sul web.
Il problema sorge nella scelta di quale arduino usare!

Penso che la scelta sia in base ai sensori che voglio collegare, nel mio caso vorrei usare un sensore di temperatura, umidità, uno per l'irraggiamento solare. Visto che si tratta solo di un progetto piccolo non mi propongo di rilevare ogni grandezza possibile! Inoltre vorrei gestire l'illuminazione, un mini sistema anti-intrusione (per esempio un sensore alla finestra e uno alla porta) e magari un elettrovalvola (per la conduttura dell'acqua o del gas) giusto per rendere un pò più completo il tutto!

Voi che ne pensate? Avete qualche consiglio in merito?

P.s. ho postato in questa discussione perchè mi sembrava la più inerente, ma vi prego di avvertirmi se è meglio iniziarne una nuova per non creare confusione!  ;)
Title: Re: Domotica con Arduino
Post by: mordor on Nov 19, 2010, 10:15 am
Stringi stringi, sull'hardware siamo arrivati quasi a una conclusione. Presto schemi e inizio sbroglio pcb.
Title: Re: Domotica con Arduino
Post by: techgirl on Nov 21, 2010, 01:40 pm
Ciao a tutti!
sono nuova del mondo arduino e dei sistemi embedded ma la domotica mi ha sempre affascinato. Ho letto quasi tutta la discussione (ma finirò di leggerla dopo il post) e mi ha molto interessato il vostro approccio. Purtroppo attualmente non so se potrò esservi utile se non come tester, ma conto di mettermi in pari il prima possibile (università permettendo!!).

Tutto questo per dire, io ci sono!
Title: Re: Domotica con Arduino
Post by: astroz78 on Nov 22, 2010, 09:55 am
wow!
Title: Re: Domotica con Arduino
Post by: mordor on Nov 23, 2010, 08:22 am
Presto posto lo schema, alcune featuring:

24 ingressi digitali
24 uscite digitali con driver ( 12vout 500 mA )
interfaccia rs485 onboard
arduino shield compatibile
eeprom a bordo
connettore i2c per espansioni in loco
connettori per espandere gli shift register ( in e out )
micro di watch dog che monitorizza quello principale, con possibilità di reset, enable uscite
led di stato
Title: Re: Domotica con Arduino
Post by: pictux on Nov 23, 2010, 08:56 am
..davvero interessante, ottimo lavoro  :)
Title: Re: Domotica con Arduino
Post by: jacoluca on Nov 23, 2010, 04:22 pm
mordor magari cosi iniziamo a fare qualcosa mi metto in lista anche se con la programmazione sto a zero
Title: Re: Domotica con Arduino
Post by: mordor on Nov 24, 2010, 09:27 am
"mordor magari cosi iniziamo a fare qualcosa mi metto in lista anche se con la programmazione sto a zero "

mmm mi sa che abbiamo le idee confuse :)
1) stiamo gia facendo qualcosa
2) se leggi i post precedenti piu volte c'è scritto che in skype diamo il benvenuto a tutti, c'è un forum di servizio per i lavori
3) anche io non sono abile programmatore, difatti curo la parte circuitale, presumo quindi tu sia un elettronico?

__________________________________________________________

Secondo voi: il chip di watchdog, oltre a fare i reset, può disabilitare la RS485? potrei forzare la modalità ricezione, in modo che si si impalla qualcosa, e disturba il bus il nostro guardiano lo azzittisca... che ne dite?
Title: Re: Domotica con Arduino
Post by: ale914 on Nov 24, 2010, 10:47 am
Ciao a tutti, vi segnalo la manifestazione handimatica http://www.handimatica.com/
Quote
HANDImatica è una mostra-convegno nazionale, unica nel suo genere, dedicata alle tecnologie informatiche e telematiche utilizzate a beneficio delle persone disabili


visto che la domotica può sicuramente essere un vantaggio soprattutto per le persone disabili, mi sembrava attinente, magari qualcuno della zona di Bologna potrebbe farci un giro e trarne qualche idea.

Ciao
Title: Re: Domotica con Arduino
Post by: jacoluca on Nov 24, 2010, 04:09 pm
si sono elettronico ma mi sono specializzato elettrotecnica
plc progettazione e realizzazione nuovi quadri industriali
addesso vorrei fare domotica ma a basso costo, non ho skype
Title: Re: Domotica con Arduino
Post by: stefano72 on Nov 24, 2010, 06:32 pm
@morodor Il forum è quello di domoduino.org? Lo vedevo un po' fermo!
chi ha la lista skype degli iscritti? si trova sul forum?
Giusto per non rimanere indietro...!!
Title: Re: Domotica con Arduino
Post by: mordor on Nov 25, 2010, 08:24 am
Riassumo, c'è stata una prima fase dove si è tracciata la strada del proggetto ( e non semplice ), tenendo conto degli interessi comuni, e di fare un hardware che avesse una partenza economica e un rapporto lineare costi/potenzialità in caso di espansione.
E stata decisa una strada, ed è quasi stato quasi progettato l'hardware.
Ora fino a che non mandiamo in produzione qualche prototipo non credo si possa fare molto... quindi la fase è un po statica
Title: Re: Domotica con Arduino
Post by: stefano72 on Nov 25, 2010, 07:09 pm
Altra idea tra le varie ed eventuali:
avete presente le dinamo di emergenza nel film Pandorum?
Potrebbe servire una cosa simile per alimentare l'impianto domotico in una situazione di mancanza di corrente?
Ovviamente, tra le varie ed eventuali, come promemoria e per completezza...
Title: Re: Domotica con Arduino
Post by: teseo82 on Nov 26, 2010, 03:35 pm
Quando sarà terminata la prima fase di progettazione, avete già pensato a quanti prototipi costruire? Più o meno quant'è il costo della scheda?
Title: Re: Domotica con Arduino
Post by: mordor on Nov 26, 2010, 07:22 pm
Non lo so, ci sarà la primissima prototipazione dove il gruppo di lavoro testerà e correggerà eventuali bug. Poi vedremo se ci sarà richiesta si deciderà se fare una serie piu grossa, sinceramente non vorrei trovarmi 100 500 schede ferme in garage a fare compagnia ai ragni, quindi si valuterà...
Per i costi tutto dipende, le prime dieci betatesting costeranno sicuramente di piu che le altre 100, perchè oltre al fatto che meno se ne fanno e piu costano e meno componenti si prendono meno sconti si hanno, c'è il fatto che nelle prime dieci le varie persone del gruppo ci mettono anche molto lavoro, telefonate, materiali di consumo, materiale per prove ecc...
Vedendo la scheda a occhio e croce per un 100 200 pezzi secondo me si sta sotto ai 100 euro.
Poi ripeto, dipende tutto dai numeri in gioco.

Ovviamente schemi, file gerber e quantaltro saranno disponibili. Quindi uno è liberissimo di andare a costruirsela da chi vuole o farsela in casa.
Title: Re: Domotica con Arduino
Post by: jacoluca on Nov 27, 2010, 03:28 pm
se funziona il tutto per venderle non ci vuole molto
Title: Re: Domotica con Arduino
Post by: sendai on Nov 30, 2010, 03:06 pm
Grandissimi.. thread molto interessante!
Title: Re: Domotica con Arduino
Post by: Guglio on Dec 01, 2010, 06:31 pm
http://www.youtube.com/watch?v=QlfrU5LdsN0&feature=related

Interfacciare la domotica anche con il telefono di casa?
In questo modo basterebbe avere il cordless sotto mano e digitare un numero corrispondente alla stanza per accendere la luce.
Potrebbe anche funzionare come controllo remoto...
Title: Re: Domotica con Arduino
Post by: Enrico M. on Dec 02, 2010, 05:07 pm
interessante la soluzione di aggangio elettricamente diretto di arduino con la linea telefonica.

ma per "l'interfacciamento domotico" dell'impianto telefonico, nella sua accezione più ampia, io transiterei tramite un serverino linux centrale su cui sia installato il mitico asterisk, se necessario interfacciando poi questa macchina linux con arduino (via seriale/usb).

con questo piccolo sforzo, gli scenari che si aprono diventano molto interessanti:
- controllo locale scenari da linea interna
- controllo remoto della casa con una telefonata al numero voip riservato e comandi inviati via dtmf
- avvisi vocali sul cellulare per monitoraggio/anomalie/allarmi
- etc etc

in ogni caso mi sono già segnato il riferimento all'interessante chippettino segnalato nel filmato youtube.... grazie!

Title: Re: Domotica con Arduino
Post by: pictux on Dec 06, 2010, 10:33 am
Per un progetto ho utilizzato proprio Asterisk.
Con uno script AGI, chiamando un determinato interno, si accedeva ad un IVR per comandare l'apertura di cancelli e luci esterne.

L'Arduino era in questo caso connessa via ethernet shield (le uscite son pilotabili anche da web app integrata in sw di videosorveglianza) , ma si potrebbe anche attaccare direttamente via usb/seriale al server Asterisk stesso o a un embedded device (tipo AGA o NSLU2) con installazione Asterisk minimale e il solo interno IVR...

L'unico limite con gli strumenti che ci sono è la fantasia  :D
Title: Re: Domotica con Arduino
Post by: Enrico M. on Dec 06, 2010, 02:31 pm
@pitusso
ESATTO!



Domandona un pochino off-topic, ma non troppo: cercando un modo per far parlare arduino con un computer, ho trovato il progetto "Firmata" (http://firmata.org).

E' perfetto per far fare ad Arduino il livello più basso di manipolazione di sensori e attuatori, lasciando la supervisione a qualcosa di più evoluto di un ethernet shild sul fronte dell'implementazione del TCP/IP: un serverino linux, di tipo embedded.

Per far parlare quest'ultimo con un arduino+firmata, vorrei usare qualcosa di facile da maneggiare a livello prototipale, e ho incontrato queste due librerie in python:

 http://bitbucket.org/tino/pyfirmata/src
 e
 http://code.google.com/p/pyduino/

Ho anche trovato molte cose non basate su firmata, tra cui:

 https://code.google.com/p/ioduino/

qualcuno li ha mai usati?
Title: Re: Domotica con Arduino
Post by: amedeo on Dec 06, 2010, 09:19 pm
con firmata in generale puoi rendere arduino uno slave seriale che risponde ai comandi che tu gli invii.

un esempio banale pc-arduino:

pc: cosa leggi sulla analog0?
arduino: leggo il valore 123
pc: allora scrivi alto su digital13
arduino: digital13->high

con firmata puoi usare una pletora di linguaggi di alto-medio livello e puoi usare anche processing.

p.s. io un po' di tempo fa avevo utilizzato https://github.com/lupeke/python-firmata
Title: Re: Domotica con Arduino
Post by: Enrico M. on Dec 06, 2010, 11:27 pm
avevo ben inteso le potenzialità di firmata, al punto che qualche tempo fa l'avevo usato per interfacciare arduino con flash... la cosa carina era che la libreria flash era sufficientemente evoluta da consentirmi di impostare delle funzioni di callback actionscript, invece di fare continuamente io il polling (che comunque avviene, ma in maniera trasparente alla programmazione fatta da me).

la libreria che mi hai indicato sembra interessante, se non altro perché mi pare sia più seguita delle altre cose che ho trovato io, visto che gli ultimi interventi sono "appena" di qualche mese fa (altre librerie sono in stallo da oltre 1 anno...).

come detto la mia idea sarebbe quella di usare al posto dell'ethernet shield un serverino linux embedded interfacciato con il mondo esterno (nel nostro caso, sensori e relé) tramite un arduino con il firmware firmata che parla con il serverino linux tramite programmini in python.

in tal modo arduino non risente dei limiti degli stack tcp/ip minimali (e a sentire l'esperienza concreta di astroz, pure poco affidabili) dei chip dedicati a soluzioni totalmente basate su microcontrollore.

in pratica, il meglio di due mondi: interfacciabilità hardware massima grazie ad arduino; con linux, networking avanzato, multitasking, riprogrammabilità totale, e molto altro.
Title: Re: Domotica con Arduino
Post by: Dani88 on Dec 07, 2010, 05:21 pm
Ciao a tutti :) ho letto questa discussione...
L'argomento mi interessa molto e vorrei partecipare e dare una mano.
In programmazione me la cavicchio, ho scritto anche un piccolo e semplice programma in java che comunica con arduino: questi legge alcuni sensori di luce e temp e invia dati al pc, dal programma in java posso inoltre inviare comandi per accendere i pin di output.

Volevo sapere cosa è possibile fare per dare una mano  ;) ;)
Title: Re: Domotica con Arduino
Post by: teseo82 on Dec 09, 2010, 02:51 pm
Ciao,
a che punto è la progettazione HW?? c'è già un prototipo? Ci aggiornate su quello che succede?
Title: Re: Domotica con Arduino
Post by: intelly on Dec 14, 2010, 12:38 pm
buongiono a tutti....
ho letto con interesse le varie considerazioni fatte sull'argomento e ne attendo fiducioso i possibili sviluppi. personamente ritengo che utlizzare un bus ethernet non sia una gran cosa... vedrei piottosto più adeguata e versatile una soluzione su rs485: in pratica un bus a 4 fili con segnale e alimentazione. ogni dispositivo del sistema dovrebbe quindi avere una propria sezione di regolazione dell'alimentazione e il transceiver rs485. non vi pare?

ps - avrei la necessità di far realizzare delle schede PCB: avete qualche suggerimento economico di cui me le può fare
Title: Re: Domotica con Arduino
Post by: stefano72 on Dec 19, 2010, 02:24 pm
Ciao a tutti!
Effettivamente, non ci sono molte news: c'è qualche aggiornamento?
Intanto: Buon Natale!
Ciao,
Stefano
Title: Re: Domotica con Arduino
Post by: jacoluca on Dec 19, 2010, 06:06 pm
si è bloccato il post fateci partecipi
Title: Re: Domotica con Arduino
Post by: Guglio on Dec 19, 2010, 06:57 pm
Bhe sotto le feste penso che chiunque sia occupato un po' più occupato.. chi in vacanza, chi ha il negozio...
Puntiamo tutto sul 2011.. anche perchè poi nel 2012 finisce il mondo (AHAHAHA)
Title: Re: Domotica con Arduino
Post by: FEDERICO on Dec 20, 2010, 08:38 pm
tutte scuse :-) io lurkavo questo post da un po' e ora e' tutto tornato silenzioso ^_^
Title: Re: Domotica con Arduino
Post by: ticiotix on Dec 24, 2010, 11:37 am
Ciao a tutti.
Colgo l'occasione di fare gli auguri a tutti per presentare un progettino ancora decisamente embrionale, ma che sembra essere compatibile con quanto ho letto finora in questo thread.
Al momento sto lavorando su uno shield per la domotica che contiene:

L'idea dovrebbe essere quella, almeno in prima approssimazione, di avere un Arduino come centrale e dei nodi remoti basati su MCP25050 (CANBUS EXTENDER 8 GPIO, 4 Input Analogici, 2 uscite PWM) e relativo transceiver MC2551 per la gestione di sensori e attuatori (al momento la questione "nodi remoti" è ancora molto in fase TBD perché da una prima analisi il MCP25050 non pare sia programmabile in modo non volatile per cui potrebbe richiedere un suo MICRO, il che aprirebbe a sistemi ad intelligenza distribuita).
Comunque il mio "sogno" rimane comunque di avere un sistema che abbatta al massimo i cablaggi consentendo di viaggiare ove possibile con solo un quadripolare e i due cavi della 220V, installando i nodi sul fondo di comuni cassette da incasso e preparando dei nodi adattabili alle varie esigenze (sei pulsanti e un relay, quattro relay, otto pulsanti, ..., nella maniera più modulare possibile).
La parte più complessa è il software da installare su Arduino per gestire il tutto. L'idea sarebbe quella di implementare un interprete di comandi che permettesse di programmare l'AVR una sola volta, indipendentemente da quali siano le programmazioni dell'impianto domotico che verremmo ad installare.
Partiamo dal protocollo di comunicazione: va benissimo quello definito da Ambrogio a lunghezza fissa di 10 Byte (la lunghezza fissa mi è molto utile in programmazione).
A dire il vero avrei preferito tentare di usarne uno esistente magari open (ad esempio Velbus) che ci apriva all'utilizzo di componentistica esistente di terze parti, garantendo al progetto maggiori probabilità di successo, ma, visti i costi, direi che vada benone anche così.
Il protocollo di Ambrogio andrebbe espanso considerandolo un linguaggio di programmazione più che un protocollo di comunicazione.
Ammettiamo che il primo byte del protocollo di Ambrogio non sia fisso a 0xF0, ma che 0xF0 sia il comando "invia messaggio", alla ricezione di un messaggio Arduino dovrebbe passarlo ad una funzione che lo confronta con una tabella di accettazione (stile firewall Iptables, se qualcuno ci ha lavorato) e ritorna un intero che è l'indirizzo del comando da eseguire. La tabella di accettazione andrebbe salvata sulla EEPROM, diciamo nei primi 100 Byte.
I comandi risiedono anch'essi nella EEPROM e sono tutti di 10 Byte, per cui se la funzione ritorna, a titolo di esempio, 42, e la tabella comandi segue nella EEPROM la tabella di accettazione, AVR leggerà i 10 Byte che partono dall'indirizzo 520 (100+42*10) poi eseguirà quanto indicato, leggendo poi (ed eseguendo) i comandi presenti agli indirizzi 530, 540, 550, ... fino al raggiungimento di un comando di "STOP".
A questo punto abbiamo 255 possibili comandi (ricordando che "0xF0", potrebbe essere "invia messaggio"), tra cui dovremo decidere "GET MESSAGE", "STORE MESSAGE", "STOP", "BRANCH",  "ACCEPT MESSAGE" (con le wildcard per la creazione della tabella di accettazione), ecc.
La parte che vedo più critica al momento è la gestione delle interruzioni soprattutto nelle operazioni lunghe (ad esempio la gestione di un cancello: se debbo attendere un minuto per chiudere non posso bloccare il tutto in attesa che sia passato il minuto, nè penso facile programmare "in concorrenza" su AVR).
Si dovrà definire o uno stack di comandi o delle interruzioni basate su timer AVR o (anche) su RTC (per questo preferivo il PCF8563 che ha un proprio interrupt).
Come dicevo più che un progetto sono "idee in libertà".
Mi piacerebbe avere la vostra opinione.
Ancora un augurio di un felicissimo Natale e un fantastico Anno Nuovo.
TT:
Title: Re: Domotica con Arduino
Post by: daviddream on Dec 28, 2010, 06:48 pm
Ciao a tutti,
io credo che per evitare problemi serva  un gateway che traduca ed integri i vari protocolli, di modo da poter inviare e ricevere i comandi e le info da dispositivi di diverse marche.
Io mi occupo di domotica da anni e purtroppo uno dei problemi più grossi è il dover sostituire parti di impianti perchè non si parlano tra loro.
Non è possibile usare N-gatewarduini che parlano tra di loro in seriale? :)
Title: Re: Domotica con Arduino
Post by: ticiotix on Dec 29, 2010, 09:25 am
Ciao Daviddream.
Hai sicuramente ragione sulla questione protocolli, anch'io infatti avevo pensato di utilizzarne per lo meno uno esistente, magari diffuso, per cercare di inserirsi sull'esistente e per dare flessibilità e gradualità al progetto: intanto creiamo un ArDomoController che funziona con sensori e attuatori sul mercato, (e con altri ArDomoController, per sistemi a intelligenza distribuita) poi iniziamo a progettare sensori ed attuatori (che saranno molto probabilmente più economici di quelli sul mercato...)
Ma il problema è (e tu che sei esperto potresti fare un analisi): quale/i protocollo/i potrebbero essere papabili?
Dovrebbero essere Open, documentati e abbastanza diffusi, compatibili con carrier a basso livello vari (RS485, CanBus, Ethernet,...) e non troppo complessi da gestire.
Ciao.
TT:
Title: Re: Domotica con Arduino
Post by: Guglio on Dec 29, 2010, 07:55 pm
Secondo me questo progetto non può andare avanti perchè tutti hanno esigenze diverse: c'è chi parla di diversi nodi, di un nodo centrale, chi di ethernet chi di RF...
Secondo me l'unica soluzione è copiare uno standard come X10 rendendolo "meno costoso" cioè almeno penso che queste ditte che vendono questi adattatori sparino prezzi assurdi ma non credo che l'elettronica all'interno di questi aggeggi sia così costosa
Quindi direi di partire pensando a come scopiazzare adattatori tipo X10, che più o meno servono a tutti (in una scatola di derivazione o dietro alla poltrona della nonna) e che sono anche la parte più difficile, poi si passa alla gestione dove si può fare un progetto generale e poi lo si modifica a seconda delle esigenze
Title: Re: Domotica con Arduino
Post by: Ambrogio on Dec 29, 2010, 11:27 pm
Ma no, secondo me non è vero. Si era trovata una strada che poteva mettere daccordo più o meno tutti. Siamo fermi alla realizzazione dell'hardware ... speriamo che non sia tutto morto ! Io potrò contribuire con qualche mia idea quando parleremo di protocollo ... per ora attendo ma non mi sembrava male ciò che è stato fatto fino ad ora.
Title: Re: Domotica con Arduino
Post by: ticiotix on Dec 30, 2010, 08:35 am
@ Ambrogio.
Se il problema è l'hardware quanto ho descritto nel mio messaggio precedente esiste già e funziona, o per lo meno minaccia di farlo (i led lampeggiano, la memoria si legge e scrive, l'orologio comunica l'ora e il termostato scatta). Ora, visto che dal punto di vista hardware sono decisamente un principiante potrei vedere di pubblicare lo schema (Fritzing?) per poterlo controllare ed eventualmente migliorare tutti insieme.
@ Guglio
Non sono del tutto d'accordo. Che tutti abbiano esigenze differenti è normale in impiantistica. In fase progettuale bisognerà essere altamente flessibili per poi poter implementare il maggior numero di esigenze possibili. E fin qui non è stato detto nulla che tagli fuori una qualche esigenza. Il protocollo di Ambrogio non ha problemi con RS485, CANBUS o Ethernet, nè con una implementazione centralizzata nè con intelligenza distribuita. E', semplicemente, ad un livello superiore. Poi, eventualmente, si penseranno alle implementazioni di basso livello per creare la colla logica fra protocollo e livelli hardware sottostanti. Sono invece d'accordo, come ho già detto, sul fatto che non fosse da disprezzare l'idea (sempreché possibile...) di usare un protocollo esistente, per le note ragioni. Ma visto che, prendendo in mano un listino dell'esistente, potremmo uscire con dei periferici ad un costo di un decimo dell'esistente, direi che potremmo andare benone così.

A questo punto secondo me bisogna procedere con la progettazione dell'intelligenza da mettere sulla/sulle centrali/e (Arduini) e sulla decisione della gestione dei periferici (pulsanti, relay, dimmer, ...).

Ciao
TT:
Title: Re: Domotica con Arduino
Post by: Simo89 on Dec 31, 2010, 10:59 am
Secondo me è inutile accavallare n progetti quando si era partiti con uno, anche per non buttare via il lavoro che i ragazzi che si sono trovati in skype hanno portato avanti fino a questo punto.

Putroppo in questo periodo sono stato un po preso e non ho potuto parteciparvi ma confido in un aggiornamento dopo le feste ;)
Title: Re: Domotica con Arduino
Post by: stefano72 on Jan 10, 2011, 10:02 pm
Ciao Ragazzi,
Buon Anno a tutti!
Da un po' nn c'è più movimento qui: quali sono le novità? Riprendiamo?
@Morodor, che news ci sono?
Ciao!
Title: Re: Domotica con Arduino
Post by: stenofa on Jan 11, 2011, 05:47 pm
si dai ragazzi!

riprecontiniziamo!
Title: Re: Domotica con Arduino
Post by: stefano72 on Jan 13, 2011, 07:17 pm
Ehi Ragazzi! Ma dove siete tutti??
Title: Re: Domotica con Arduino
Post by: bl4d3 on Jan 13, 2011, 07:37 pm
io sono qui :)
http://www.youtube.com/watch?v=2-TtJdUoWgI
Title: Re: Domotica con Arduino
Post by: stefano72 on Jan 13, 2011, 08:20 pm
@bl4d3: ho visto il tuo sito con il progetto; quindi c'è lo shield, iterfaccia ethernet+arduino; almeno è un inizio: mancherebbe qualche motorino di attuazione ad esempio x tapparelle o apertura/chiusura valvole termosifoni, gas etc e sensori specifici x gas, allagamento etc (ma questi si collegano sull'arduino locale, giusto?);
in pratica un arduino+shield in ogni stanza a 40? caduno chiavi in mano.
c'è anche modo di integrare microfono e una cassa locale, giusto?
mentre, della telecamera, dicevi che fosse già disponibile, come pure il sensore movimento.
se è così, si può già iniziare a giocare...!
Title: Re: Domotica con Arduino
Post by: Guglio on Jan 13, 2011, 09:42 pm
CHIBI Arduino, molto interessante... ma sono transciever multimaster? C'è un limite massimo di Chibi Arduini connessi fra loro?
E sopratutto non c'è modo di crearsi in casa / comprare solo la parte TX/RX abbattendo così di molto i costi?
Grazie
Title: Re: Domotica con Arduino
Post by: bl4d3 on Jan 14, 2011, 10:28 am
@stefano72 penso che con un relè si possa comandare il motore della tapparella o un'elettrovalvola o chi per esso, per integrare lo stream di una telecamera arduino non centra molto, recuperi direttamente lo stream mjpeg o mpeg4 o via rtsp e lo emebeddi nel telefono, alcune telecamere hanno la possibilità di triggerare chiamate http sul presentarsi di determinati eventi (motion detection. oscurata, ecc..) li si che potresti mandare una chiamata ad arduino per azionare qualcosa

@Giuglio i dispositivi che si possono collegare sono boh...mi sembrava di averlo letto una cifra > 100, se qualcuno vuole creare un modulino rx e tx che usa lo stack di chibi si faccia avanti, è sempre utile abbattere i costi!
Title: Re: Domotica con Arduino
Post by: astroz78 on Jan 14, 2011, 10:47 am
Signori, io ogni tanto, raramente, capito su questo forum e vedo che chiedete che fine abbiamo fatto...io, parlando per me, mi dovete scusare, ma stò veramente nella BIP...a lavoro massacro continuo e poi ho impegni musicali fittissimi che non mi consentono di fare altro!!!

Pure l'impianto di casa mia è quasi fermo...non trovo mai tempo per lavorarci!!!

Sarà così per almeno tutto gennaio, spero subito dopo di avere un po' di tempo...per allinearvi/allinearci!!!
Title: Re: Domotica con Arduino
Post by: Guglio on Jan 14, 2011, 09:55 pm
Astroz in bocca al lupo allora!

Se c'è qualche brav'anima che è in grado di estrarre uno schema per uno stack partendo dal chibi, quelli che hanno scelto la soluzione wireless (come me) protrebbero trovare una risposta alle proprie domande!


EDIT:

Mi correggo, gli schemi ci sono http://www.freaklabs.org/chibi/fl-avrusb32-dev.pdf
Anzi è nato prima come stack e poi è diventato arduino
http://freaklabs.org/index.php/Chibi-A-Simple-Open-Source-Wireless-Stack.html

Solo che io non ci capisco na cippa di come costruirne uno xD
Title: Re: Domotica con Arduino
Post by: giangi72 on Jan 19, 2011, 11:18 am
Domanda banale:
il master invia un segnale a tutti gli slave, es. lo slave 5 deve accendere una luce.
Tutti gli slave sono in ascolto ma

Ipotizzo il 2 ma gradirei una conferma.
Grazie
Title: Re: Domotica con Arduino
Post by: ticiotix on Jan 19, 2011, 01:34 pm
Ciao Giangi.
Un Serial.read() effettuato su uno slave "brucia" il proprio buffer non quello degli altri slave.
Ciao
TT:

Ps. Ma la Serial Class di Arduino gestisce anche le multidrop? Probabilmente sì, ma non ne sono certo.
Title: Re: Domotica con Arduino
Post by: giangi72 on Jan 19, 2011, 02:06 pm
Perfetto, grazie.
Title: Re: Domotica con Arduino
Post by: stefano72 on Jan 20, 2011, 06:34 pm
Raga, ma mi dite dove siete finiti tutti??
Qui il forum langue...! Almeno un aggiornamento!!
Title: Re: Domotica con Arduino
Post by: Enrico M. on Jan 21, 2011, 10:08 am
Salve a tutti. Io sono sempre in ascolto, mentre cerco di restare a galla in questo fine 2010-inizio 2011 un po' travagliato sul fronte del lavoro quotidiano.

Sul fronte domotico ho proseguito solo mentalmente: in un paio di settimane al massimo dovrei riuscire a tirare fuori la testa dalla melma in cui sono da circa 3 mesi, e vorrei qualche parere sull'impostazione che e maturata nella mia testa in quest'ultimo periodo.

Già vi anticipo che l'utilizzo della ethernet come dorsale dell'impianto mi spinge fortemente su sistemini linux embedded al posto dell'ethernet shield: costano più o meno lo stesso, ma garantiscono stabilità e performance incomparabili con questo (nemmeno troppo affidabile sentendo Astroz) shield.

La cosa che mi spaventa di più non è tanto il fatto che qualche volta si pianta (problema risolto in parte con la più recente versione - astroz ha la prima, quella senza l'auto reset), quanto il fatto che il chip usato permette al massimo 4 socket contemporaneamente: e se, come riscontrato sempre da Astroz (record di citazioni!), qualche volta se ne può perdere uno per strada, possono nel tempo anche finire per esaurirsi...

Quindi la mi nuova idea sarebbe questa:

ETH <--> LINUX <--> ARDUINO <--> I/O DOMOTICO

Ciao!


ps: ho nel mio taccuino un bella paginetta di "riassunto delle puntate precedenti", quella che avevo promesso di mettere nel playground: appena scollino la riporto online...
Title: Re: Domotica con Arduino
Post by: stefano72 on Jan 21, 2011, 02:02 pm
Ciao Enrico!
Almeno tu...!
In questo mese ho pensato la stessa cosa per *nix:
stavo lavorando a una soluzione con una miniITX e valutando un po' di sistemi operativi da QNX (proprietario :() o KolibriOS (FASM Open) a FreeSCO, passando per Syllable Server fino a soluzioni *nix Live quali Slitaz e Warry Puppy Linux per mettere in piedi il sistema...

MiniITX EPIA o INTEL con consumo 16-25W dai 60? + case con alimentatore 60-70W 40? + RAM 20? = 120? nuovo
Title: Re: Domotica con Arduino
Post by: Enrico M. on Jan 21, 2011, 02:49 pm
Ciao Stefano, ben ritrovato.

Io pensavo a cose MOLTO più embedded soprattutto perché ci sono dei cosini molto interessanti tipo questo:

http://bifferos.bizhat.com/

Che costano quanto un ethernet shield (38 euro) e, pur avendo un processore ridicolo, praticamente un 486, consentono di avere per la parta di networking qualcosa di -teoricamente- molto più solido di un chippino embedded da 4 socket massimo.

Non nego anche che da moltissimi anni lavoro con grandi soddisfazioni su macchine linux piccole e grandi, e quindi mi sento molto a mio agio nel networking in ambiente linux.

Infine quale matrimonio potrebbe essere migliore di quello tra Arduino e Linux (o varianti)?

Appena mi libero un pochino, conto di sostituire il mio termostato prototipale (Jeenode+vari plugs+serial lcd) con un nodo basato su questa soluzione.

Per quanto riguarda la distribuzione da adottare, ho usato recentemente una distro per sistemi embedded chiamata OpenWrt (pensata per router e cose del genere) che mi è sembrata poco esosa in termni di risorsa richieste. Certo vorrei qualcosa di, per quanto più possibile, read-only rispetto alla memoria flash da cui farò il bootstrap del sistema operativo, altrimenti il supporto andrebbe a quel paese molto presto (leggasi: wear-out).

Per compiti più tosti a livello computazionale, starei su soluzioni embedded basate su ARM, tipo BeagleBoard e simili: con soli 2W cè un sistema bello potente con eth, usb, audio in/out, una potenzialmente interessante interfaccia video, e con alcune versioni, pure wifi e bluetooth.

Poi lascerei sempre ad una Arduino (o sorelle) il collegamento con il mondo reale...
Title: Re: Domotica con Arduino
Post by: stefano72 on Jan 21, 2011, 08:48 pm
visto questo?

http://www.openpicus.com/cms/index.php?option=com_content&view=article&id=46&Itemid=60

Internet of things, sensori, wifi...