
Souliss è un framework per soluzioni domotiche distribuite basate su schede Arduino con interfaccia Android. Controlla dispostivi elettrici attraverso classici pulsanti o interfacce basate su smartphone e tablet, gestisci in remoto e programma le azioni da effettuare in base alla geolocalizzazione o alla temporizzazione.
Introduzione
Il mondo della domotica open-source è sicuramente vasto e ricco di interessanti soluzioni, le proposte in giro per la rete spesso si concentrano su software centralizzati in grado di interfacciarsi con diverse soluzioni hardware, principalmente di tipo commerciale. L'hardware in commercio, pur offrendo tecnologie relativamente diffuse, è caratterizzato da prezzi elevati e scarsa scalabilità, ciò ha frenato fino ad oggi un largo uso dell'automazione in casa. Si provi, ad esempio, ad automatizzare esclusivamente l'accesso al garage di casa, richiedendo la flessibilità di un sistema domotico completo; il costo non risulterebbe ragionevole, basta considerare i moduli tipicamente necessari: modulo gestione centralizzata, modulo ingressi, modulo uscita, modulo webserver per gestione da smartphone e/o sistema touch screen proprietario. Guardando alle recenti tecnologie ed i loro costi, come i moderni ed economici tablet Android e le schede di prototipazione basate su Arduino, risulta evidente che l'ingresso dell'open source lato hardware renderebbe i costi estremamente competivi, sopratutto per installazioni piccole. Da queste esigenze nasce il progetto Souliss, con l'obiettivo di sviluppare un framework completo in termini di software ed hardware, ma introducendo degli elementi di discontinuità: assenza di nodi centrali, logiche e funzionalità distribuite, comunicazione event-based, supporto di soluzioni di comunicazione multiple e forte integrazione per le piattaforme di interfaccia, come ad esempio Android.
Descrizione Tecnica
Il punto di partenza è stato nella scelta delle piattaforme hardware da utilizzare, decidendo inevitabilmente Arduino, principalmente per la comunità di supporto ed utilizzo molto vasta e la disponibilità di molte schede elettroniche basate su tale piattaforma. Le due schede per elezione sono Freakduino Chibi ed Arduino Ethernet, la prima dispone di una radio integrata a 2.4 GHz con gestione in hardware anche del protocollo MAC, scelta fondamentale per ridurre il carico lato software in termini di acks e gestione del carrier; la seconda include un controller TCP/IP con gestione contemporanea di quattro socket. Il primo nodo da sciogliere è stato l'integrazione di due piattaforme diverse all'interno dello stesso framework, garantendo interoperabililità del codice e virtualizzazione dei nodi. In pratica, rendere il codice utente indipendente dalla piattaforma hardware e dalla tipologia di nodo con cui comunicare; un nodo è raggingibile attraverso il suo indirizzo, senza doversi preoccupare del "percoso" che le informazioni dovranno seguire, introducendo funzionalità automatiche di bridging tra reti diverse e di routing all'interno della stessa rete. Un esempio, un nodo wireless ad uno wired posso comunicare passando attraverso un bridge (Freakduino Chibi + Ethernet Shield) con il codice invariante rispetto alla topologia della rete.
Un secondo aspetto di discontinuità è rappresentato dalla comunicazione basata su eventi, dove un nodo richiedente sottoscrive la richiesta di informazioni, ed il nodo sottoscritto che invia dati solo quando c'è un'effettiva variazione degli stessi; aggiungendo un meccanismo di verifica dell'integrità della comunicazione, al fine di garantire l'allineamento tra i dati nel sottoscritto e nel sottoscrivente. Per rendere il concetto più semplice, un nodo incaricato di rappresentare i dati verso l'applicazione Android, sottoscrive i dati in uno o più nodi nella rete. Il valore di integrità della comunicazione è inizialmente basso ed il nodo sottoscrivente tende ad effettuare richieste paragonabili al polling, il valore di integrità aumenta con l'aumentare del numero di frame ricevuti, rendendo il traferimento tendente al nullo, fino a quando non si verifica un'evento da comunicare al nodo sottoscrivente. Periodicamente, il sottoscrivente rinnova la sottoscrizione se non riceve dati in ingresso, in questo modo si effettua un allineamento in caso di riavvio o problemi di comunicazione sulla rete. Se il nodo sottoscritto non risponde, il valore di integrità si riduce fino a disattivare il canale di comunicazione. Questo meccanismo richiede una comunicazione peer-to-peer, dove ogni nodo può iniziare la comunicazione e sottoscrivere o spedire dati.
Nasce quindi il primo layer del progetto Souliss, chiamato vNet, permette di virtualizzare i nodi rendendo il codice utente indipendente dall'hardware e dall'architettura di rete utilizzata. Per ora sono supportate le comunicazioni via wireless point to point ed ethernet con rispettivi controller Atmel AT86RF230 e Wiznet W5100. Complessivamente vNet è strutturato per gestire fino a 5 interfacce di comunicazione diverse ed è in sviluppo il supporto per Microchip ENC28J60 ed RS485.
Nella figura seguente è mostrata la struttura di Souliss su tre layer: il già citato vNet per la parte di networking; il protocollo MaCaco per la gestione della comunicazione event-based; le librerie utente, racchiuse in Souliss. Nella scrittura del codice, l'utente interagisce esclusivamente con le API di Souliss, che a loro volta sfruttano il framework costituito da MaCaco e vNet. Ciò rende la programmazione dei nodi estremamente semplice, in Souliss sono offerte le comuni logiche in uso per applicazioni domotiche e le astrazioni per la comunicazione, riducendo la scrittura da parte dell'utente a cinquanta o poco più righe di codice, anche per reti complesse.
Interfaccia Utente
Se la domotica permette di rendere più comoda l'interazione con la casa e facilita la riduzione degli sprechi energetici, ha tra gli aspetti di interesse anche la gestione remota attraverso smartphone e tablet. La diffusione di Android rende reperibli dispositivi di interazione, come tablet da installare al muro con cifre che partono da cento euro, stesso dicasi per i cellullari di ultima generazione. Nasce dunque l'esigenza di controllare i dispositivi elettrici, non solo tramite pulsanti sparsi per la casa, ma anche attraverso nuove interazioni.
L'aspetto fondamentale è nel definire cosa debba essere eseguito nell'interfaccia Android e cosa nelle schede, con l'obiettivo di rendere possibile l'utilizzo di più interfacce contemporanee, senza dover ricorrere a sofisticati meccanismi di sincronizzazione. In Souliss, l'esecuzione delle logiche e lo stato dei comandi è gestito esclusivamente dalla scheda a cui l'oggetto da controllare è collegato. All'applicazione Android è demandata l'interazione utente e la gestione di scenari e programmi, come ad esempio le azioni basate su geolocalizzazione del cellullare o tablet o quelle temporizzate. La comunicazione avviene con meccanismo server/client, dove l'applicazione Android raccoglie via JSON dati da un nodo server, che in peer-to-peer raccoglie i dati da tutta la rete. Allo stesso modo i comandi passano attraverso tale nodo, con la caratteristica che l'azione da intraprendere viene computata nel nodo a cui l'oggetto (per banalità, la lampadina) è effettivamente collegato. Questa struttura rende la rete robusta, la perdita di un nodo affligge solo le funzioni a cui era demandato. Allo stesso modo la perdita del nodo JSON, fa perdere la gestione via Android, ma non inficia quella attraverso le interazioni hardware e l'esecuzione delle logiche. La struttura di base permette anche meccanismi di ridondanza.
Possibilità di interazione
Il punto di forza in un sistema domotico è nelle possibili interazioni con i dispositivi inseriti all'interno della casa, se per tutti i carichi elettrici gestibili con relé non si pongo problemi, la difficoltà aumenta nell'integrazione con condizionatori d'aria, televisioni, computer ed altri dispositivi che non possono essere semplicemente alimentati. Esistono due possibili strade, entrambe percorribili: la prima è nell'integrazione attraverso infrarossi, pur non essendo ancora disponibile nella versione rilasciata, è in sviluppo un'integrazione per inviare comandi attraverso sistemi ad IrDA; la seconda possibilità è nella gestione attraverso applicazioni dedicate via ethernet. Molti dispositivi offrono applicazioni di gestione remote attraverso connessione ethernet, e in futuro ci sarà un'espansione in tal senso. Un'ulteriore possibilità è nell'integrazione del framework Souliss su piattaforme diverse. Ad esempio, nulla vieta di interagire con i nodi della rete, non attraverso JSON ma direttamente scambiando frame vNet su TCP/IP. La gestione di socket TCP è comune in molti strumenti di programmazione, questo spiega come mai si usi TCP in vNet, forzandolo ad un funzionamento in peer-to-peer. L'alternativa sarebbe stata nell'utilizzo della comuncazione direttamente al livello MAC, come viene fatto per i moduli wireless.
Hardware Supportato
Uno degli obiettivi del progetto è quello di sviluppare e produrre una scheda dedicata, pronta all'uso e tale da permettere installazioni pulite. Attualmente sono iniziate alcune collaborazioni per supportare hardware con tali caratteristiche, anche se non progettato dal team di Souliss. La prima scheda pronta per l'installazione (non di prototipazione) che verrà supportata dal progetto è la DINo di KMTronic, basata su Arduino monta come microcontrollore l'ATmega 328P ed include: il controller ethernet ENC28J60, quattro ingressi optoisolati e quattro relé pilotati da darlington. I driver e l'integrazione in vNet sono in fase di sviluppo.
Le schede attualmente supportate e la relativa funzionalità di rete sono riportate di seguito:
Download del codice
Il codice (in versione Alpha) del progetto è rilasciato sotto licenza open-source GNU General Public License version 3 ed è disponibile attraverso SourceForge, seguendo il link è possibile reperire il codice da compilare e caricare sulle schede ed il client Android.
Conclusioni
I margini di sviluppo per Souliss sono ampi, l'obiettivo è quello di offrire nel tempo una soluzione integrata in in termini di hardware e software, sfruttando al massimo il contributo della comunità open-source per ridurre i tempi di sviluppo e migliorare la qualità e le funzionalità complessive.

