Arduino Forum

International => Italiano => Megatopic => Topic started by: veseo on Nov 24, 2011, 12:17 am

Title: Souliss, Domotica e IoT basata su Arduino ed Android
Post by: veseo on Nov 24, 2011, 12:17 am
[AGGIORNAMENTO]

Il progetto in quest'ulitmo anno ha subito diverse modifiche ed alcuni aspetti sono diversi da quanto ipotizzato nella prima parte di questo topic, maggiori informazioni sono disponibili a fine topic oppure sul sito del progetto.

[/AGGIORNAMENTO]

Buongiorno,

vi presento la prima parte di un lavoro iniziato alcuni mesi fa, si tratta di una collezione di librerie orientate alla Domotica. E' un framework composto da tre librerie (Souliss, MaCaco, vNet) con lo scopo di astrarre e rendere semplice lo sviluppo di applicazioni domotiche.

Le librerie sono fornite di alcuni semplici esempi, come la gesitone luci da due Arduino separati o l'implementazione di nodi "monitor" che ricevono lo stato degli altri dispositivi (stato luci, porte, serramenti, ...)

Il framework è stato sviluppato secondo i seguenti obiettivi:
- Versatilità nella struttura della rete di nodi,
- Comunicazione in P2P con esecuzione della logica localmente al modulo (non centralizzata),
- Generalizzazione del concetto di nodo, un nodo può essere un dispositivo Arduino, Android un PC ...

Il primo obiettivo è raggiunto con la libreria vNet, astrae il mezzo di comunicazione e fornisce automaticamente funzionalità di bridging e routing. Non è necessario modificare l'applicazione che utilizza vNet in base al mezzo utilizzato.

Attualmente vNet supporta Freakduino/Chibiduino ed Arduino Ethernet (o Ethernet Shield), nel primo caso è utilizzata la libreria Chibiduino ripulita da alcuni bug; nel secondo caso è utilizzata una nuova libreria basata sulla classica Ethernet.
La differenza principale con Ethernet è nella gestione delle socket, per ottenere una comunicazione P2P si utilizzano due socket contemporaneamente, una Client in scrittura e l'altra Server in ricezione. La connessione resta aperta per il solo tempo di trasmissione, richiesta e risposta utilizzano due connessioni separate, quindi si riesce ad ottenere comunicazioni multiple pur essendo le socket del W5100 disponibili solo 4.

Le operazioni di routing e bridging sono effettuate solo dai SuperNode, si basano sull'indirizzamento (con subnet) e possono essere corredate da tabelle dinamiche per path non risolvibili a partire dal solo indirizzo.

Il secondo obiettivo è ottenuto con la libreria MaCaco, un protocollo simile al Modbus ma con due differenze principali: è un protocollo P2P, supporta il subscribing dei dati. Il subscribing consiste nel registrare in un nodo sorgente la richiesta di dati, sarà cura del nodo sorgente inviare gli stessi solo quando ci sono variazioni, ottenendo una maggiore prontezza e minore traffico su rete (quindi minore carico CPU).

La terza libreria, Souliss, utilizza le due precedenti per fornite logiche "tipiche" come gestione luci e serramenti. Fornisce inoltre metodi per la gestione semplificata dell'I/O locale e di quello remotizzato.

Attualmente il codice è disponibile per Arduino, ma è mia intenzione portare il framework su Android. L'idea è rendere un dispositivo Android nodo della rete, al pari degli altri nodi potrà ricevere gli stati o forzarli, rendendolo di fatto un'interfaccia utente.
Lo stesso può essere applicato per qualsiasi altro dispositivo, ad esempio un PC.

A mio avviso, un limite degli attuali sistemi domotici è l'integrazione. Avere un framework comune può semplificare l'integrazione di dispositivi di diversa natura.

Il codice è disponibile al link http://code.google.com/p/souliss/ e rappresenta solo un primo sviluppo, idealmente il programma da seguire per le successive revisioni sarebbe:
- Portare il framework su Android,
- Ridurre l'impatto in RAM (su Arduino) specialmente per vNet,
- Migliorare il supporto broadcast per vNet,
- Supporto RFM22B vNet,
- Documentazione,
- Ampliare la collezione di tipici in Souliss,
- Realizzare una UI Android basata sul framework, con "viste" e personalizzazioni,
- Portare il framework su Windows ed altri sistemi operativi
- Proporre una scheda elettronica dedicata alle applicazioni domotiche (wireless 434/900Mhz con RFM22B, 24V, 16DI isolati, 8 DO, relé off-board).

Ovviamente il vero livello di sviluppo dipenderà dal gradimento di tale framework e dalle eventuali collaborazioni.

Cercherò nel tempo di fornire un minimo di documentazione iniziale, il codice è comunque sufficientemente commentato.

Sono graditi commenti e suggerimenti e sopratutto collaboratori (principalmente lato Android), onestamente, un sistema domotico non può prescindere da una gestione remota su cellulare, tablet o PC.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation
Post by: leo72 on Nov 24, 2011, 12:26 am
Non sono interessato al progetto però... complimenti. Ho dato un'occhiata al codice, è un bel lavoro  ;)
Title: Re: (Libreria) Souliss Home Automation
Post by: Maurotec on Nov 24, 2011, 01:33 am
Quote
Ovviamente il vero livello di sviluppo dipenderà dal gradimento di tale framework e dalle eventuali collaborazioni.

Cercherò nel tempo di fornire un minimo di documentazione iniziale, il codice è comunque sufficientemente commentato.

Sono graditi commenti e suggerimenti e sopratutto collaboratori (principalmente lato Android), onestamente, un sistema domotico non può prescindere da una gestione remota su cellulare, tablet o PC.

Saluti,
Dario.


Io posso fare poco, ma anche un'ora la sera posso dedicarla. Purtroppo però ho zero denari da investire per domotizzare la mia casa, quindi la collaborazione che posso darti non è pratica. Ho visto che il codice è documentato per doxygen o simili, posso collaborare su Makefile, script bash, paccchetti rpm.

Per chi fosse interessato all'argomento e ha sufficienti risorse vi prego non ignorate questo post.

+FF
Ciao.
Title: Re: (Libreria) Souliss Home Automation
Post by: Enrico M. on Nov 24, 2011, 08:38 am
Davvero interessante. Mi piace l'approccio perchè (finalmente!) superiamo lo scoglio che ha rallentato terribilmente il proseguire della stimolante discussione dell'anno scorso sul vecchio forum (l'hai letta?), cui ho attivamente partecipato.

Da allora ho proseguito i ragionamenti e sono arrivato alla realizzazione di un sistema completo basato su arduino (e simili) e su nodi linux.

Proprio alla luce della oramai completa installazione (quasi 200 relè per il controllo di luce e riscaldamento di alcune decine di ambienti) nelle ultime settimane sto maturando la convinzione rimettere mano pesantemente alla logica di funzionamento del sistema, per impostare un modello simile a qaunto proponi: un peer to peer agnostico dell'hardware, inevitabilmente con diversi livelli di implementazione di un protocollo di fondo, comunque basato su TCP/IP (ora l'approccio è quasi completamente client-server, più per completare rapidamente sviluppo ed implementazione che per seria riflessione sulla questione).

Nei prossimi giorni studierò il tuo sistema e ti dico se possono esserci ambiti di interazione: io credo di si.

Sei già riuscito a realizzare un prototipo del sistema completo?

Per quanto riguarda il discorso dell'hardware Arduino dedicato, sfondi una porta aperta: è da secoli che ci penso, tanto che avevo anche aperto un forum per portarne avanti lo sviluppo

   http://domoduino.org

Purtroppo il sito è stato sommerso dallo spam ed io dal lavoro, per cui tutto langue da mesi. Hai voglia di aiutarmi a riattivare l'iniziativa?

Considera che io sono un valido programmatore, e me la cavo anche con l'elettronica, anche se il mio ambito di specializzazione resta il software. Sono in grado però anche di progettare la parte hardware, salvo che serve l'aiuto di un esperto elettronico per evitare problemi tipo quelli delle interferenze elettromagnitiche che mi hanno mandato in palla durante la realizzazione del prototipo di cui sopra...
Title: Re: (Libreria) Souliss Home Automation
Post by: veseo on Nov 24, 2011, 01:33 pm

Io posso fare poco, ma anche un'ora la sera posso dedicarla. Purtroppo però ho zero denari da investire per domotizzare la mia casa, quindi la collaborazione che posso darti non è pratica. Ho visto che il codice è documentato per doxygen o simili, posso collaborare su Makefile, script bash, paccchetti rpm.

Per chi fosse interessato all'argomento e ha sufficienti risorse vi prego non ignorate questo post.

+FF
Ciao.


Ciao Mauro,

ogni contributo è benvenuto. Anche io in termini di tempo riesco a dedicare solo poche ore la sera (lavoro permettendo) e lo sviluppo è partito a giugno, un'enormità se si considera la quantità di codice tutto sommato limitata.

Relativamente all'hardware, allo stadio attuale non è necessario domotizzare la propria casa. E' sufficiente avere qualche arduino ethernet o chibiduino per contribuire, ad esempio portando il framework su altre piattaforme, in quel caso è sufficiente far comunicare due dispositivi.

Attualmente non è partita alcuna attività di documentazione del codice, ma ho iniziato solo a scrivere della documentazione utente, quindi un supporto in tal senso sarebbe davvero utile.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation
Post by: veseo on Nov 24, 2011, 01:50 pm

Davvero interessante. Mi piace l'approccio perchè (finalmente!) superiamo lo scoglio che ha rallentato terribilmente il proseguire della stimolante discussione dell'anno scorso sul vecchio forum (l'hai letta?), cui ho attivamente partecipato.

Da allora ho proseguito i ragionamenti e sono arrivato alla realizzazione di un sistema completo basato su arduino (e simili) e su nodi linux.

Proprio alla luce della oramai completa installazione (quasi 200 relè per il controllo di luce e riscaldamento di alcune decine di ambienti) nelle ultime settimane sto maturando la convinzione rimettere mano pesantemente alla logica di funzionamento del sistema, per impostare un modello simile a qaunto proponi: un peer to peer agnostico dell'hardware, inevitabilmente con diversi livelli di implementazione di un protocollo di fondo, comunque basato su TCP/IP (ora l'approccio è quasi completamente client-server, più per completare rapidamente sviluppo ed implementazione che per seria riflessione sulla questione).

Nei prossimi giorni studierò il tuo sistema e ti dico se possono esserci ambiti di interazione: io credo di si.

Sei già riuscito a realizzare un prototipo del sistema completo?

Per quanto riguarda il discorso dell'hardware Arduino dedicato, sfondi una porta aperta: è da secoli che ci penso, tanto che avevo anche aperto un forum per portarne avanti lo sviluppo

  http://domoduino.org

Purtroppo il sito è stato sommerso dallo spam ed io dal lavoro, per cui tutto langue da mesi. Hai voglia di aiutarmi a riattivare l'iniziativa?

Considera che io sono un valido programmatore, e me la cavo anche con l'elettronica, anche se il mio ambito di specializzazione resta il software. Sono in grado però anche di progettare la parte hardware, salvo che serve l'aiuto di un esperto elettronico per evitare problemi tipo quelli delle interferenze elettromagnitiche che mi hanno mandato in palla durante la realizzazione del prototipo di cui sopra...


Ciao Enrico,

prima di iniziare lo sviluppo mi ero imbatuttto nella discussione del vecchio forum, come hai notato l'approccio impostato è differente da quanto proposto in quella discussione.

Le mie idee di sviluppo sono:
- Comunicaizone P2P con gestione del protocollo in hardware, preferibilmente comunicazione wireless con bridge verso ethernet per la connettività con dispositivi mobili o PC,
- Struttura distribuita, di base non devono essere necessari nodi "centrali",
- Integrazione spinta, portare il framework su diverse piattaforme (sia hardware, sia software) può portare ad integrare un pulsante hardware con il PC, il media center o qualsiasi altra cosa.

Attualmente questi principi sono rispettati, il software funziona, si tratta di estenderlo su più piattaforme e spingere l'integrazione.
L'integrazione deve essere tale da poter schiacciare il pulsante vicino al letto e spegnere la luce di lettura, il media center, inserire l'allarme o qualsiasi altra cosa venga in mente. Alla fine non è poi così difficile se alla base c'è un framework condiviso e disponibile su diverse piattaforme. Se per un generico nodo con capacità di connettività c'è il framework, il resto viene da se.

Sarei felice di poter collaborare nel progetto di una scheda hardware dedicata, però vorrei puntare le priorità sul software. Attualmente, se si ha voglia di "sbariare" è possibile realizzare quanto serve con dell'hardware esterno collegato ad un Arduino (o simile) con connettività Ethernet o Wireless, avere del software funzionale (e funzionante) a mio avviso è il volano che può spingere verso la realizzazione dell'hardware.

Fammi sapere se ci sono dei margini per integrare il codice con quanto da te sviluppato.

La realizzazione attuale non è effettivamente installata, le schede sono raccolte su un piano d'appoggio e non attuano direttamente la 200V.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation
Post by: Maurotec on Nov 24, 2011, 03:26 pm
Quote
Attualmente non è partita alcuna attività di documentazione del codice, ma ho iniziato solo a scrivere della documentazione utente, quindi un supporto in tal senso sarebbe davvero utile.


Cosa vuol dire?

Io vedo il codice di MaCaco documentato, non integralmente e in modo dettagliato ma c'è già un'inizio.

Ora penso che tu abbia usato un IDE (quale?) e questo probabilmente di inserisce già i tag /*!  document */ e probabilmente si tratta di eclipse.
Comunque il codice così commentato è pronto per essere passato a doxygen che ne estrae la doc e la trasforma in html o altro.
Per la doc utente, si può fare anche con doxygen creando dei file .dox, ma se vuoi tenerla separata ti capisco.

Dunque sono tre librerie che su arduino dovranno essere statiche, corregimi se sbaglio. Il programma utente in sviluppo dovrà linkare con la libreria di arduino, con MaCaco e le altre. Sempre che si decida di creare tre moduli statici, in alternativa si può creare un libreria contenente i moduli oggeto ricavati dalla compilazione.

Io non ho visto alcun Makefile, come compili il tutto?

Ciao.
Title: Re: (Libreria) Souliss Home Automation
Post by: veseo on Nov 24, 2011, 03:47 pm

Cosa vuol dire?

Io vedo il codice di MaCaco documentato, non integralmente e in modo dettagliato ma c'è già un'inizio.

Ora penso che tu abbia usato un IDE (quale?) e questo probabilmente di inserisce già i tag /*!  document */ e probabilmente si tratta di eclipse.
Comunque il codice così commentato è pronto per essere passato a doxygen che ne estrae la doc e la trasforma in html o altro.
Per la doc utente, si può fare anche con doxygen creando dei file .dox, ma se vuoi tenerla separata ti capisco.

Dunque sono tre librerie che su arduino dovranno essere statiche, corregimi se sbaglio. Il programma utente in sviluppo dovrà linkare con la libreria di arduino, con MaCaco e le altre. Sempre che si decida di creare tre moduli statici, in alternativa si può creare un libreria contenente i moduli oggeto ricavati dalla compilazione.

Io non ho visto alcun Makefile, come compili il tutto?

Ciao.


Intendo dire che i commenti non sono dettagliati. Il risultato di una documentazione con doxygen non sarebbe sufficiente per rendere veramente comprensibile quanto fatto, sopratutto perché una persona terza che rivede il codice ed i commenti può rendere il risultato migliore.

Per la compilazione, ho le cartelle nella libreria della IDE di Arduino (da cui compilo) ed ogni libreria richiama l'altra, perché sono tre layer sovrapposti. Le librerie non possono essere statiche, il codice compilato dipende dalla configurazione, ad esempio se hai un Chibiduino senza Ethernet Shield non compili la libreria per il W5100.

Se hai consigli per distribuire meglio il codice, sono i benvenuti.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation
Post by: superlol on Nov 24, 2011, 03:58 pm
ciao, non ho avuto occasione di guardare il codice ma dici che non è un sistema "centralizzato".

il che significa che ogni nodo deve avere un suo eth shield?

in tal caso la spesa diventerebbe piuttosto estesa.

comunque il mio consiglio è non fermarti al software, potresti sviluppare tutto un sistema anche hardware:
schede wireless con relè, sensori ecc che si collegano wia wireless a una scheda centrale che le gastisce ed esce in ethernet.

gli schemi alla fine li puoi scopiazzare un po in giro, ti prendi quello di arduino più quello della eth shield ed hai fatto il sistema integrato di comunicazione eth, poi prendi dal chibiduino e ti viene anche il wireless relativamente a basso costo.

poi vedi quanta gente vuole avere questo sistema e in base a quello vi mettete d'accordo sui prezzi (fate stampare i pcb da un service e uno prende i componenti per tutti poi si inviano a tutti) e chi vuole sviluppa il software  ;)


secondo me alla fine risulta un sistema modulare poco costoso, affidabile e completo!
Title: Re: (Libreria) Souliss Home Automation
Post by: veseo on Nov 24, 2011, 07:47 pm

ciao, non ho avuto occasione di guardare il codice ma dici che non è un sistema "centralizzato".

il che significa che ogni nodo deve avere un suo eth shield?

in tal caso la spesa diventerebbe piuttosto estesa.


Ciao,

un sistema è centralizzato se esiste un nodo che cura la gestione delle logiche e la comunicazione, molti sistemi domotici sono centralizzati. Ciò significa che i moduli possono solo trasferire lo stato degli ingressi ed attuare le uscite, come e quando attuarle è gestito dal modulo centrale.

Un sistema distribuito non ha un nodo centrale, ma nodi con ruoli diversi ma in linea generale autonomi. Ad esempio un modulo termoregolatore richiede direttamente i dati ai termometri sparsi per la casa ed effettua la regolazione, un modulo che gestisce l'illuminazione comunica direttamente con i pulsanti remoti.

In entrambi i casi, ogni modulo deve avere la possibilità di comunicare con gli altri, che sia il solo modulo centrale o tutti i nodi della rete.

Nel caso particolare di Souliss, la libreria vNet crea un'astrazione, quindi le funzionalità e la configurazione del modulo non dipendono dal mezzo di comunicazione. Ad oggi sono supportati W5100 e Chibiduino, altri in futuro.


comunque il mio consiglio è non fermarti al software, potresti sviluppare tutto un sistema anche hardware:
schede wireless con relè, sensori ecc che si collegano wia wireless a una scheda centrale che le gastisce ed esce in ethernet.


Attualmente Souliss già fornisce queste funzionalità.


gli schemi alla fine li puoi scopiazzare un po in giro, ti prendi quello di arduino più quello della eth shield ed hai fatto il sistema integrato di comunicazione eth, poi prendi dal chibiduino e ti viene anche il wireless relativamente a basso costo.

poi vedi quanta gente vuole avere questo sistema e in base a quello vi mettete d'accordo sui prezzi (fate stampare i pcb da un service e uno prende i componenti per tutti poi si inviano a tutti) e chi vuole sviluppa il software  ;)


secondo me alla fine risulta un sistema modulare poco costoso, affidabile e completo!


Il punto è non mettere troppa carne al fuoco, lo sviluppo è solo agli inizi e sopratutto il software si cambia in modo relativamente facile, l'hardware no.

L'evolversi delle cose dipenderà sopratutto dalle collaborazioni al progetto, da solo non ho tempo per sviluppare il tutto in tempi ragionevoli.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation
Post by: Maurotec on Nov 24, 2011, 08:10 pm
Quote
Intendo dire che i commenti non sono dettagliati. Il risultato di una documentazione con doxygen non sarebbe sufficiente per rendere veramente comprensibile quanto fatto, sopratutto perché una persona terza che rivede il codice ed i commenti può rendere il risultato migliore.


Ok, già una linea guida c'è per documentare le funzioni, quindi un primo passo base lo hai fatto, su questo si lavora per scendere nel dettaglio. Posso usare quello che c'è scritto nel formum come ducumentazione del framework integrando con con immagini e contenuti derivati dalla sperimentazione diretta.

Quote

Per la compilazione, ho le cartelle nella libreria della IDE di Arduino (da cui compilo) ed ogni libreria richiama l'altra, perché sono tre layer sovrapposti. Le librerie non possono essere statiche, il codice compilato dipende dalla configurazione, ad esempio se hai un Chibiduino senza Ethernet Shield non compili la libreria per il W5100.


Già non avevo considerato ciò. Se tutto è stato sviluppato con l'ide non serve un makefile e non c'è necessità di modificare l'organizzazione del codice che risulta perfetta. Comunque il makefile potrebbe essere un qualcosa in più, ma non sarebbe sfruttabile con l'ide di arduino in quanto creerebbe una libreria statica.

Nel file vNetDriver_eth.h alla linea 36 c'è da cambiare il nome del file da W5100.h a w5100.h.

Ciao.
Title: Re: (Libreria) Souliss Home Automation
Post by: veseo on Nov 24, 2011, 08:16 pm

...


Ok :%
Title: Linee guide Souliss
Post by: veseo on Nov 24, 2011, 08:48 pm
Vista l'assenza di una guida utente, riporto brevemente una descrizione di Souliss utile a comprendere come è stato sviluppato il software.

Ogni nodo ha un'area dati (un array da 30 byte) suddiviso in tre gruppi:
- Tipici,
- Input,
- Output