l’utilizzo della domotica in casa è uno dei miei grandi sogni! ma non la domotica semplice, io intendo creare una vera e propria rete nella propria abitazione per semplificare, migliorare la vita delle persone e abbattere i consumi nelle abitazioni…
il tuo progetto è molto interessante, ci possiamo sentire in privato per un brain storming?
dobbiamo cambiare questa italia!!!!
Grandi ditte stanno studiando implementazioni domotiche da molti anni, la più conosciuta, da noi, e’ BTicino ma in tutto il mondo sono veramente molte.
Credo che sia molto difficile fare meglio di loro dato che hanno impiegato immense risorse per costruire interfacce utente e attuatori ormai maturi e comodissimi ben sapendo che sta per scoppiare questo mercato.
Inoltre e’ un campo difficile, si richiedono certificazioni, costosi stampi, materiali ignifughi, grande affidabilità e grande resistenza alle extratensioni. Altrimenti il rischio e’ che al primo fulmine si spenga tutto.
Ho grossi dubbi che con risorse limitate si possa arrivare a qualcosa di ergonomicamente valido, sufficientemente affidabile e talmente poco costoso da poter controllare una intera abitazione che se si guarda bene e’ composta da centinaia di punti di controllo.
Comunque complimenti per il coraggio!
Livio Cicala
Ciao, è un Nexus, ma cellullare e foto non sono miei!
Saluti,
Dario.
L’ambizione sembrerebbe eccessiva, però se vuoi scambiare due chiacchiere siamo (sul progetto siamo in due) a disposizione.
Saluti,
Dario.
Ciao Livio,
innanzitutto grazie per il tuo commento. Il progetto è bel lontano dall’essere completo e non punta a scardinare la forza dei grandi marchi, ma vorrebbe rappresentare un diverso punto di vista.
Gli ultimi decenni hanno dimostrato la forza dell’open source, se Souliss riuscisse ad essere un sasso nello stagno, già avrebbe superato le ambizioni iniziali.
Saluti,
Dario.
Concordo in pieno con quello che dici.
I miei dubbi nascono da considerazioni pratiche che, a ben vedere, hanno poca relazione con la ricerca di avanguardia che stai facendo.
Anche a me piacerebbe unificare tutto, e dare un IP ad ogni cosa, ma non riesco a intravedere un modo di portare in pratica queste idee con prezzi ed affidabilità ragionevoli, se non per poche utenze di prova.
Comunque sono argomenti molto interessanti.
ciao
Livio
Ciao Livio,
l’affidabilità è sicuramente un aspetto fondamentale, ma non mi risulta che i moduli domotici commerciali, come quelli BTicino o di altri produttori offrano azionamenti meccanici integrati, che comunque possono essere aggiunti esternamente a qualsiasi sistema.
Da notare che il sistema non è basato su IP, pur supportandolo, ma unisce la comunicazione via Ethernet, Wireless punto-punto ed in futuro su bus RS485.
Il punto è nel costo e nella scarsa scalabilità dei sistemi domotici in commercio, credo che in quella direzione ci siano elevati margini di miglioramento.
Saluti,
Dario.
Sono tanti anni che ci penso.
Per me il sistema del futuro dovrebbe essere come segue:
– Ogni oggetto (lampadina, boiler, pompa dell’acqua calda etc..) dovrebbe avere il suo indirizzo IP univoco (IPV6 perche’ IPV4 non basta se gli utenti diventano milioni)
– Non ci dovrebbe essere un bus fisico ma ogni oggetto dovrebbe gestire se stesso e comunicare con qualcosa di simile allo ZigBee (purtroppo nessun protocollo wireless attuale, con i miseri 13 canali che hanno, sarebbe in grado di sopportare in modo affidabile un condominio con tutti gli appartamenti che mandano segnali contemporaneamente)
In questo modo tutti gli attuatori(lampadine atc..) sarebbero direttamente collegati alla rete e quindi fino a che c’e’ il 220, potrebbe rompersene uno, ma tutto il resto continuerebbe a funzionare.
In caso di guasto al controller centrale basterebbe un telecomando wireless manuale per potersi arrangiare ad accendere e spegnere, uno per uno, manualmente le cose essenziali come le luci e il riscaldamento.
Qualunque sistema dotato invece di rete digitale su fili che sia una 485 o altro, mi preoccuperebbe troppo e non la userei come controllo totale di TUTTE le utenze, perche’ per sua natura potrebbe causare un blocco totale inaccettabile.
Anche se le probabilità di blocco totale fossero abbastanza basse, ad esempio un sistema su diecimila ogni anno, quando si cominciasse a installarli in tutte le abitazioni si farebbe in fretta a scontentare centinaia di utenti all’anno e rovinarsi il nome del prodotto.
Dunque secondo me c’e’ un solo modo:
– tutto wireless
– tutto autonomo (niente schede con otto relè o simili)
– tutto IP
(peccato che le tecnologie per farlo non ci siano ancora)
Davvero una interessante discussione!
Da anni attendevo qualcuno con cui parlare di queste cose.
ciao
Livio
A proposito di Open Source… tutto il software di BTicino e’ Open Source, ho fatto modifiche anche io a pezzi di software che avevano dimenticato di finire. E credo proprio che tutti i costruttori di dispositivi per la domotica mettano a disposizione un SDK in modo che gli utenti possano implementare ogni genere di funzioni speciali.
Il problema in queste cose sono gli attuatori, i relè statici, gli interruttori, i potenziometri che devono essere costruiti con la affidabilità cui sono abituati gli elettricisti. Un impianto elettrico di casa va avanti normalmente decine di anni senza nessun guasto.
Ad esempio non si tratta solo di fare interruttori controllati via IP ma anche di dotarli di un normale interruttore che funzioni manualmente in caso di guasti al controllo centrale. In una installazione reale non e’ assolutamente accettabile di stare al freddo, al buio e non fare piu’ la doccia fino a che qualcuno riesce a cambiare la ram o a sistemare un aggiornamento di firmware andato storto.
ciao
Livio
A proposito degli interruttori con azionamento anche manuale…
La tendenza attuale e’ fare interruttori normalissimi, a vederli da fuori sono come i soliti, rassicuranti interruttori di una volta, e funzionano sicuramente anche in manuale. Poi in aggiunta funzionano anche se controllati da remoto via rete.
Qui si puo’ avere una idea sull’interfaccia utente e sulle comunicazioni. http://www.bticino.it/cons/content/dettaglio/domotica/bt_37/comunicazione
Qui si possono vedere vari tipi di interruttori:
http://www.bticino.it/cons/content/dettaglio/linee/bt_110/livinglight
http://www.bticino.it/cons/content/dettaglio/prodotti/bt_20/Comandi_Radio/bt_5
Intendiamoci non sto ASSOLUTAMENTE facendo pubblicità a BTicino gli unici contatti con i loro prodotti li ho avuti nell’aiutare un mio amico a mettere a posto il software BTicino per casa sua.
ciao
Livio
Ciao Livio,
non vanno senza il modulo centrale o in caso di fault sul bus, ad esempio Souliss riesce a svolgere alcune funzioni elementari anche senza rete, per via della logica distribuita sui nodi e non gestita da un nodo centrale.
Relativamente all’architettura di cui parlavi, le reti IP non nascono per la domotica e non sono adatte, pur essendo versatili e parzialmente imprenscindibili. Ma un oggetto semplice, come una lampadina, capace di comunicare su reti IP è un limite nei costi.
lu
Molto più semplice avere delle schede, ad esempio una per stanza, con gli input ed output per gestire i carichi locali. Souliss, come molti dei sistemi domotici si pongono in quest’ottica.
Esistono soluzioni, come quelle basate su Insteneon o quelle annunciate da Google, che prevedono dispositivi collegati in wireless punto-punto. Souliss prevede la connessione wireless punto-punto, ma a livello di scheda e non di singolo carico elettrico.
Saluti,
Dario.
Non contano gli RFID ma il concetto globale, la visione.
Guarda il video…
I video su YouTube non funzionano neanche a me fino a che sono “embeddati” in questo sito,
per vederli devi andare in alto a destra e premere la croce grigia a destra del “CLOSE” anche lui grigio e poco visibile.
Esatto!
Proprio come dici tu: “un oggetto semplice, come una lampadina, capace di comunicare su reti IP è un limite nei costi” e come dico io: “e’ presto, aspettiamo qualche anno”
Pero’ e’ questa la vera “Internet degli oggetti” ed e’ l’unico metodo che permetterà di fare la vera DOMOTICA.
IPV6 puo’ gestire circa 3,4 × 10 alla 38 indirizzi per cui per ogni metro quadrato di superficie terrestre, si potrebbero avere 655.570.793.348.866.943.898.599 indirizzi IPv6 unici, sufficienti per dare un IP univoco non solo alle lampadine ma ad ogni oggetto grande e piccolo in gran parte della nostra galassia.
Io preferisco attendere qualche anno che la tecnologia wireless sia pronta piuttosto che fare unita’ centrali dalle quali partono, a mo di ragno, venti cavi che mi girano per tutta la stanza. Oltretutto per regolare le lampade questi cavi sarebbero percorsi da tensioni parzializzate, producendo disturbi di ogni genere a causa della loro lunghezza. Invece se ogni lampadina si regolasse da sola i disturbi si ridurrebbero a zero (e i cavi di potenza potrebbero essere piazzati in tubi metallici riducendo a zero anche ogni, vero o presunto, effetto biologico) Inoltre tra breve le lampadine saranno tutte o fluorescenti oppure a led ed e’ bene che si regolino da sole perché i classici dimmer vanno bene solo per le lampadine a incandescenza (che saranno vietate entro pochi anni).
Cominciamo a studiare la vera domotica del futuro ed io parteciperò attivamente. Non vedo l’ora di riempire la casa di sensori, cambiare colore alle luci (rigorosamente a led di tre colori) a seconda dell’ora del giorno e regolare i termosifoni uno per uno.
Ho fatto un piccolo conto e il numero di punti di controllo (attuatori e sensori) per casa mia si aggira tra i 300 e i 500 (dato che l’appetito vien mangiando ho incluso la misurazione della temperatura e della luce in ogni stanza, l’ umidità del terreno dell’orto e altre piacevolezze del genere)
INTERESSANTISSIMA DISCUSSIONE
Dimmi le tue idee !
Spero proprio che proseguiremo a studiare attivamente questo argomento.
ciao
Livio
Ciao Livio,
non hai bisogno di IPv6, perché al limite utilizzeresti una rete privata di lampadine con un router a separarla dalla parte pubblica di internet.
Onestamente, credo si diffonderanno dispositivi “intelligenti” ma non fino alla lampadina. Per dire, la lavatrice, posso aspettarmi che abbia un’interfaccia domotica, ma non la lampadina.
Non per essere frainteso, esistono già i bulbi con connessione wireless a 2.4 GHz da collegare alle lampadine classiche, rendendole “intelligenti”. Ma credo che il limite della domotica sia nei costi, arrivare a spendere anche 20/30 euro per una lampadina risulterebbe eccessivo, almeno nel breve periodo.
Saluti,
Dario.
Molte delle idee che leggevo da piccolo (negli anni 60), come fantascienza, ora sono ampiamente superate dalla pratica.
Sono già a buon punto sui regolatori per lampade a led. La lampade con led di tre colori possono creare tutti i colori possibili con un efficienza almeno doppia rispetto alle alogene. Sono già arrivato ad un costo approssimativo della elettronica intorno al 10% del costo dei led, naturalmente partono dal 220v-AC, non hanno trasformatori e sono piccolissimi.
Riguardo alla comunicazione, già ora un transceiver ZigBee non cambia di molto il costo totale, ma tra pochi anni sara’ trascurabile. I moduli ZigBee premontati MRF24J40MA, che ho comprato per le prove, sono costati 9 Euro da Farnell (codice Farnell 1630202) e sono carissimi perché li ha montati Microchip stessa. Il costo del chip MRF24J40 (per grandi numeri) è sotto ai due euro e sono disponibili i progetti del PCB (formato Eagle) che includono anche l’antenna sullo stampato.
Consiglio a tutti un giro qui:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2113¶m=en520412
e anche qui:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2113¶m=en520416
ciao
Livio
Caspita!
Il cms ha “strambizzato” i LINK!
Provo a ripeterli.
Consiglio a tutti un giro qui: LINK
e anche qui: LINK
Se anche questi LINK non funzionano andate su http://www.microchip.com e cercate ZigBee.
ciao a tutti
Livio
In caso di risposta affermativa vi pregherei di spostarvi con la discussione nel Forum per non essere OT
Mi scuso se stavo andando OT,
la mia esperienza di forum e’ molto poca.
Vorrei rispondere ma non so dove spostarmi, a me sembra che l’argomento Domotica-Souliss sia qui. C’e’ anche da un altra parte ?
OK, probabilmente la confusione è dovuta a shine 🙂
Non riesco a comprendere se sia un co-autore o lo stesso veseo. Forse è meglio che ti registri (cosi, tra l’altro, non devo moderarti)
Se sono OT, mi scuso ancora, ho cercato ma non ho trovato un thread piu’ adatto dove rispondere. Se sto sbagliando, ti prego Emanuele, di spostarci da un altra parte.
Per la Domotica con Soulisse e Arduino i “dimmer” sono essenziali!
Risposta per shine sui “dimmer”
————————————————————————————–
Probabilmente vuoi uscire dall’Arduino in PWM
Dovresti spiegarmi quale tipo di lampade vuoi “dimmare”
Se si tratta di led esistono moduli gia’ fatti: Farnell 1738292 – Circa 9 euro
Se si tratta di lampade a incandescenza ti ricordo che presto spariranno dal mercato.
Se invece vuoi regolare la luce delle lampade fluorescenti ti consiglio di evitarlo
perche’ si regolano malissimo, lampeggiano, scaldano, puzzano, e molti modelli
si bruciano in meno di un ora.
————————————————————————————–
sono co-autore di souliss, mi occupo dello sviluppo lato client (Android) e di alcuni dei sensori supportati dal sistema.
Ho cercato a lungo un progetto open source per la home automation e quando ho scovato Souliss lo scorso dicembre me ne sono innamorato: ricordo, per chi fosse interessato, che altra documentazione tecnica è disponibile sul wiki del progetto:
http://sourceforge.net/p/veseo-souliss/wiki/
OK, grazie del chiarimento 🙂
Dalla direttiva della Unione Europea del 18 MARZO 2009:
“….a settembre del 2011, toccherà alle lampadine da 60W, e infine, un anno dopo, a tutte le altre (da 40, 25 e 15 Watt). Dal settembre 2012 saranno immesse sul mercato solo lampade di efficienza energetica A, B o C, indipendentemente dalla loro potenza”
Fino al 2016 sara’ ancora possibile usare le costose alogene allo “xenon” in classe “C” poi via anche quelle, solo più classe “A” e “B” (LED e Fluorescenti)
Per cui, visto che le fluorescenti non si regolano, tra qualche anno da “dimmare” resteranno solo i LED.
Negli anni scorsi stavo progettando dimmer per lampade a incandescenza da pilotare in PWM, ho molta esperienza in questo campo, perché già nel 1981 costruivo dimmer per impianti da discoteca pilotati in rete, se vuoi ti mando delle idee su come farli ma ho interrotto il progetto a causa di questa direttiva europea. Ti consiglio quindi di fare come me e passare direttamente ai dimmer per LED.
Tra breve i LED costeranno meno delle fluorescenti e già le superano con una efficienza almeno doppia, per cui tra poco spariranno anche le fluorescenti. Inoltre i LED non contengono sostanze tossiche (mercurio ad esempio) e i dimmer per led non fanno disturbi radio.
E poi con i led e’ possibile ottenere oltre al “dimming” anche ogni colore possibile.
————————————————-
Mi scuso con tutti, sto scrivendo troppo, ma l’argomento e’ molto interessante e non riesco a tenermi.
Ciao a tutti
Livio
Ho aperto una discussione sul forum, in modo da poter continuare questo interessante confronto.
Saluti,
Dario.
http://it.emcelettronica.com/forum/applicazioni-domotiche-e-souliss
Riguardo alla necessita’ di IPV6 leggi l’articolo seguente:
http://it.emcelettronica.com/internet-delle-cose-che-cos%C3%A8
e sopratutto guarda il video che c’e’ in fondo.
ciao
Ciao Livio,
non riesco a vedere il video, ma quanto discusso in quell’articolo prescinde dall’IPv6 e trova un’applicazione attuale nella “realtà aumentata” non basata su RFID.
L’IPv6 servirà a rendere disponibili un maggior numero di indirizzi pubblici, ma resteranno presenti gli indirizzi privati e le reti IPv4. Il PC di casa, ha sempre e comunque un indirizzo privato, gestito attraverso il router/NAT per la comunicazione con gli indirizzi pubblici (quelli di un sito web ad esempio).
Saluti,
Dario.
Una cosa che mi ha molto interessato di questo progetto è la sua concezione “informatica” piuttosto che “elettronica”.
Questa visione “da programmatori” si basa quindi su hardware pre-esistente (Arduino appunto) per poi concentrare le energie nel software, appunto.
L’approccio è nettamente diverso rispetto a quello classico dell’elettronico che invece parte dall’hardware (almeno per quello che mi riguarda).
Questo diverso punto di vista del progetto può aprire interessanti orizzonti ai programmatori a basso livello (asm e c) facendoli entrare in contatto con l’innumerevole panorama di applicazioni che la programmazione ad alto livello dispone.
L’integrazione con Android ne è un esempio.
Allo stesso tempo, l’esperienza in elettronica può semplificare a livello hardware quello che spesso viene realizzato con castelletti di schede (parlo in generale) e quindi permetterne la produzione in serie con relativa entrata competitiva in commercio.
Condividere le esperienze, scambiare i punti di vista, migliorare ed adattare l’approccio al progetto, sono la chiave del rapido sviluppo, l’interazione tra elettronici e programmatori è la porta di accesso all’innovazione!
E’ verissimo che la “natura informatica” del progetto permette di avvicinare anche le persone meno esperte in elettronica, come me ad esempio. Sono partito dalle basi, studiando a 32 anni la legge di ohm, le resistenze ed il funzionamento base dei transistor, non mi vergogno ad ammetterlo.
Da questo punto di vista Arduino mi ha semplificato le cose moltissimo, perchè sono bastate poche settimane per arrivare a risultati concreti ed apprezzabili. Da lì in poi la strada è stata in discesa, volevo poter controllare Souliss dal cellulare e mi sono cimentato con lo sviluppo del client Android, “forte” della mia esperienza sul market ufficiale.
Il rovescio della medaglia, per ora, consiste nella curva molto ripida di apprendimento: il framework presenta ancora diversi aspetti oscuri e poco documentati, è necessario un notevole impegno per superare le difficoltà iniziali e spesso la pazienza non basta: per fortuna Dario è disponibilissimo alle richieste di chiarimenti ed insieme manteniamo aggiornata la documentazione tecnica: in questo modo possiamo imparare noi stessi dalle difficoltà affrontate da chi decide di provare Souliss, rendendo progressivamente più chiaro e semplice l’uso delle librerie.
Ciao Emanuele,
nel mio punto di vista, la verità è invece nel mezzo. Fondamentalmente Souliss è un progetto su cui c’è un bassissimo investimento in denaro ed un forte investimento in tempo, questo inevitabilmente ha fatto si che il progetto fosse sviluppato su schede di prototipazione “standard”.
La scelta di Arduino è stata dettata da due fattori, la comunità ed il costo delle schede. In realtà è il primo fattore ad imporre il secondo, vista l’elevata disponibilità di schede similari con peculiarità diverse.
Ciò rende possibile sviluppare su piattaforme wireless o wired a costi bassisimi, rendendo di fatto possibili progetti ad investimenti zero (o quasi).
Di conseguenza, diventa il software ad imporre l’hardware e non viceversa, chiunque voglia sviluppare una piattaforma di prototipazione a basso costo, si imbatte in Arduino.
Souliss nasce nello stesso vortice, parte dal software perché privo di investimenti iniziali, si basa su Arduino per disporre di una gamma sufficientemente vasta ed economica. Questo spiega il perché il progetto sia visto nella sua accezione informatica.
Non nascondo, che per un non informatico come me, l’idea sia stata quella di partire dall’hardware. Non avendo fondi significativi da investire per la produzione di un lotto, tentai di ottenere, senza successo, sponsorizzazioni tecniche. A dire il vero,
vedere il progetto a cui lavoro come un progetto informatico, suona strano. Nella realtà, la standardizzazione dell’hardware relega lo stesso ad un ruolo di secondo piano e come spesso discusso con Alessandro, co-fondatore del progetto, per un utente medio l’interazione utente è l’aspetto più importante. Una buona interfaccia resta nella mente, mentre una scheda con optoisolatori e regolazione DC/DC per ridurre le perdite finisce presto nel dimenticatoio.
Se è vero che Souliss è partito dal software, è anche vero che non ha dimenticato l’hardware, posto come obiettivo fin dall’inizio del progetto ma collocato cronologicamente a valle dello stesso. La speranza è di arrivare all’obiettivo e non relegare le installazioni ad una pila di shields.
Ad oggi, proponendo Souliss siamo riusciti ad ottenere l’attenzione di alcuni produttori di hardware per applicazioni DIY, come KMTronic che sponsorizza il progetto con la sua DINo.
La previsione è di supportare DINo a pieno, rendendo Souliss un progetto con una scheda hardware con 4 ingressi optoisolati e 4 relé, un primo passo ma fondamentale.
Il bello è che tutto è capitato in modo inaspettato, inizialmente l’obiettivo era quello di sviluppare internamente una scheda dedicata a Souliss, con caratteristiche ben diverse da DINo.
Nel tempo il progetto si è posto in un’ottica diversa, per sviluppare una scheda interna servono fondi attualmente non disponibili, quindi ci siamo proposti come incubatori e l’integrazione con DINo sarà il primo risultato.
L’obiettivo è quello di supportare diverse soluzioni hardware, DINo sarà la prima ma non l’utima, una seconda scheda con un diverso produttore è in cantiere e speriamo che la visibilità di questo contest ci permetta di aggiungerne altre. Dopotutto, Souliss è nato come framework e supporta fin dalla nascita diversi controller per la comunicazione verso l’esterno.
I prossimi passi dal punto di vista hardware, oltre che l’integrazione di DINo ed in generale del chip ENC28J60, prevederanno l’utilizzo di RS485. La sfida nell’utilizzare RS485 è molto interessante, Souliss richiede il peer-to-peer e non un semplice master/slave ed i chip per RS485 offrono solo il livello PHY e non il MAC come tutti gli altri controller utilizzati fino ad ora.
Souliss è aperto a chi volesse integrare il proprio hardware o costruirne uno attorno al progetto.
Saluti,
Dario.
Pensi che una integrazione con il nostro FTpmicro sia fattibile?
Sto realizzando una scheda di interfaccia verso il mondo esterno per FTPmicro (display, relè, ingressi vari, etc) semmai possiamo discuterne 🙂
Ciao Rosario,
il problema che poni è di primo piano, ma in molti casi il controsenso non è l’eccezione bensi la regola.
Un sistema domotico commerciale completo (gestione remota dall’esterno, touch screen ed altro) introduce un consumo aggiuntivo che può compensare solo la distrazione o l’incuria verso il risparmio energetico.
Provo con un esempio, se dimentichiamo spesso di spegnere le luci non utilizzate, la domotica può aiutare a ridurre i consumi. Ma se il comportamento è di per se virtuoso, la domotica non può dare un’aiuto significativo.
Relativamente alle alimentazioni, molto dipende dall’hardware utilizzato e non è facile generalizzare.
Per un’installazione DIY con un limitato numero di relé con bobbina a 5V è possibile pensare agli alimentatori USB da 1A, sono molto economici (intorno ai 5 euro).
Per un’installazione con molte schede e relé da 12/24V esistono in commercio alimentatori switching con prezzi da 20/30 euro.
Se si utilizzano alimentatori USB è bene considerare che non sono progettati per lavorare 24h e di conseguenza risulta utile non sfruttarli a pieno della loro capacità nominale.
Saluti,
Dario.
Ciao Emanuale,
grazie per l’interesse nel progetto.
In linea generale fare il porting da AVR a PIC è fattibile, ma il problema rimarrebbe nella manutenzione del codice. Lo sviluppo di Souliss è ancora molto vivace e mantenere due versioni in parallelo risulterebbe troppo oneroso.
Una strada più rapida potrebbe essere lo sviluppo di una scheda basata su AVR con uno dei controller supportati (di cui alcuni in sviluppo):
– W5100 o ENC28J60 per Ethernet,
– AT86RF230 o AT86RF231 per Wireless 2.4GHz / 900 MHz point-to-point,
– RS485.
Definito il processore e ed il controller per l’interfaccia di comunicazione, la scheda può avere diverse declinazioni, in base alle esigenze.
Io ad esempio, credo molto in una scheda con interfaccia wireless, ed un’elevata densità di I/O optoisolati ma con relé meccanici o allo stato solido offboard. Questa soluzione credo possa rendere molto economica l’installazione: pochi fili, una scheda per stanza (domotica+antifurto) e l’installazione solo dei relé necessari.
Una scheda di questo tipo si presta bene a casi in cui il numero di ingressi è predominante, permette l’interazione tra schede (integrazione antifurto ad esempio) senza l’ausilio di relé.
Ogni idea o collaborazione è la benvenuta.
Saluti,
Dario.
Il mio cellullare ha un alimentatore switching che di targa fa 20W in ingresso e 5W in uscita quindi con rendimento del 25%.
Il rate di uscita e’ 5V e 1A.
Salendo con i prezzi si possono trovare rendimenti mifliori, comunque i consumi reali sono tipicamente minori di quelli dichiarati, ad esempio
Alimentatori switching da 12 o 24V hanno efficenze migliori, ma e’ importante usare schede con regolazione switching e non lineare, come quelle di Olimex.
Dario.
Ciao Livio,
se si realizza un alimentatore a 5V significa supporre di alimentare anche i relé allo stesso modo, quindi 2mA risulterebbero insufficienti. Il rate giusto rimarrebbe 1A.
Se invece si passa ad alimentatori 12/24V, la riduzione può essere fatta sulla scheda a mezzo di DC/DC converter.
Saluti,
Dario.
Caro Veseo
Ho letto che per i nodi bastano 25 mA.
Per fare 5 volt con circa 25 mA, e fino a un massimo di 100 mA circa, so come comporre un alimentatore semplicissimo con efficienza oltre il 90%, facilmente realizzabile DIY, con pochi componenti.
Se puo’ essere utile scrivimi e mettero’ insieme schemi, PCB e piani di montaggio.
ciao
Livio
Ciao Livio,
sarebbe molto interessante se lo postassi nel Forum, sotto un nuovo argomento, cosi semmai ne discutiamo tutti insieme 🙂
Nei post parlavate di 25mA… per maggiori potenze consiglio di comprare i normali alimentatori switching da 5V o da 12Volt, ce ne sono molti in commercio e normalmente vanno dal 70% al 90% di efficienza.
Sto ugualmente preparando un articolo con i miei mini alimentatori, quando sara’ pubblicato ti avverto.
Ciao
Livio
Caro Livio,
ti ringrazo per la disponibilità. Puoi inviarmi gli schemi al mio indirizzo di posta elettronica visibile sul mio profilo. Non appena avrò realizzato e provato i primi nodi vi farò sapere. Grazie
Rosario
Caro Livio,
invia gli schemi anche sul forum. Sono curioso della soluzione, ti confesso che ho cercato una soluzione in molti modi ma tutti presentavano problemi (costo, complessità, volume). Saluti
Rosario
In questo periodo non ho il tempo di completare il progetto e di scrivere un articolo adeguato (stampati, piani di montaggio, immagini in 3D etc…) Per cui allego solo gli schemi di principio, abbastanza dettagliati, ma ancora da ottimizzare per ottenere la massima efficienza alla corrente esatta che vi necessita.
Il principio è semplice: un ponte di diodi genera 310 volt CC su un condensatore da elettrolitico da 1uF 400volt, poi un MJE13002 (BJT da 700 volt) genera un’onda quadra che infine un trasformatore toroidale da circa 15mm di diametro trasforma da circa 400 volt a circa 6 volt. Se si tengono ben separate le spire primarie e secondarie sul toroide e si usa filo isolato per il secondario, l’isolamento è garantito. Indicativamente, per le versioni a transistor, i due avvolgimenti sono da 50mH e 50uH (200 spire e 7 spire). Una volta che hai qualcosa di più di 5 volt raddrizzati da un diodo su un condensatore da 100uF aggiungi uno zener da 5 volt che blocca la tensione a 5 volt anche se il consumo si abbassa.
Un buon bilanciamento dei valori permette di ottenere rendimenti molti alti (sempre che il consumo sia di pochi mA e costante)
Con l’aggiunta di un condensatore da 150nF 400volt si ottiene di caricare la rete elettrica con un carico prevalentemente capacitivo che potrebbe addirittura consumare meno di ZERO, cioè far andare il contatore più piano, bilanciando eventuali carichi induttivi presenti nell’impianto (ad esempio lampade al neon con reattore induttivo)
Prima del ponte è anche bene aggiungere un resistore di basso valore (da 100 a 1000 ohm a seconda
Il circuito è semplicissimo, una dozzina di componenti. Con un foto accoppiatore e qualche componente in più si può fare un circuito migliorato in grado di fornire un’alta efficienza anche con consumi di corrente variabili. E’ possibile semplificare ulteriormente e ottenere correnti fino a 600mA (ma una efficienza un po’ inferiore) usando un integrato apposito (NCP1200) che costa solo mezzo dollaro. Con lo NCP1200 è possibile commutare a frequenze più alte e ridurre di molto il numero di spire per rendere il trasformatore più facilmente realizzabile.
Qui non vedo bottoni per allegare documentazione (mi scuso con tutti ma non sono un bloggatore esperto) per cui aggiungo un link al mio sito per scaricare gli schemi e il DataSheet del NCP1200: http://www.freetw.net/downloads/AC220_to_DC.zip
ciao a tutti
Livio