Il primo gruppo, Tipici, contiene un codice identificativo della logica implementata nel nodo. Può essere utilizzato da applicazioni precompilate (ad esempio l'UI Android) per capire come interpretare o comandare i dati provenienti da nodo.

Il secondo gruppo, Input, è uno spazio dedicato agli ingressi sia hardware sia software. Analogamente il terzo gruppo è per gli output.

Per default l'area di memoria è indirizzata per slot, il cui numero è attualmente 8. Uno slot è composto da tre byte, uno per ogni gruppo. Tutti i metodi implemetati in Souliss sono indirizzati per slot.

Prendendo l'esempio 1 allegato alla libreria. Si tratta della gestione di un digital output (ad esempio un relé) con comandi locali e remoti.

Il codice, a meno degli indirizzamenti e selezione dei pin è il seguente:

Code: [Select]

// Execute the code every 2 time_base
if (!(phase % 2))
{
// Use Pin2 as ON command, Pin3 as OFF command
Souliss_DigIn(2, Souliss_T01_OnCmd, memory_map, 0);
Souliss_DigIn(3, Souliss_T01_OffCmd, memory_map, 0);

// Execute the logic
Souliss_T1(memory_map, 0, &data_changed);

// Use Pin9 as output on the electrical load
Souliss_DigOut(9, Souliss_T01_Coil, memory_map, 0);
}


Il codice viene eseguito ogni due time_base del codice (100 ms) La funzione Souliss_DigIn() associa ad un pin della scheda una funzione ed il relativo slot, ad esempio

Code: [Select]
Souliss_DigIn(2, Souliss_T01_OnCmd, memory_map, 0);

Dichiara il pin 2 (precedentemente impostato come input) come OnCmd (On Command) e lo associa allo slot 0 della memory_map

Code: [Select]
Souliss_T1(memory_map, 0, &data_changed);

Esegue la logica T1 (tipico 1) sullo slot 0, quindi usa lo slot 0 di input per leggere i dati e lo stesso per gli output. La variabile data_changed viene usata come trig per l'invio dei dati.

Infine, Souliss_DigOut() prende lo slot 0 di output e lo lega al pin 9.

Code: [Select]

// Execute the code every 5 time_base  
if (!(phase % 5))
{   
// Retreive data from the communication channel
Souliss_SerialData(memory_map, &data_changed);
}

// Execute the code every 10 time_base  
if (!(phase % 10))
{   
// Open a communication channel, check channel status
Souliss_SerialChannel(network_address_2, memory_map, 0, 0, 1, 0, &healty, &count);
}


La funzione Serial_Data recupera i dati dalla comunicazione seriale (ethernet, chibiduino, ...) in base alle configurazione di vNet.

Il dispositivo ha ingressi hardwired alla scheda, volendo introdurre un modulo remoto si può dichiarare un canale di comunicazione con Souliss_SerialChannel() dove 0, 0, 1, 0 sta per slot ingresso, slot uscita, numero byte, canale di comunicazione.

Lo slot di ingresso è quello relativo alla propria memory_map, i dati provenienti da questo canale di comunicazione sono inseriti nello slot 0 degli input.
Lo slot di uscita è quello da cui leggere, viene letto lo slot 0 degli output del dispositivo di rete con indirizzo network_address_2.

Il canale di comunicazione è un indice interno, può variare da 0 a 10 e non può essere ripetuto all'interno dello stesso dispositivo.

Per realizzare un pannello con pulsanti remoti, che quindi agiscono su un dispositivo di rete diverso, in particolare quello a cui è fisicamente collegato il relé

Code: [Select]

if (!(phase % 2))
{
// Use Pin2 as ON command, Pin3 as OFF command
Souliss_DigIn(2, Souliss_T01_OnCmd, memory_map, 0);
Souliss_DigIn(3, Souliss_T01_OffCmd, memory_map, 0);

// Make the input slot 0 a remote input
Souliss_LinkIO(memory_map, 0, 0, &data_changed);
}

// Execute the code every 5 time_base  
if (!(phase % 5))
{
  // Retreive data from the communication channel
Souliss_SerialData(memory_map, &data_changed);

// If Souliss_LinkIO is used, a reset is required
if(data_changed == MaCaco_NODATACHANGED)
Souliss_ResetOutput(memory_map, 0);
}


Il codice è estremamente simile al precedente, la differenza è che non viene eseguita nessuna logica. Gli input sono riportati in output direttamente tramite la funzione Souliss_LinkIO() in modo che possano essere letti dall'altro modulo.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation
Post by: veseo on Nov 25, 2011, 10:31 am
Ieri sera ho inserito una guida utente per la libreria vNet, è disponibile al link http://sourceforge.net/projects/veseo-souliss/files/User%20Guide/

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation
Post by: Maurotec on Nov 26, 2011, 07:42 pm
Quote
Ieri sera ho inserito una guida utente per la libreria vNet, è disponibile al link http://sourceforge.net/projects/veseo-souliss/files/User%20Guide/


Si ho visto e letto una volta, oggi e domani volevo fare alcuni test ed inserire la doc pdf in doxygen, ma mi si sono rotti gli occhiali da vista e praticamente sono cieco (quasi).

Comunque, io non uso l'ide, quindi sono stato costretto ad importare il progetto in modo da gestirlo con QtCreator. Lo sviluppo con questo ide è tipico di tutti gli ide. Quindi ho dovuto generare delle librerie statiche. Ho deciso per semplicità di dividerlo in due lib, libMaCaco.a e libvNet.a ho compilato il tutto con successo dopo un paio di modifiche al codice di tipo non funzionale.

Ci sono alcune #include con dentro specificato il file .cpp anziché .h, è un errore o e necessario. Ho dovuto modificare l'estensione del file chb_cmd.c in .cpp perchè dentro c'è una chiamata a codice C++ ed il compilatore C non sa come risolvere il link ad una funzione metodo.

Probabilmente il preprocessore di arduino ide, sistema le cose.

Appena ho un paio di occhiali nuovi riprendo la sperimentazione.

Ciao.
Title: Re: (Libreria) Souliss Home Automation
Post by: veseo on Nov 27, 2011, 12:47 pm

Si ho visto e letto una volta, oggi e domani volevo fare alcuni test ed inserire la doc pdf in doxygen, ma mi si sono rotti gli occhiali da vista e praticamente sono cieco (quasi).

Comunque, io non uso l'ide, quindi sono stato costretto ad importare il progetto in modo da gestirlo con QtCreator. Lo sviluppo con questo ide è tipico di tutti gli ide. Quindi ho dovuto generare delle librerie statiche. Ho deciso per semplicità di dividerlo in due lib, libMaCaco.a e libvNet.a ho compilato il tutto con successo dopo un paio di modifiche al codice di tipo non funzionale.

Ci sono alcune #include con dentro specificato il file .cpp anziché .h, è un errore o e necessario. Ho dovuto modificare l'estensione del file chb_cmd.c in .cpp perchè dentro c'è una chiamata a codice C++ ed il compilatore C non sa come risolvere il link ad una funzione metodo.

Probabilmente il preprocessore di arduino ide, sistema le cose.

Appena ho un paio di occhiali nuovi riprendo la sperimentazione.

Ciao.


Si, tranquillo non c'è fretta. Era una guida preparata un poco di tempo fa, per dare un'idea di come lavorare con gli indirizzamenti.

Relativamente alle librerie, ci sono alcune forzature dovute all'IDE. In pratica non riuscivo a far riconoscere i file all'interno delle sottocartelle, trovava il .h ma non il corrispondente .c/.cpp. Per ovviare, nel file principale viene incluso direttamente il codice e non il solo header. Mi aspetto che con altre IDE il problema non si riproponga.

Relativamente a chibi_cmd.c è una libreria derivante da Chibiduino, se non sbaglio nel codice viene incluso direttamente il contentuto del file .c e per questo motivo l'IDE non si accorgeva dell'errore.
La libreria gestisce il parse dei comandi derivanti dalla linea seriale, nella prossima release eliminerò direttamente il file, attualmente non è usato ed a mio avviso non dovrebbbe far parte di Souliss ma al limite di una libreria esterna.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation
Post by: veseo on Nov 29, 2011, 10:56 pm
Ho inserito una guida utente per Souliss, spero semplifichi la comprensione di tale libreria. E' disponibile al seguente link https://sourceforge.net/projects/veseo-souliss/files/User%20Guide/

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation
Post by: veseo on Nov 30, 2011, 11:23 pm
Per rendere più chiare le funzionalità di Souliss ho documentato uno degli esempi proposti nella libreria "Example 5 - Garage Door".

https://sourceforge.net/projects/veseo-souliss/files/Examples%20Guidelines/

Questo esempio usa il tipico no. 3, la gestione di un dispositivo a quattro stati con un unico pulsante di comando. Un dispositivo è a quattro stati se ha due linee di attuazione, ad esempio la serranda di un garage ha una linea di attuazione per l'apertura e l'altra per la chiusura. In totale gli stati possibili sono quattro, anche se in realtà solo tre sono usati : apri, chiudi, fermo.

La logica implementa ne più, ne meno, quanto fatto da una classica centralina per la gestione delle serrande. Ad ogni pressione sul pulsate di comando, corrisponde un cambio di stato.
Premendo il pulsante con la serranda aperta, la serranda si chiude e viceversa. Premendolo durante la chiusura o l'apertura si la serranda si ferma ed inverte la marcia alla successiva pressione del pulsante.

Questa semplice logica (implementata in Souliss come tipico 3, T03) utilizzata in unione alle librerie MaCaco e vNet offre un sistema di controllo remoto.
Nell'esempio proposto, il pulsate di comando è hardwired ad un modulo wireless (Freakduino Chibi) mentre il comando ai relé di attuazione del motore sono su un modulo Arduino Ethernet. In mezzo c'è un bridge (Freakduino con Ethernet Shield).

Inoltre, un ulteriore Freakduino Chibi è utilizzato come monitor seriale. Acquisisce lo stato direttamente dal modulo Ethernet agente sui relé, e li visualizza sullo schermo del PC. E' inoltre possibile inviare i comandi dal PC, con la stessa funzionalità del pulsante hardwired.
Ad ogni cambio di stato, il modulo Arduino Ethernet invia i dati al monitor seriale (publishing/subscribing).

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation
Post by: veseo on Dec 27, 2011, 04:27 pm
Nei giorni dal primo rilascio di Souliss ho avuto modo di rivedere il programma di sviluppo del progetto, ponendo maggiore attenzione all'interfaccia grafica ed alla documentazione.

La prima interfaccia grafica disponibile (di cui è disponibile un'immagine di seguito) è basata su AJAX/JSON, riprende parzialmente TinyWebServer con la particolarità di non utilizzare le schede Arduino come fonte della pagina web, ma dei soli contenuti.
Come illustrato qui (http://arduino.cc/forum/index.php/topic,83042.0.html), il browser (in questo caso Firefox o Chrome) è utilizzato come ambiente di esecuzione, la pagina web è caricata localmente sul PC o dispositivo mobile e periodicamente richiede dati al nodo Arduino, il quale risponde in JSON.
E' strutturata come un semplice menu a tendina, lo stato attivo (ricevuto via JSON) viene evidenziato con un colore del fondo blu.

Questa soluzione (diversa da quanto ipotizzato al primo rilascio) prevede un nodo collettore dei dati, il quale riporterà lo stato dei dispositivi controllati via JSON. Lo stesso nodo cura la gestione dei comandi dall'interfaccia grafica verso i dispositivi della rete. In pratica, la rete continua ad essere distribuita, ma l'interfaccia utente è basata su due entità (arduino+browser) e non su una.

La soluzione di portare il framework su diversi OS (tra i quali Android) rimane, ma è stata data maggiore priorità ad una soluzione web-based per ridurre i tempi necessari ad avere un'interfaccia utente.

Dunque, il nodo Arduino (necessariamente basato su Ethernet Shield o Arduino Ethernet) colletterà i dati via MaCaco e riporterà via HTTP all'interfaccia grafica.
Ovviamente possono essere raggiunti sia nodi basati su Ethernet, sia nodi basati su Chibiduino, la libreria vNet cura le operazioni di bridging e routing all'interno della rete di nodi in modo trasparente all'interfaccia.

Il rilascio è previsto per fine gennaio 2012, insieme ad un arrichimento delle logiche "tipiche" incluse in Souliss, nel frattempo chi volesse iniziare a sperimentare l'interfaccia come Alpha-tester è il benvenuto.

Sullo stesso principio possono essere sviluppate anche interfacce non web-based, una per iPhone è in lavorazione da parte di BoomTakZaag.

Le seguenti modifiche sono state apportate,

Souliss Rev A2:
- Supporto in vNet della libreria Ethernet standard per garantire compatibilità con altre librerie,
- Aggiunta di una libreria per il supporto HTTP

Saluti,
Dario.

(http://sourceforge.net/projects/veseo-souliss/screenshots/Souliss%20User%20Interface.JPG)

Video (http://youtu.be/7MrXljp2QGE)

Nota: Basato su jQuery Tabbed Interface / Tabbed Structure Menu Tutorial (http://www.queness.com/post/106/jquery-tabbed-interfacetabbed-structure-menu-tutorial)
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 07, 2012, 01:37 pm
Su SourceForge ho rilasciato la revisione A2 di Souliss, la modifica principale è nel supporto contemporaneo di vNet Ethernet (modalità P2P) e la classe Ethernet nativa (modalità Server, Client) di Arduino. Sfruttando questa modifica sono stati aggiunti metodi per la gestione di un server JSON ed un interfaccia HTML da avviare localmente ad un dispositivo con browser Firefox e Chrome.

Altre modifiche hanno riguardato l'aggiunta di nuovi tipici (logiche pronte all'uso orientate alla domotica).

Sulla base di queste modifiche, tutti gli esempi sono stati riscritti, molti di essi dispongono anche di un'interfaccia pronta all'uso.

http://sourceforge.net/projects/veseo-souliss/

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: ratto93 on Jan 07, 2012, 04:02 pm
Stupendo, vaseo stai facendo un ottimo lavoro davvero, complimenti !
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: mauroz on Jan 07, 2012, 05:01 pm
bel lavoro davvero, appena mi arriva un w5100 farò delle prove :D
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 07, 2012, 05:33 pm
Grazie ad entrambi.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: testato on Jan 07, 2012, 05:58 pm
innanzitutto complimenti per il lavoro.

Io, come molti altri facenti parte della categoria "poveri", abbiamo comprato la ethernet shield appositamente prodotta per noi, quella con chip non wiz, questa http://www.nuelectronics.com/estore/index.php?main_page=project_eth

e' molto famosa in quanto costa poco. e' supportata dal tuo progetto ? oppure se hai interesse nel supportarla potrei fare da test.
Un'altro punto a suo favore e' che e' costruibile con integrati DIP (ENC28J60), quindi ottimo per standalone, mentre con il wiz non e' possibile
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: testato on Jan 07, 2012, 06:49 pm
scusa il consuma poco era un errore, corretto in COSTA POCO

resta il fatto che e' costruibile con integrati dip e che dopo il wiz5100 credo che il ENC28J60 sia il piu' usato.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: BaBBuino on Jan 07, 2012, 08:16 pm

Su SourceForge ho rilasciato la revisione A2 di Souliss, la modifica principale è nel supporto contemporaneo di vNet Ethernet (modalità P2P) e la classe Ethernet nativa (modalità Server, Client) di Arduino. Sfruttando questa modifica sono stati aggiunti metodi per la gestione di un server JSON ed un interfaccia HTML da avviare localmente ad un dispositivo con browser Firefox e Chrome.

Altre modifiche hanno riguardato l'aggiunta di nuovi tipici (logiche pronte all'uso orientate alla domotica).

Sulla base di queste modifiche, tutti gli esempi sono stati riscritti, molti di essi dispongono anche di un'interfaccia pronta all'uso.

http://sourceforge.net/projects/veseo-souliss/

Saluti,
Dario.


Vaseo ho provato a dare un'occhiata ma no  ci ho capito na sega! Io ho già un impianto Arduino Based co Ethernet shield, collegati tramite Switch PoE.

Non riesco a comprendere come potrei usare il tuo software.

Essendo un Tecnico elettronico più che un Softwerista, saresti in grado di fornirmi uno schema elettrico e come implementare il tuo software dentro gli Arduino?

Thanks
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: testato on Jan 07, 2012, 08:52 pm
grazie legacy del tuo ultimo post molto interessante.
chissa' perche' hanno sclto il wiz, rimanendo sul ENC avrebbero quindi fatto due cose buone, sia perche' e' migliore, sia perche' esiste in DIP. Con l'ENC si ci puo' costruire una arduino ethernet standalone senza problemi di case
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 07, 2012, 09:29 pm

innanzitutto complimenti per il lavoro.

Io, come molti altri facenti parte della categoria "poveri", abbiamo comprato la ethernet shield appositamente prodotta per noi, quella con chip non wiz, questa http://www.nuelectronics.com/estore/index.php?main_page=project_eth

e' molto famosa in quanto costa poco. e' supportata dal tuo progetto ? oppure se hai interesse nel supportarla potrei fare da test.
Un'altro punto a suo favore e' che e' costruibile con integrati DIP (ENC28J60), quindi ottimo per standalone, mentre con il wiz non e' possibile


Ciao Testato,

in linea generale è possibile aggiungere altro hardware senza dover modificare nulla nel codice, è sufficiente predisporre la libreria dell'integrato da supportare per il funzionamento il P2P e fornire dei metodi per interfacciarlo con lo "strato" superiore di vNet.

Non conosco l'ENC28J60, ma guardando velocemente il riassuntivo del datasheet trovo: "Integrated MAC and 10BASE-T PHY". Ciò significa che non c'è il supporto in hardware del IP e TCP/UDP, è corretto?

In passato lessi di librerie specifiche per tale chip, se l'implementazione dello stack IP non ruba troppo spazio (RAM/FLASH) può essere considerata come una possibile integrazione futura. Un aspetto fondamentale è nel non gravare eccessivamente sul 328, ad esempio per la gestione dei ACK e delle connessioni.

In linea di principio, si potrebbe anche fare a meno di IP e protocolli annessi, lavorando direttamente con a livello MAC (il chip a 2.4 Ghz di Chibiduino implementa anchesso solo i livelli MAC a PHY), ma si perderebbero alcune facilitazioni come ad esempio HTTP (che richiede TCP).
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 07, 2012, 09:31 pm

Economica? Consuma poco ? Mah ... Ho realizzato un modulo rete con cirrius C8900 che consuma 1/10 di quell'accrocchio pagando il chip solo $6. Il problema e' che C8900 non e' spi ma necessita di essere memory mapped.

Vaseo, vorrei dei chiarimenti sulle modifiche introdotte al protocollo modbus, cosa e perche'.


Il protocollo Modbus è basato sul concetto Master/Slave, MaCaco è un protocollo P2P con funzionalità di sottoscrizione dei dati. Per il resto i concetti sono analoghi, ma l'implementazione è semplificata in varie parti.

Se hai qualche curiosità in particolare, ne possiamo parlare.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 07, 2012, 09:35 pm

Vaseo ho provato a dare un'occhiata ma no  ci ho capito na sega! Io ho già un impianto Arduino Based co Ethernet shield, collegati tramite Switch PoE.

Non riesco a comprendere come potrei usare il tuo software.

Essendo un Tecnico elettronico più che un Softwerista, saresti in grado di fornirmi uno schema elettrico e come implementare il tuo software dentro gli Arduino?

Thanks


Dipende da cosa ti serve fare. Relativamente agli schemi elettrici non c'è nulla di speciale, sono digital input o output (niente triac fatti a mano) qualche optoisolatore e darlington risolvono i problemi. La parte software è corredata di esempi funzionanti che possono essere usati come base.

Se vuoi possiamo discutere delle tue necessità e capire cosa possa risultarti utile del codice di Souliss, ma ti chiedo di aprire un Topic a parte, non vorrei uscire troppo fuori tema all'interno di questo spazio.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: testato on Jan 07, 2012, 09:45 pm
yes
allego lo  schema a blocchi.

Attualmente le applicazioni che ho trovato, (vedi il link che ho messo dello shield) non implementano il TCP/IP completo
Quindi si potrebbe decidere se provare a scriverlo (o trovarlo se magari e' stato fatto), oppure lavorar su mac, oppure la terza strada, quella appunto del link mio:
--------
" instead of implementing full TCP protocl, a single data packet TCP protocol is used. You webpage contents, including all html tags, must be in one packet. The length of packet is limited by the SRAM size, currently half of the RAM space (500 bytes) is used for network Packet buffer. It is sufficient for simple webpages as shown below."
--------
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 08, 2012, 12:49 am

Cosa intendi per sottoscrizione dei dati ? In che parti hai semplificato modbus?
Nella mia rete ho vari slave modbus che se interrogati accedono ai propri database o ai propri sensori e riportano al master quanto questo chiedo loro. Il tutto sftuttado la single regiser function code e la multi register function code. Ho 4 funzioni per fare tutto.


Con MaCaco ci sono diverse modalità per ricevere e/o inviare i dati, per convenzione indico con N1 il nodo che possiede i dati:
- Sottoscrizione, il nodo ricevente N2 effettua una richiesta ad N1. Alla richiesta segue una risposta contenente i dati, a questo punto N1 invierà i dati solo se gli stessi varieranno. Il nodo sottoscrittore N2, valuta lo stato di salute del canale (un timer con valore di time-out variabile) ed eventualmente rinnova la sottoscrizione.

- Polling, il nodo ricevente N2 effettua una richiesta ad N1. Alla richiesta segue una risposta. Per avere i dati periodicamente, il nodo N2 effettua richieste continue.

- Pushing, il nodo N1 scrive nel nodo N2. L'invio dati può essere gestito da un timer (sconsigliato) o dagli eventi (i dati sono cambiati) a cura dell'utente.

La struttura del protocollo è più semplice, anche se concettualmente identica. Ad esempio, per non mantenere uno stato delle richieste, i functional code di richiesta e risposta sono diversi e legati da un fattore 0x10 (ad esempio 0x05 è la richiesta di sottoscrizione, 0x15 è la risposta) e nell'header del messaggio è contenuto il puntatore all'area dati in cui gli stessi andranno memorizzati quando giunti a destinazione.

Ulteriori semplificazioni:
- Assenza della gestione errori, se viene richiesto di scrivere dove non consentito o leggere dati non presenti, non viene notificato nulla. Semplicemente il frame viene scartato.
- Assenza di CRC, il tutto viene affidato ai CRC di livello MAC o IP in base al driver usato.

Tutto il resto è analogo, le richieste sono per gruppi di dati contigui.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 08, 2012, 01:00 am
@ Testato, @ legacy,

Il protocollo TCP/IP è necessario se poi si vuole usare HTTP per interfacce grafiche generiche, ad esempio basate su browsers. Sono d'accordo, non è necessario un TCP completo, ma dedicare 500 byte solo come buffer dati su un 328 da 2k è troppo. Inoltre a questi 500 byte vanno aggiunti quelli necessari a mantenere lo stato delle socket.

L'utilizzo diretto in vNet è fattibile, il livello MAC è più che sufficiente, ma si perde la possibilità di avere funzionalità di interfaccia semplici.

Ad esempio, l'idea iniziale per Souliss era di portare l'intero framework su diverse piattaforme. Però poi ho virato verso JSON, quindi usando HTTP come protocollo, per ridurre i tempi di implementazione di un'interfaccia veloce da costruire.

Il punto cruciale è nelle risorse necessarie, vorrei poter aggiungere al codice la possibilità di effettuare alcune configurazioni run-time e l'auto-addressing (sia per nodi Ethernet, sia per nodi Chibi) e sopratutto non voglio giungere ad una libreria che non lasci spazio all'applicazione utente.

Il motivo per cui l'interfaccia web non è caricata da SD, ma va caricata in locale dal PC è per l'eccessivo utilizzo di risorse di TinyWebServer. Ciò per dire che volendo rimanere nel target del 328, il raggio d'azione non è vasto.

Mi impegno nel valutare le librerie esistenti per integrarle in vNet, ma i tempi saranno lunghi, per ora è previsto un lungo periodo in cui il codice non verrà modificato perché mi dedicherò esclusivamente alla riscrittura della documentazione.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: testato on Jan 08, 2012, 09:04 am
ottimo,
quando serve un qualsiasi test sulla versione ENC fai un fischio.
Io nel frattempo se trovo altre librerie arduiniche sul ENC28J60 le posto qui
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: Maurotec on Jan 08, 2012, 03:58 pm
Quote
Tu fai generalizzazioni che secondo me non hanno senso pratico.

Dici :smiley-eek:

Comuque, io di udp, ip, tcp non ci capisco nulla, ho studiato in passato ovviamente, ma non ho mai implementato un protocollo, layer ecc. Forse però nel tuo caso hai demandato le funzionalitò http ad una periferica non prevista da veseo (quella cosa che hai detto tu con linux su, che non so cosa sia).

Io seguo, ma non ho il background per contribuire, mi manca il tempo e la volonta per dedicarmi alle problematiche di rete.

Invece capisco che se devi accendere la luce il comando lo invii solo una volta e a quello che ho capito varie logiche sono implementate in MaCaco.

Vi seguo, in silenzio.

Ciao.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: Maurotec on Jan 09, 2012, 11:32 am
Prima della migrazione dei server avevo risposto, ma è andato in timeout e poi down totale.

Sinteticamente hai raggione qui:
Quote
Non mi serve alcuna delle funzionalita' offerte dal tcp/ip se devo far parlre 2 nodi domotici, il protocollo modbus va piu' che bene e a livello fisico gli basta anche una serialina.


Al momento non vedo necessità di portarsi dietro http sui nodi, ma ovviamente un nodo speciale deve avere interfaccia tramite http to udp, per gestire la casa tramite application web.

Penso che questo pensiero lo condivida anche veseo.

Quindi su upd hai frame modbus, ottimo, flesibile direi.

Ciao.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 11, 2012, 11:22 am
@ legacy, @ MauroTec,

Mauro ha colto il fulcro del discorso, le due soluzioni (Souliss e quella di legacy) hanno due architetture diverse. Detto questo, alcune cose dette sono corrette altre no. Provo a fare un punto della situazione.

La comunicazione tra nodi non avviene in HTTP, ma in MaCaco che è di suo un protocollo ispirato al Modbus e necessità solo di un layer inferiore che sia almeno MAC (o superiore). La possibilità di lavorare in HTTP (e quindi in TCP/IP) nasce se un nodo oltre a fare il suo lavoro è anche un'interfaccia verso le applicazioni utente.

Il concetto di fondo dello sviluppo di Souliss è la scalabilità. Intendo dire, se una persona vuole "automatizzare" solo una parte della casa e non tutta (ad esempio solo il cancello d'ingresso, solo il garage, solo la soffitta, ...) diventa economicamente svantaggiosa un'architettura con nodi diversi per funzionalità diverse.

Se si guarda a come è scritto Souliss, le funzionalità possono essere sovrapposte, ma su ogni nodo viene caricato solo il codice effettivamente necessario. In base alle dimensioni dell'impianto si può partire da una scheda, per finire ad un numero non facilmente quantificabile all'interno dei limiti di indirizzamento. Il limite è definito dal traffico sopportabile dai nodi, traffico che è generato dagli eventi (il sistema può non usare il polling).

Se l'architetture è complessa e le funzionalità richieste non sono gestibili da un 328 (es: scenari complessi, archiviazione eventi, ...) si possono introdurre nodi dedicati, ma è una scelta.

Tornando alle scelte sul protocollo, l'idea alla base è quella di utilizzare chip che offrano il livello MAC e comunichino in SPI, oggi giorno è abbastanza comune in molti chip. Offrono un livello MAC i chip a 2.4 Ghz della Nordic e Atmel, così come quelli Ethernet.
Quindi mi affido al CRC dei livelli inferiori (in hardware), senza introdurne un ulteriore in software.

Il vero limite del 328 non è nella potenza computazionale (almeno per questo livello di applicazioni) ma nella RAM/FLASH a disposizione, quindi rinunciare al CRC software mi aiuta a risparmiare.

A mio avviso il vero punto importante di MaCaco è la gestione per sottoscrizione degli eventi, garantisce tempi di risposta estremamente più rapidi del polling. E' un concetto che va in crisi solo se il numero di eventi cresce a dismisura, ma questo non è il caso di un sistema domotico.

Un'altro vantaggio di MaCaco è quello relativo al P2P, ad esempio, posso realizzare in modo semplice logiche distribuite su più nodi. Su un nodo metto i comandi, su uno la logica, sull'altro le uscite (è un esempio estremizzato, ma fattibile). Usando un Master/Slave è fattibile, ma il tempo di risposta introduce un fattore 3.

Le logiche per la gestione domotica sono implementate in Souliss, MaCaco è esclusivamente un protocollo di trasmissione. Sotto c'è vNet, virtualizza il mezzo di trasmissione e gestione routing (aumenta la portata con nodi intermedi) e bridging, volendo, si può benissimo applicare Modbus sopra vNet, ottenendo nodi di diversa tipologia in grado di comunicare tra loro.

Detto questo, nell'implementazione Ethernet di vNet viene utilizzato TCP/IP. Il motivo è semplice, è supportato il W5100 ed in questo caso che sia RAW MAC, UDP/IP o TCP/IP non cambia il carico sul 328. Guadagno la gestione diretta degli ACK, che in MaCaco avviene in modo indiretto e solo in caso di sottoscrizione dei dati (non in polling o pushing mode).

Cosa viene usato dentro vNet (MAC, UDP, TCP) dipende da come sono scritti i driver e non ha alcuna implicazione. Ad esempio, i driver per la radio ATMEL di Chibiduino usano il livello MAC mentre quelli per il W5100 il TCP/IP. L'unico vincolo, deve esserci armonia sullo stesso mezzo di comunicazione

Volendo supportare un chip ethernet che offra il solo livello MAC, si può usare tranquillamente il solo livello MAC. Ovviamente non ci sarebbe compatibilità con il W5100 usato come TCP/IP.
Scegliendo questa strada, si torna al punto iniziale. Per ottenere un'interfaccia grafica in HTTP/JSON diventa indispensabile un dispositivo aggiunto.
Per essere rigorosi, si potrebbe ovviare al problema, gestendo la comunicazione nel dispositivo che funge da interfaccia utente (PC, tablet, ...) direttamente con una comunicazione a livello MAC. Questo significherebbe portare il framework su tali dispositivi.
Nella realtà, questa era in parte la mia idea iniziale, ma è stata temporaneamente scartata per due motivi: impone la piattaforma ed è dispendiosa da realizzare.

Al contrario HTTP/JSON sono facilmente gestibili il AJAX/jQuery, creando un'interfaccia grafica web based e disponibile su più dispositivi. Ma HTTP/JSON è facilmente gestibile anche nelle applicazioni iPhone ed Android.

Il "giro" delle informazioni su Souliss è analogo a quanto descritto da legacy, la differenza è che posso avere un nodo su cui girano JSON Server (perché non uso un web server) e le logiche di pari passo.

Ovviamente io tiro l'acqua al mio mulino :)

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 12, 2012, 07:51 am
@ legacy

Potremmo discutere per ore, rimanendo ognuno sulle proprie posizioni. Le nostre sono due soluzioni legate a due concetti diversi ed in parte divergenti. Il mondo è bello perché è vario :)

Venendo ai tuoi commenti:

Il costo non è solo quello del nodo in se (maggiore di 20 euro), ma il costo degli alimentatori e dell'alimentazione, il maggiore spazio richiesto. Ho sempre creduto nel "quello che non c'è non si rompe" e l'idea di distribuire i compiti tra i nodi è uno degli aspetti principali del progetto.

Suddividere il codice in librerie è già un modo per "imperare", se poi girano su un unico nodo o su nodi diversi, se fatto bene non cambia nulla. Anche io sviluppo il codice da solo, in tempi relativamente lunghi (il progetto è parito a Maggio del 2010) dedicandoci qualche ora la sera. Ultimamente ho ricevuto delle proposte di collaborazione per la parte di interfaccia :)

Se consideriamo la funzionalità di un publish/subscribing, gli eventi difficilmente si sovrappongono ed è per questo che uso questa funzionalità in MaCaco :), ma ricorda che sottovalutare Murphy è il primo passo verso il baratro :)

L'implementazione parziale del TCP/IP di cui si parlava, era relativa al supporto alla frammentazione dei pacchetti e non all'algoritmo che regola l'occupazione della banda. Tra le righe il W5100 non supporta la frammentazione dei pacchetti (se non ricordo male). Quindi il problema non si pone.

Ritornando al protcollo MaCaco, utilizzare un protocollo derivato e non il Modbus è legato ai motivi già discussi, come tutte le decisioni ha dei pregi e dei vantaggi. Personalmente, non intendo introdurre una compatibilità verso prodotti commerciali.
La compatibilità verso prodotti commerciali proprietari ha senso se si sta progettando prodotto competitiore low cost, ma per un progetto Open Source non ne vedo l'utilità. Inoltre i costi necessari per testare ciò sarebbero fuori dalla mia portata.

Leggendo alcune tue considerazioni, come costo orario e retrocompatibilità, sembra che tu stia lavorando ad un progetto proprietario da immettere sul mercato. In quel caso, utilizzare un numero maggiore di nodi hardware ha un vantaggio diretto in termini di danari, ma è il motivo (a mio avviso) per cui i prodotti commerciali hanno un nodo per il clock, un nodo per gli scenari, un nodo per ogni cosa...

Relativamente a vNet, è un modo per avere tre funzionalità: astrazione, routing e bridging. Queste sono fornite a livello IP, ma non ho intenzione di sviluppare IP su un nodo, quindi uso una soluzione diversa con diverse analogie con IP. Questo mi garantisce delle funzionalità di base anche su interfacce MAC.

Detto questo, spero che da questa discussione nasca la possibilità di migliorare lo sviluppo del mio codice, basandomi su quanto da te fatto e viceversa. Ma tranquillo, non prenderò Apache! :)

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 12, 2012, 12:51 pm
I commerciali venderebbero anche la madre :)

Ho una decina di schde, tra arduino e chibiduino che utilizzo di volta in volta con cablaggi temporanei.

Per il CRC, anche aggiungendolo non avrei la compatibilità con il Modbus. Ho functional code diversi per risposta e richesta, questo semplifica tanto la gestione e mi risparmia la gestione di stato dei messaggi.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: shineangelic on Jan 24, 2012, 04:46 pm
Salve, ho provato a compilare l'esempio 6 di Souliss su Arduino Ethernet. Per non intasare il forum, ho annotato i miei problemi  sul wiki del progetto: https://sourceforge.net/p/veseo-souliss/wiki/Home/

Souliss sembra davvero un ottimo lavoro, complimenti, anche se la curva di apprendimento pare ripida! :)
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 24, 2012, 05:23 pm
Ciao,

il progetto supporta l'IDE 0022, in effetti non è riportato in modo chiaro. I problemi che hai riportato nei commenti al wiki sono tutti legati alla nuova IDE in versione 1. Nel wiki ho riporato alcune risposte.

Ti consiglio di utilizzare l'IDE 0022, il supporto alla versione 1 arriverà in futuro.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: testato on Jan 24, 2012, 05:48 pm
interessante come per 4 volte ti e' stato detto di usare la versione 022 (anche la 023 va bene), e tu continui come se niente fosse.
Lo scopo principale e' farlo funzionare o farlo funzinare su ide 1.0 ? :)
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 24, 2012, 05:58 pm

interessante come per 4 volte ti e' stato detto di usare la versione 022 (anche la 023 va bene), e tu continui come se niente fosse.
Lo scopo principale e' farlo funzionare o farlo funzinare su ide 1.0 ? :)


Colpa mia, sono io ad aver ripetuto quell'informazione più volte giusto per tenerne traccia. Ho risposto a tutte in un colpo.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 24, 2012, 06:13 pm
Per questione di ordine, ho riportato i problemi evidenziati in precedenza come ticket rimuovendo i commenti dal wiki.

Invito chiunque voglia ricevere supporto sul codice ad utilizzare i ticket, segnalando l'apertura anche via messaggio privato sul forum.

Grazie,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: veseo on Jan 31, 2012, 11:30 pm
E' disponibile la release A2.1 su SourceForge http://sourceforge.net/projects/veseo-souliss/, i contenuti sono invariati ma sono stati risolti alcuni bug.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Interfaccia utente
Post by: shineangelic on Mar 12, 2012, 10:47 am
Come suggerito da Dario vi posto il link alla demo del client Android:

http://www.youtube.com/watch?v=VK7Mra4EQTI

è ancora in fase di sviluppo, ma comincia a prendere forma. Scusate l'inglese da televendita, sono un po' arrugginito.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: testato on Mar 12, 2012, 11:53 pm
complimenti,
bel lavoro,
mi confermi che per ora si puo' usare solo sul wiz ? niente enc28j60 ?
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on Mar 13, 2012, 08:57 am

complimenti,
bel lavoro,
mi confermi che per ora si puo' usare solo sul wiz ? niente enc28j60 ?


Ciao,

attualmente vNet supporta W5100 e AT86RF230, ed in questi giorni stiamo valutando l'ipotesi di introdurre anche il supporto per ENC28J60.

Il punto interrogativo più grande è l'utilizzo di RAM, sicuramente maggiore del W5100. Da quello dipenderà il tipo di supporto, ma spero di riuscire nei prossimi mesi a completare l'integrazione.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on Mar 13, 2012, 10:33 am
Ciao,

io personalmente non ho mai riscontrato problemi nella gestione di congestione del TCP, inoltre la quantità di dati immessa nella rete è talmente bassa da non creare alcun sospetto al riguardo.
Nelle mie applicazioni ed in Souliss il W5100 non viene mai utilizzato insieme ad una memoria SD, quindi non so dirti se ci siano problemi al riguardo, ma in tal caso, credo siano da imputare alle librerie ad alla gestione SPI.

Relativamente a Souliss, non esiste una "competizione" tra W5100 ed EN26J80. Il punto, come evidenziato, è nella gestione delle socket TCP/IP e del conseguente impatto in RAM.
Attualmente, con l'utilizzo dell'interfaccia JSON, l'utilizzo di TCP/IP è imprenscindibile, ma è in valutazione quante socket riesco a gestire nel 328.

In vNet il W5100 resterà la scelta preferita, ma il supporto al EN26J80 è in valutazione perché ci sono alcune schede Arduino compatibili, adatte alla domotica che utilzzano tale chip.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: brainbooster on Mar 13, 2012, 12:39 pm
qualcuno ha mai provato lo stack µTCP/IP che c'è su Conitki o TinyOS?
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on Mar 13, 2012, 01:45 pm

tu su 328 sei messo molto peggio, fammi sapere quale e' il tuo consumo di risorse su arduino/Enc. Ho in previsione una xduino board + enc (e' una 328 tipo 2009 con su la enc)


Credo che alla fine riuscirò ad integrarlo senza la possibilità di avere due stack contemporanei e quindi senza la possibilità di fare il bridge Ethernet e Wireless, ma vedremo. Appena ho qualche dettaglio lo pubblico sul forum.

In alternativa al 328, puoi usare il 644 che ha 4Kbyte di RAM in più.


ti ho fatto pubblicita' sul forum nel thread dove si parlava di articoli su arduino+wiz perche' il tuo e' un gran bel lavoro.


Grazie mille, il forum è un buon strumento pubblicitario, attraverso il quale Souliss ha alcune collaborazioni, tra le quali quella di Alessandro per il client Android.

Qual'è il link del topic?

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on Mar 14, 2012, 04:07 pm

qualcuno ha mai provato lo stack µTCP/IP che c'è su Conitki o TinyOS?


E' un codice molto pulito, infatti sono combattuto nell'utlizzare quello stack con la libreria dell'EN28J60. Lo stack TCP/IP fornito con le librerie dell'EN28J60 non sono il massimo della vita.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on Mar 15, 2012, 12:32 pm

Mi ero dimenticato di rispondert
http://arduino.cc/forum/index.php/topic,94572.0.html

Dove hanno presentato l'articolo e dove abbiamo ricordato i vari problemi.
In quel topic sono citati un pio di link di altri topic dove i sono discussi anche workaround.


Tnk.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on Mar 30, 2012, 04:15 pm
Nuova documentazione disponibile al seguente link http://sourceforge.net/projects/veseo-souliss/files/User%20Guide/
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on Apr 03, 2012, 02:55 am
E' online il sito del progetto all'indirizzo www.souliss.net, continuerò ad utilizzare questo topic per riportare gli aggiornamenti.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: testato on Apr 03, 2012, 12:56 pm
grazie  :)
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on Apr 11, 2012, 01:26 am
E' disponibile per il download la versione A2.3, con diverse modifiche al JSON server necessarie per supportare l'applicazione Android sviluppata da shineangelic.

Dai repository è attualmente possibile scaricare sia Souliss, sia l'applicazione Android, i link per entrambi sono disponibili nella sezione download (http://www.souliss.net/p/downloads.html) del sito di Souliss.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: testato on Apr 11, 2012, 12:24 pm
mi chiedevo,
l'applicazione Android replica le funzioni dell'interfaccia via Browser ? Ha funzioni in piu'/meno ?

Cioe' se raggiungo il mio bel arduino Souliss tramite il browser integrato in android faccio le stesse cose che posso fare con l'applicazione ?
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: shineangelic on Apr 11, 2012, 12:39 pm


Cioe' se raggiungo il mio bel arduino Souliss tramite il browser integrato in android faccio le stesse cose che posso fare con l'applicazione ?


No, perchè il client android "astrae" il modello a tipici/nodi di souliss, permettendo un'interazione più user friendly. Posto che è ancora in fase di sviluppo, l'app dispone per esempio di un database, su cui loggare la 'storia' dell'impianto domotico e su cui definire dei comportamenti ad "alto livello" (impossibile con i 2K di Arduino). Per esempio è possibile definire comandi temporizzati o geolocalizzati, in modo da poter inviare comandi a souliss a determinate ore oppure quando usciamo di casa.

O ancora, si possono definire i comandi "sensor based", ovvero trigger che si attivano quando determinati sensori raggiungono un certo valore (ad es. se l'umidità supera l'85%, accendi il condizionatore)

I tipici supportati dal client alla versione 0.7 sono le luci (11, 12 e 14) ed i sensori corrente e temperatura. Questi ultimi non sono tuttavia ancora inclusi nella distribuzione 'ufficiale'...Dario ed io ci stiamo lavorando molto, ma integrare attuatori e sensori anche banali (ad es. DHT, fotodiodi, CT sensor) in un sistema domotico distribuito non è sempre banale :)

Inoltre il client android implementa un servizio in background che si occupa di mantenere il client aggiornato.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: testato on Apr 11, 2012, 03:37 pm
molto interessante, grazie della ripsosta,

se ho capito pero' questi comandi memorizzati lato android dalla tua app saranno funzionanti solo se sono online. Cioe' se spengo il telefono nessuno andra' a verificare il sensore umidita' e nessuno attuera' il relativo comando di accensione condizionatore.
Inoltre se esco di casa devo restare connesso al GPRS ed aver gestito correttamente il forward delle porte del rouoter con l'esterno.

Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: shineangelic on Apr 11, 2012, 04:08 pm

se ho capito pero' questi comandi memorizzati lato android dalla tua app saranno funzionanti solo se sono online. Cioe' se spengo il telefono nessuno andra' a verificare il sensore umidita' e nessuno attuera' il relativo comando di accensione condizionatore.
Inoltre se esco di casa devo restare connesso al GPRS ed aver gestito correttamente il forward delle porte del rouoter con l'esterno.


Sì, corretto. Purtroppo gestire il logging (e i trigger) a basso livello, ovvero direttamente sulla scheda, è difficoltoso per limiti di memoria. Richiederebbe di adottare schede più performanti, ma ci allontaneremmo dagli obbiettivi di economicità che per adesso rimangono primari.

Per quanto riguarda il forwarding è prevista anche la modalità VPN, che in Android è supportata nativamente ed è presente in quasi tutti i router domestici; questo naturalmente per evitare di avere una porta HTTP sempre aperta verso l'esterno.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on Apr 11, 2012, 08:17 pm

molto interessante, grazie della ripsosta,

se ho capito pero' questi comandi memorizzati lato android dalla tua app saranno funzionanti solo se sono online. Cioe' se spengo il telefono nessuno andra' a verificare il sensore umidita' e nessuno attuera' il relativo comando di accensione condizionatore.
Inoltre se esco di casa devo restare connesso al GPRS ed aver gestito correttamente il forward delle porte del rouoter con l'esterno.


Aggiungo un'ulteriore nota, una possibile configurazione prevede l'utilizzo di un tablet come touch screen dedicato alla gestione della casa, esistono numerosi modelli adatti a tutte le tasche. Inoltre per come è strutturato il meccanismo di interfacciamento, è possibile avere interfacce multiple allo stesso tempo.

In definitiva, un touch screen centrale con funzioni di supervisione e altri dispositivi portatili per la gestione fuori casa.

Concludo, la gestione delle sequenze a livello di client garantisce una maggiore flessibilità in termini di definizione delle sequenze stesse. Poi nulla vieta di introdurre del codice per la gestione di sequenze importanti direttamente nella scheda. Avere a disposizione il codice regala sufficiente libertà.

Saluti,
Dario.

Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: testato on Apr 11, 2012, 09:52 pm
certo,
infatti non erano critiche, era solo per capire il fumo come girava :)

non h mai usato VPN su android, da provare assolutamente.
non so quando finisco il mio attuale progetto, ma al prossimo giro mi butto di certo su questo.
Magari collaboro nei test.
Mi raccomando di avvisare su questo topic quando sara' possibile usare l'"ethernet dei poveri"  :)
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on Apr 11, 2012, 10:29 pm

certo,
infatti non erano critiche, era solo per capire il fumo come girava :)


Ci mancherebbe, anche le critiche sono ben accette.

Quote

non h mai usato VPN su android, da provare assolutamente.
non so quando finisco il mio attuale progetto, ma al prossimo giro mi butto di certo su questo.
Magari collaboro nei test.
Mi raccomando di avvisare su questo topic quando sara' possibile usare l'"ethernet dei poveri"  :)


Lo sviluppo per l'ENC28J60 è già iniziato, spero di riuscire in un mesetto a fornire i primi risultati.

Saluti,
Dario.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: testato on Apr 11, 2012, 10:35 pm
ottima tempistica, io spero in un mesetto di chiudere questo mio attuale, cosi' iniziamo insieme sull'enc  :)
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on May 12, 2012, 12:57 pm
Pur se con la velocità di un bradipo, ieri sono riuscito a gestire una connessione P2P su TCP/IP tra due ENC28J60.

Ero partito utilizzando lo stack TCP/IP incluso nella classica EtherShield indicata comunemente con le shield basate su ENC28J60, impiegando circa tre settimane di lavoro per riscrivere il codice ed avere una gestione multisocket. Funzionava, ma il risultato non era convincente.

Dopo qualche giorno di riflessione ho optato per l'utilizzo di uIP, lo stack utilizzato in Contiki. Attualmente in vNet è integrata la versione 0.90, di cui è disponibile un porting per AVR ed un'implementazione su ENC28J60.
La base di partenza era di tutt'altra pasta ed in un paio di settimane e qualche lieve modifica, sono riuscito a farlo funzionare ed integrarlo in vNet.

Nei prossimi giorni includerò anche il codice per il supporto dei metodi d'interfaccia della libreria Ethernet di Arduino, in modo da rendere disponibile anche l'implementazione del JSON server per l'interfaccia verso Android.

L'interrogativo principale resta la RAM, rispetto alla versione con W5100 c'è un consumo aggiuntivo di circa 300 bytes, ed attualmente non so se tutte le possibili configurazioni attualmente supportate da Souliss saranno implementabili sulla coppia 328P+ENC28J60.

Nelle prossime settimane verrà rilasciato il codice con il supporto ENC28J60 e la nuova roadmap di Souliss, con diverse novità, sopratutto nelle soluzioni di comunicazione supportate.

Saluti,
Dario.

Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: testato on May 12, 2012, 10:50 pm
ottimo,
ho visto che hai partecipato anche sul forum open di emanuele con il tuo progetto, complimenti  :)
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on May 12, 2012, 11:06 pm

ottimo,
ho visto che hai partecipato anche sul forum open di emanuele con il tuo progetto, complimenti  :)


Si, quella è stata una decisione presa d'impulso per migliorare la visibilità del progetto ed ha modificato notevolmente i piani, ad esempio anticipando di diversi mesi la pubblicazione del sito internet dedicato al progetto.
Title: Re: (Libreria) Souliss Home Automation / Aggiornamento: Android Client
Post by: veseo on Jul 17, 2012, 11:19 am


qualcuno ha mai provato lo stack µTCP/IP che c'è su Conitki o TinyOS?


E' un codice molto pulito, infatti sono combattuto nell'utlizzare quello stack con la libreria dell'EN28J60. Lo stack TCP/IP fornito con le librerie dell'EN28J60 non sono il massimo della vita.

Saluti,
Dario.


Riprendo il discorso, alla fine ho optato per uIP in versione 0.9, non è la più recente ma è quella che meglio si prestava all'integrazione.

Saluti,
Dario.
Title: Re: Souliss Home Automation / Supporto ENC28J60
Post by: veseo on Jul 18, 2012, 12:05 am
Anche se con tempi molto più lunghi del previsto, è disponibile la versione A3 di Souliss, che tra le altre cose include il supporto al ENC28J60. Di fatto, l'utilizzo di ENC28J60 introduce Souliss alla prima scheda "pronta all'uso" supportata dal framework, la DINo di KMTronic.

Sul sito del progetto sono riportati maggiori dettagli sulle novità in atto e quelle future.

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT
Post by: veseo on Dec 26, 2012, 04:00 pm
Buongiorno e Buone Feste Forum,

dopo qualche mese di sviluppo è stata rilasciata la nuova versione (A4) di Souliss, con molte novità ed una struttura di base rinnovata e pensata per i prossimi sviluppi.

Ormai è passato più di un anno dalla prima versione di Souliss e le linee guida dello sviluppo sono parzialmente cambiate, pur rimanendo all'interno dell'idea originale.

Il passo in avanti più significativo è nell'adozione di protocolli binari per tutte le funzionalità, lasciando i protocolli ASCII ad un ruolo secondario. Fino alla versione precedente la comunicazione utilizzava un protocollo binario solo se intercorreva tra schede, non verso le interfacce utente, ora invece anche l'interfaccia Android usa MaCaco su vNet e per tutte le altre c'è Modbus in versione RTU e TCP.

Il perché di questa scelta ha dietro due aspetti, il primo era nella gestione di protocolli ASCII e contemporaneamente dello stack IP in software, pur funzionando il numero di iterazioni per processare i dati era eccessivo e le prestazioni di conseguenza non erano all'altezza, cosa che non accadeva usando lo stack IP in hardware.
L'utilizzo di protocolli binari permette di gestire tutte le informazioni senza frammentazione su diversi pacchetti, con il risultato di un'interazione immediata. Ottenendo anche una riduzione dell'uso di RAM, dovuta anche ad una nuova gestione dei buffer dati.

Ora l'interazione è immediata e ad un comando si ottiene in risposta lo stato in pochi istanti, anche se le informazioni devono passare tra più nodi, questo indipendentemente dal controller utilizzato (W5100, ENC28J60).

Un ulteriore vantaggio è nella iterazione basata su eventi, quindi lo smartphone non effettua più delle richieste periodiche a scadenze brevi, ma viene aggiornato direttamente dalla scheda solo se c'è variazione dei dati. Questo ha un impatto positivo in termini di batteria e carico.

Fino a qui, non si è fatto altro che dare vita ad idee nate da subito, ma implementate in modo graduale.

Una novità è invece nell'uso di Modbus ed in futuro di altri protocolli binari. Che Modbus non sia una novità in senso assoluto è noto, ma è un protocollo che all'inizio era stato scartato perché nato per l'automazione industriale e di conseguenza non sempre presente nelle interfacce per la domotica, sopratutto in quelle moderne.

Cosa è cambiato? Per la domotica ad oggi non esistono protocolli "liberi" e Modbus sta iniziando ad essere supportato da diversi progetti di domotica come openHAB o Freedomotic, inoltre le interfacce SCADA basate su Modbus sono tantissime.

Da oggi le schede possono essere viste come degli slave Modbus, resta sempre il concetto di aggregatore, si accede dunque ad un nodo per raccogliere i dati di tutte le schede. In pratica Modbus è un protocollo di front-end e sostituisce HTTP/JSON (che non è stato dismesso).

L'utilizzo di Modbus ha portato al supporto da parte di IntegraXor, uno SCADA basato su web e grafica sviluppata in Inkscape (SVG), quindi è possibile creare il proprio disegno di interfaccia e gestirlo come pagina web da cellullare o computer, andando ad interagire direttamente con i propri Arduino che montano Souliss.
Per ora non abbiamo ancora rilasciato un'interfaccia basata su Inkscape, ma chiunque può disegnarsi la propria.

Altre modifiche minori sono presenti, come la gestione IR e Climatizzatore; siamo passati alla IDE1 e l'applicazione Android è disponibile anche direttamente dal market Play Store.

Questo anno di lavoro credo abbia portato ad un progetto ben strutturato, con ancora margini di sviluppo, su cui è arrivato il momento di tirare le somme.
Sicuramente per l'inizio dell'anno ridurremmo il tempo speso nello sviluppo per dedicarci alla diffusione e l'uso di Souliss, provando a capire quanto sia effettivamente considerato valido. Inoltre cercheremo di impegnarci sugli aspetti di documentazione, ad oggi parziali e non sempre aggiornati.

L'appello è dunque a chi sia interessato agli argomenti della domotica ed Internet of Things, perché possa contribuire, si può partire dal semplice uso (commento e consigliando), passando per la pubblicizzazione fino ad arrivare allo sviluppo. Giusto per dare un'idea, riporto alcune attività in programma:
- Integrazione via Modbus in sistemi di domotica per l'IoT come openHAB e di supervisione come Freedomotic;
- Realizzazione di un'interfaccia grafica in Inkscape;
- Introduzione di soluzioni in broadcasting;
- Introduzione di soluzioni per l'autoconfigurazione.

Lato hardware ci stiamo muovendo su diversi fronti, il più probabile sarà quello di utilizzare l'hardware di Olimex, che attualmente offre dei blocchi funzionali da comporre per realizzare soluzioni wireless e wired.

Il prossimo anno sarà decisivo per il progretto, perché dall'uso che si determinerà andrà a dipendere come verrà supportato in futuro, se continuerà ad essere un progetto aperto o se si rinchiuderà nelle esigenze specifiche di pochi.

Buone feste.

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT
Post by: PaoloP on Dec 26, 2012, 04:17 pm
x iscrizione
Title: Re: Souliss, Domotica e IoT
Post by: testato on Dec 26, 2012, 07:50 pm
Ricambio gli auguri di buone feste e mi fa piacere il progetto continui.
Mi chiedevo, visto gli investimenti che hai fatto in termini di tempo, quale è il target finale ? Intendi vendere il SW ? Vuoi fare hardware tuo ? Che licenza stai usando ?
Title: Re: Souliss, Domotica e IoT
Post by: veseo on Dec 26, 2012, 10:25 pm
Il codice sia lato AVR, sia lato Android, usa la licenza GPLv3. Altre librerie open source utilizzate possono avere licenze diverse, ma si tratta sempre di codice open-source.

Ho iniziato a lavorare su questo progetto perché avevo visto una grande partecipazione attorno gli argomenti inerenti la domotica, senza che ci fosse un progetto ben strutturato attorno. Non nascondo, che dopo il primo rilascio del codice l'anno scorso, immagginavo una partecipazione maggiore di quanto, lecitamente, avvenuto sia da parte della comunità e di Arduino stessa.
Fino ad oggi il progetto è andato avanti perché in due abbiamo avuto una passione ed un obiettivo comune, ed abbiamo portato avanti lo sviluppo pensado ad un lavoro pubblico e ci piacerebbe che divenisse maggiormente un progetto di comunità.

Questo per dire che non c'è un progetto di monetizzazione, l'attuale obiettivo è quello di rendere il framework utilizzato, perché crediamo che ci sarà margine per l'IoT e la customizzazione elettronica, non solo a livello didattico/prototipazione, ma a livello di prodotto.

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT
Post by: testato on Dec 26, 2012, 10:46 pm
Ho avuto le tue stesse impressioni, ma ero piu' preparato in quanto gia' precedentemente ho visto bellissimi progetti senza poi seguito.
E' una tara da usare sul concetto generale di open source, di collaborazione, spesso al concetto di internet stesso.
Quando Masimo Banzi diceva di non essere ricco non ci credevo, visto la risonanza mondiale di Arduino, poi pian piano mi sono ricreduto. E' un mondo legato principalmente al fai da te, migliaia di persone al giorno leggono, buttano giu' un circuito, fine. Niente feedback, niente interfacciamento, niente contributi.
Title: Re: Souliss, Domotica e IoT
Post by: veseo on Dec 27, 2012, 01:50 am
Che non tutti gli utenti contribuiscano è normale, io sono utente di vari progetti open-source ai quali non contribuisco, giusto per citarne alcuni Notepad++ ed Inkscape.

Non sono d'accordo nel generalizzare, perché ci sono tanti esempi di comunità che funzionano, tra cui c'è sicuramente quella di Arduino che forse si caratterizza rispetto alle altre per una maggiore influenza anarchica, ma non è detto che sia un difetto.

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT
Post by: testato on Dec 27, 2012, 09:56 am
Specialmente la sezione italiana  XD
Title: Re: Souliss, Domotica e IoT
Post by: Madwriter on Feb 06, 2013, 04:52 pm

Specialmente la sezione italiana  XD


Solamente la sezione italiana  :smiley-yell:
Title: Re: Souliss, Domotica e IoT
Post by: veseo on Feb 12, 2013, 10:12 pm
E' disponibile la nuova versione Alpha 4.1 di Souliss, la cui più importante novità è il supporto di diversi moduli prodotti da Olimex. L'idea di supportare le schede del produttore bulgaro è radicata nel tempo, ma si è concretizzata solo ora per via delle diverse scelte tecniche fatte rispetto al progetto Arduino stesso. Il tutto è diventato più fattibile con l'introduzione nella relase A3 dello stack uIP, rendendo possibile l'utilizzo di controller ethernet senza il supporto in hardware per la gestione TCP/IP.

Altri due aspetti di interesse sono la possibilità di realizzare soluzioni modulari attraverso l'estensione UEXT ed il costo contenuto dei moduli.

Le schede a microcontrollore attualmente supportate sono:
- AVR T-32U4,
- OLIMEXINO-32U4,
- OLIMEXINO-328

I moduli di comunicazione attualmente supportate sono:
- MOD-ENC28J60 (Ethernet)
- MOD-WIFI (WiFi)

I moduli di I/O attualmente supportate sono:
- MOD-IO2 (2 relé, 7 GPIO)

Ad esempio, un nodo ethernet con 2 relé e 7 GPIO costa (senza iva) 40 euro per dimensioni complessive compatte.

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT
Post by: shineangelic on Mar 10, 2013, 11:03 pm
Rilasciata sul Play market la versione 1.1.6 di SoulissApp
Title: Re: Souliss, Domotica e IoT
Post by: veseo on Apr 22, 2013, 11:27 pm
Il lavoro per l'integrazione dell'hardware prodotto da Olimex è praticamente terminato, nella nuove versione verranno aggiunti i driver per MOD-RGB e MOD-IO. Di seguito alcuni video che mostrano brevemente alcune funzionalità implementate con queste schede.

A Relay WiFi node controlled via Android application and/or Modbus TCP
https://www.youtube.com/watch?v=04xzJ3MDz3k

A simple network of two nodes, a relay one and an RGB LED controller with p2p interaction
https://www.youtube.com/watch?v=92A-zQTPEXc

The same RGB LED controller driven by the music played by the smartphone via FFT
https://www.youtube.com/watch?v=3b95QNQGBcM

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT
Post by: PaoloP on Apr 23, 2013, 09:03 am
Vi rinnovo i complimenti per il vostro progetto.
Credo che si possa spostare in MegaTopic.  ;)
Title: Re: Souliss, Domotica e IoT
Post by: testato on Apr 23, 2013, 09:58 am
Assolutamente megatopic
Title: Re: Souliss, Domotica e IoT
Post by: veseo on Apr 23, 2013, 09:24 pm
:D
Title: Re: Souliss, Domotica e IoT
Post by: roxis1 on May 06, 2013, 01:22 pm
Ciao a tutti,
sono un utente nuovo e sono molto affascinato dalla possibilità di creare la domotica souliss nella mia nuova casa. Se qualcuno di voi riuscisse a darmi una mano gliene sarei molto grato.
Per iniziare vorrei acquistare una board con la quale iniziare a "smanettare" un po. Avrei pensato alla Kmtronic Di No. Da quanto ho letto ha 4 ingressi e 4 uscite relè. Siccome necessiterei di molti più attuatori posso collegare in cascata degli altri relè o devo replicare delle altre board con indirizzi ip diversi?
Sarei molto grato se qualcuno mi girasse dei progetti hw/sw funzionanti in modo da poterne trarre spunto.
Grazie ancora per l'attenzione e grazie a chi vorrà aiutarmi.
ciao
Title: Re: Souliss, Domotica e IoT
Post by: veseo on May 06, 2013, 09:37 pm
Ciao,

per partire fatti un giro sul wiki di Souliss (domani esce la nuova versione) per iniziare a capire cosa puoi realizzare e come, se hai domande generali puoi farle direttamente qui, se sono di dettaglio è meglio inserirle sul forum di Souliss.

In relazione alla tua domanda, la risposta è NI. La DINo supporta la connessione in RS485, puoi quindi utilizzare i moduli a relé di KMTronic per espandere il numero di relé, KMTronic dovrebbe aver diffuso degli esempi di utilizzo, perché in Souliss non è attualmente supportata l'estensione via RS485 dei relé, ma dovrebbe essere semplice realizzarla.

Sul sito trovi tutto l'hardware supportato, così puoi decidere come muoverti.

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT
Post by: joy079 on May 15, 2013, 02:45 pm
salve sono un dummies ho seguito passo passo la procedura per il programma più semplice del souliss hello world con arduino uno rev. 3 ho installato le librerie in libraries e ho modificato il file QuickCfg.h dentro \conf ho caricato il progetto sulla scheda arduino ma non riesco nemmeno a pingarlo. ho seguito la guida passo passo. ip 192.168.1.17 netmask 255.255.255.0 .
il programma blink semplice funziona bene. Potreste darmi qualche altra dritta? tnks
Title: Re: Souliss, Domotica e IoT
Post by: veseo on May 15, 2013, 09:49 pm
Ciao,

certo, essendo un aspetto di dettaglio ti invito a spostarti sul forum del progetto (il nuovo su g group) in modo da vedere quale possa essere il problema.

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT
Post by: veseo on Aug 04, 2013, 02:51 pm
Qualche nuova funzionalità prima della pausa estiva.

http://www.souliss.net/2013/07/souliss-alpha-45-now-available-for.html

Saluti,
Dario.

Title: Re: Souliss, Domotica e IoT
Post by: veseo on Aug 05, 2013, 08:31 am
Credo l'unica sia DINo di KMTronic, si basa su ENC28J60 e non su W5100.

Qui qualche dettaglio
http://www.souliss.net/2013/01/kmtronic-dino-back-in-stock.html

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT
Post by: Bertu65 on Aug 30, 2013, 10:30 am
Ciao a tutti,
innanzi tutto complimenti per l'immenso lavoro svolto e soprattutto per la condivisione.

È da circa 3 mesi che ho scoperto Arduino ed il suo mondo e me ne sono subito innamorato.

Sto un po' impazzendo perché leggo cosí tanto che alla fine devo fare attenzione a non fare confusione.

Ho anche acquistato alcune board e diversi sensori e display, una scheda relé, un paio di w5100 e di ENC28J60 il tutto per avere a disposizione quello che puó servire per fare pratica ed imparare.

L'anno prossimo costruiro casa e sto cercando la soluzione piú idonea ad un sistema domotico e devo dire che Souliss mi sembra assolutamente eccezionale perché é stato concepito con i criteri di distribuzione a cui stavo pensando anche io.

A parte che io sono un elettronico e non un informatico e quindi avró diversi problemi nel capire alcuni passaggi della realizzazione, mi chiedevo se é o sará possibile un'interazione tra prodotti commerciali e Souliss.

Esempio classico potrebbe essere lo standard KNX ma non solo. Questo perché potrebbe tornare utile la possibilitá di avvalersi di qualche attuatore o controllore "particolare".

Alberto

Title: Re: Souliss, Domotica e IoT
Post by: veseo on Aug 30, 2013, 07:17 pm
Ciao Alberto,

non è prevista l'integrazione con prodotti commerciali, anche perché la maggior parte non lo permetterebbero. Se vuoi integrare delle soluzioni open-source con KNX, puoi provare openHAB o altri progetti simili.

In particolare openHAB è un server scritto in JAVA con interfaccia web ed Android, contiene diversi plug-in, tra cui quello per comunicare con il gateway KNX. L'associazione KNX rilascia delle librerie JAVA compilate (quindi non c'è la possibilità di metterci le mani dentro) per integrare software esterni, non rilasciando apertamente le specifiche, non è possibile lavorare ad altri tipi di integrazione.

In generale, Souliss ha funzionalità tali da porsi (con i dovuti limiti) come alternativa ai sistemi chiusi o aperti ai soli soci delle varie alleanze.

Spero che tu abbia modo di utilizzare Souliss, non è difficile utilizzarlo ne tantomeno svilupparne funzionalità, è sostanzialmente C. Neanche io sono un informatico ed in generale i microcontrollori sono una linea di confine, quindi non lasciarti spaverntare da ciò.

In futuro potrebbe esserci (o meglio, mi piacerebbe che ci fosse) un plugin per Souliss in openHAB.

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT
Post by: Bertu65 on Aug 30, 2013, 07:59 pm
Da quel poco che ho potuto vedere Souliss mi sembra una scelta vincente.
Quello che mi lascia perplesso, soprattutto a causa della mia incompetenza nella programmazione, é l'interfaccia utente che purtroppo é quello che conta di piú perché é ció con cui si interagisce in continuazione mentre quello che non si vede conta fino ad un certo punto ed alla fine incide solo sul prezzo finale

Il discorso dell'interfacciamento con i sistemi commerciali deriva dal fatto che inizialmente avevo visto il server IKON che ha anche una bella interfaccia ed a cui si possono connettere comandi ed attuatori di tecnologie diverse; Arduino mi era venuto in mente come alternativa a tutto ció che non si vede e che se commerciale, costa un botto.

Nei prossimi giorni proveró a giocare ed a capire Souliss e vediamo se mi "innamoro"  :)

Alberto




Title: Re: Souliss, Domotica e IoT
Post by: veseo on Aug 30, 2013, 08:05 pm
Il bello (a mio avviso) di Souliss è che non esistono server intesi come nodi dedicati, le funzionalità sono modulari, quindi puoi realizzare una installazione scalabile mantenendo il costo a livelli ragionevoli. I sistemi commerciali non sono pensati per automatizzare piccole porzioni della casa, quindi non puoi neanche realizzare un'installazione a pezzi, un po per volta.

Partecipa al gruppo di discussione e proponi e suggerisci le tue idee o i tuoi dubbi.

A presto,
Dario.
Title: Re: Souliss, Domotica e IoT
Post by: Bertu65 on Aug 30, 2013, 08:55 pm

Il bello (a mio avviso) di Souliss è che non esistono server intesi come nodi dedicati, le funzionalità sono modulari, quindi puoi realizzare una installazione scalabile mantenendo il costo a livelli ragionevoli. I sistemi commerciali non sono pensati per automatizzare piccole porzioni della casa, quindi non puoi neanche realizzare un'installazione a pezzi, un po per volta.

Partecipa al gruppo di discussione e proponi e suggerisci le tue idee o i tuoi dubbi.

A presto,
Dario.


Mi puoi spiegare meglio cosa vuol dire quello che ho evidenziato

Per quanto mi riguarda l'idea che ho maggiormente in testa é quella di avere tanti arduino sparsi per la casa, ognuno che si occupa di un certo numero di funzioni (comandi, attuazioni e sensori) e con un altro o piú arduino che sono invece dedicati all'interfaccia utente via web o locale a mezzo display e che semplicemente ricevono gli stati dagli altri arduino e possono inviare loro le richieste che arrivano dall'utente via interfaccia web/android/display e che quindi si occupano anche degli scenari. Scenari anche gestibili in altro modo da altri arduino (esempio via pulsanti dedicati opportunamente allocati)

In questo modo il sistema é modulare, non ha un master e in caso di avaria viene esclusa solo la sezione guasta.

L'integrazione dovrebbe prevedere illuminazione, sicurezza, riscaldamento, ricircolo aria, porte finestre e tapparelle, eventuale solare termico ed elettrico e audio/video diffusione.....insomma, tutto quello che riusciró a metterci

In poche parole cosí e come lo vedrei io e Souliss mi sembra proprio che vada in questa direzione.
Title: Re: Souliss, Domotica e IoT
Post by: veseo on Aug 31, 2013, 12:23 am
Che le funzionalità dei nodi sono modulari, puoi scalare dal controllo di una luce con una scheda a dieci luci su dieci schede o qualsiasi altra cosa ti venga in mente, in termini di architettura sei libero. In pratica su un ATmega328 puoi farci girare tutto quello che ti serve, non hai bisogno di nodi esterni dedicati all'interfaccia utente.

Quello che hai detto (a meno della parte audio) è fattibile con Souliss e diverse persone lo utilizzano in quel modo.

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT
Post by: veseo on Sep 16, 2013, 11:10 pm
Segnalo un paio di sviluppi interessanti portati avanti da alcuni utenti: il primo è l'integrazione con RCSwitch per controllare attraverso Android le classiche spine RF che si trovano in giro a pochi euro; il secondo è lo sviluppo di un sistema multimediale basato su Android.

http://www.souliss.net/2013/09/controlling-cheap-rc-power-socket.html

http://www.souliss.net/2013/09/showcase-lorenzos-souliss.html

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT basata su Arduino ed Android
Post by: veseo on Sep 25, 2013, 11:49 am
Alcuni progressi del lavoro portato avanti con Marco Signorini di Ethermania,
(http://1.bp.blogspot.com/-DutyzU9fokU/UkH9Mv5SwfI/AAAAAAAAApA/sN0NosahZMo/s640/485BlockMultiLED_Front.jpg)

http://www.souliss.net/2013/09/3d-rendering-for-new-rs-485-boards.html

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT basata su Arduino ed Android
Post by: veseo on Nov 13, 2013, 10:53 pm
E' stata rilasciata la versione Alpha 5, che contiene come novità principale la funzionalità plug&play. Basterà collegare le schede (Ethernet, wireless punto-punto, RS485) e le schede formeranno una rete in modo autonomo, attraverso uno strumento simile ad un DHCP.

Con questa novità Souliss potrà essere precaricato, in modo che un potenziale utente, possa usare delle schede pronte senza dover ricompilare il codice (a meno di voler aggiungere funzionalità specifiche).

Qualche dettaglio in più qui:
http://www.souliss.net/2013/11/lets-jump-in-alpha-5.html

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT basata su Arduino ed Android
Post by: ratto93 on Nov 14, 2013, 01:58 pm
Incredibile il tuo progetto è davvero molto bello, bravo Veseo !!! :)
Title: Re: Souliss, Domotica e IoT basata su Arduino ed Android
Post by: veseo on Nov 14, 2013, 02:08 pm

Incredibile il tuo progetto è davvero molto bello, bravo Veseo !!! :)


C'è un po di gente che ci gira intorno e mi aiuta, non faccio tutto da solo! :)

Dario.
Title: Re: Souliss, Domotica e IoT basata su Arduino ed Android
Post by: ratto93 on Nov 14, 2013, 02:11 pm


Incredibile il tuo progetto è davvero molto bello, bravo Veseo !!! :)


C'è un po di gente che ci gira intorno e mi aiuta, non faccio tutto da solo! :)

Dario.

I complimenti allora vanno pure a loro :)
Title: Re: Souliss, Domotica e IoT basata su Arduino ed Android
Post by: veseo on Dec 20, 2013, 01:34 pm
E' da poco uscita la quinta release di Souliss, che include per la prima volta il supporto a funzionalità plug&play. Da questo momento, è possibile precaricare Souliss su schede compatibili e poterle inserire in un qualsiasi contesto di rete senza configurazione da parte dell'utente.

In pratica, usando broadcast le schede si associano ad un gateway che viene identificato anche da SoulissApp. C'è un video che rende l'idea meglio delle parole usate :)

http://www.souliss.net/2013/12/turn-your-arduino-into-smart-home.html

Saluti,
Dario.
Title: Re: Souliss, Domotica e IoT basata su Arduino ed Android
Post by: arduluca on Apr 28, 2015, 11:22 pm
Buona sera a tutti avrei una domanda per veseo,dove posso trovare tutte le librerie per souliss e poi e possibile avere avere un manuale o pure qualche dritta per la configurazione?Ho provato a caricare ben 2 librerie ma senza alcun risultato mi da sempre degli errori come questo in allegato,
le librerie che ho caricato sono queste:

souliss-friariello
souliss-e5823881f78d

io sto usando Arduino mega e Ethernet  shield,
ringrazio in anticipo luca


Code: [Select]
NodoSouliss_Sketch.ino:15:28: fatal error: bconf/inSketch.h: No such file or directory
compilation terminated.
Errore durante la compilazione


NodoSouliss_Sketch.ino:22:23: fatal error: SpeakEasy.h: No such file or directory
Title: Re: Souliss, Domotica e IoT basata su Arduino ed Android
Post by: veseo on Apr 29, 2015, 09:00 am
Ciao Luca,

il generatore automatico di sketch è stato realizzato da un utente per la versione A6.1.4, di conseguenza non puoi usarlo con la versione v7 (friariello).

Nella pagina ufficiale dei download vedrai che la release pubblica è ancora la la A6.1.4 ed il wiki (documentazione) ed il resto fanno riferimento a quella versione.

Fai riferimento ai link sotto per maggiori informazioni,
https://github.com/souliss/souliss/wiki

https://github.com/souliss/souliss/wiki/Downloads
Title: Re: Souliss, Domotica e IoT basata su Arduino ed Android
Post by: wifi75 on Sep 06, 2017, 03:47 pm
Ciao a tutti, è possibile utilizzare direttamente schede nodemcu v3 collegate al wifi di casa e l'applicazione per android souliss per ontrollare dei rele a tempo ecc ?

quale skretch occorre?

 
Title: Re: Souliss, Domotica e IoT basata su Arduino ed Android
Post by: zoomx on Sep 12, 2017, 08:29 am
Si, trovi gli esempi nel sito del progetto. C'è una sorta di forum in Google Groups sia in inglese che in italiano.