Periferiche compatibili

131 views
Skip to first unread message

Flavio

unread,
Aug 2, 2013, 1:27:48 AM8/2/13
to sou...@googlegroups.com
Salve a tutti, ho da poco scoperto Souliss, complimenti agli sviluppatori, ottima app....
Sto pensando di aggiungere un pò di domotica alla mia nuova casa,e Souliss mi è piaciuta molto!
Valutando l'hardware, sono rimasto attratto dalla beaglebone black (http://beagleboard.org/Products/BeagleBone%20Black), e mi chiedevo 
se questa scheda, economica di soli 45$ e con tutte le periferiche già a bordo, sia una delle prossime aggiunte alla lista di compatibilità!!!
Ethernet a bordo, molti I/O, usb host e client, HDMI (potrebbe pilotare uno schermo qualsiasi in casa), MMC e molti S.O. già disponibili.
Le dimensioni sono simili all'arduino, poco più in lunghezza....

Attendo vostre info!

Grazie mille
Flavio

Di Maio, Dario

unread,
Aug 2, 2013, 3:14:16 AM8/2/13
to sou...@googlegroups.com

Ciao Flavio,

Generalmente supportiamo l'hardware offerto dai vari produttori, rimanendo nell'ambito di schede a microcontrollore per la gestione delle attuazioni.

Una Beagle Bone con Android può far girare SoulissApp, ma i nodi installati in casa devono basarsi su hardware supportato.

Non é in programma l'uso della BeagleBone, ma nulla vieta che qualcuno possa lavorare ad un porting.

Saluti,
Dario.

From mobile.

--
You received this message because you are subscribed to the Google Groups "souliss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to souliss+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Flavio Piccolo

unread,
Aug 2, 2013, 4:10:28 AM8/2/13
to sou...@googlegroups.com

Capisco che non sia in previsione, e che non possiate fare porting su moltissimi hardware, anche perché penso siate già abbastanza impegnati, facevo solo presente tale soluzione in quanto economica sia per far girare l'app in un hardware fisso in casa che per i nodi. In questo modo ci sarebbe un'hardware unico per i nodi e il "master".

From Mobile Nexus

Di Maio, Dario

unread,
Aug 2, 2013, 5:09:42 AM8/2/13
to sou...@googlegroups.com

Figurati, ogni suggerimento é il benvenuto. Se hai modo di lavorarci, possiamo vedere come collaborare.

From mobile.

Flavio Piccolo

unread,
Aug 2, 2013, 5:56:09 AM8/2/13
to sou...@googlegroups.com

Si in realtà ne ho un paio....ma non so nulla o quasi della vostra app....devo guardare bene....come dicevo l'ho scoperta da poco.... Fino ad oggi ho sempre usato solo Arduino.....ho automatizzato un po casa....

From Mobile Nexus

Di Maio, Dario

unread,
Aug 2, 2013, 6:06:23 AM8/2/13
to sou...@googlegroups.com

Ti possiamo dare una mano :-) con quale SO lavori?

From mobile.

Flavio Piccolo

unread,
Aug 2, 2013, 6:07:05 AM8/2/13
to sou...@googlegroups.com

Ubuntu o winzozz....

From Mobile Nexus

Di Maio, Dario

unread,
Aug 2, 2013, 7:38:14 AM8/2/13
to sou...@googlegroups.com
Un'idea interessante che cullo da parecchio tempo è quella di un porting in Java, per utilizzare Souliss anche su schede Windows o Linux. La parte interessata è MaCaco, mentre non è necessario fare il porting di vNet, da li po si deve decidere come sfruttare il codice.

Le possibilità sono diverse, si può realizzare un nodo completo (equivalente a quelli basati su ATmega) oppure delle varianti d'uso, come un interfaccia grafica oppure uno strumento di configurazione.

Altre idee sono ben accette.

Ti interessa?

Saluti,
Dario.




2013/8/2 Flavio Piccolo <master.fla...@gmail.com>

Flavio Piccolo

unread,
Aug 2, 2013, 7:58:02 AM8/2/13
to sou...@googlegroups.com
Molto, il fatto interessante è che potrebbe diventare uno SCADA vero e proprio, sviluppando il driver adatto ad ogni periferica, addirittura in un futuro si può pensare di sviluppare qualche driver anche per i PLC più commerciali,quali Siemens Schneider(che conosco bene)....per l'automazione industriale.
Facendo un porting su linux(per rimanere completamente open), a mio avviso si potrebbe ricavare un notevole numero di utenti....
Il problema è che non credo di avere le competenze per arrivarci da solo....
Però mi piacerebbe molto avere maggiori info per capire cosa intendete voi con il darmi una mano....


P ********* Consideriamo l'ambiente prima di stampare questa e-mail *** Think about environment before printing *********
Il contenuto di questo messaggio e-mail è privato e riservato al solo destinatario. L'utilizzo non autorizzato può costituire reato. Se ricevuto erroneamente siete pregati di cancellarlo e comunicarci via e-mail l'errata ricezione.

Di Maio, Dario

unread,
Aug 2, 2013, 8:13:23 AM8/2/13
to sou...@googlegroups.com
Parto dalla tua ultima domanda, il codice di partenza essendo in gran parte C, si può portare in Java e realizzare un'applicazione che sia in grado di comunicare con i nodi della rete. Io posso aiutarti negli aspetti di debug e progettazione, Alessandro credo sia disponibile allo stesso modo, inoltre lui conosce Java.

Personalmente non punterei molto agli SCADA, sono un concetto del passato. Souliss nelle ultime versioni ha introdotto Modbus TCP ed RTU proprio per avvicinarsi a quei mondi, con successo d'utenza scarso. I sistemi SCADA richiedono tempi di configurazione elevati e studio, non alla portata dell'utenza media.
Per fare un esempio, SoulissApp crea l'interfaccia utente a partire dalla configurazione dei nodi senza richiedere intervento esterno. Il lavoro nel tempo si sta spostando sul rendere l'attività di configurazione per quanto possibile limitata.

Un'applicazione a mio avviso interessante è quella di rendere un PC al pari di un nodo Souliss, ovvero in grado di poter gestire ed essere gestito attraverso il collegamento alla rete. Un esempio banale, vedere il PC come un nodo Souliss in grado di attuare programmi, permettendo ad esempio di controllare l'apertura o la chiusura di player multimediali, o semplicemente lo spegnimento a distanza.

E' un lavoro, perché richiede tempo e manutenzione, ma se hai voglia di tuffarti, sarai il benvenuto.

Saluti,
Dario.

Flavio Piccolo

unread,
Aug 2, 2013, 8:40:27 AM8/2/13
to sou...@googlegroups.com
Se non ho capito male, tu vorresti controllare un pc per far partire un brano da ascoltare nella stanza 1, far partire un video nella stanza 2....etc etc....
Sentendola così, a me viene in mente XBMC, che già può essere controllato da lan.
Souliss trova un Apparecchiatura con XBMC(anche beaglebone o raspberry) e si configura per poterlo pilotare, con ip e porta e quant'altro....
Però,tutto questo, ammesso che a voi vada bene usare xbmc, ci sarebbe solo da lavorare lato Souliss...
Per lo SCADA, io penso sia sbagliata la piattaforma di appoggio, android nasce per mobilità,quindi scarsamente usato in ambiente industriale, mentre (sempre a mio avviso ovviamente), linux sta conquistando un pò di fiducia, con kernel stabili e poco esosi di risorse; aggiungendo poi che windows si sta orientando sempre più al concetto di mobilità e gestione con app...


Io non vi posso promettere nulla, diciamo che mi attira molto,ed è già un buon punto di partenza, però vi assicuro che anche mettendoci molto tempo, cosa che per ora posso fare, non sono al vostro livello!Mi servirebbero molte informazioni! 


--
You received this message because you are subscribed to the Google Groups "souliss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to souliss+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Flavio Piccolo

unread,
Aug 2, 2013, 10:35:49 AM8/2/13
to sou...@googlegroups.com
Che IDE usate per editare e debuggare?

Di Maio, Dario

unread,
Aug 2, 2013, 11:24:32 AM8/2/13
to sou...@googlegroups.com

In realtà in un ottica piú generale, avere un programma a cui collegare funzionalità, non vincolato ad una singola applicazione.

Conosci AutoHotKey? Un'estensione attraverso Souliss risulterebbe a mio avviso estremamente versatile.

In relazione alle competenze, se c'é voglia e tempo, si riesce a realizzare ció che si desidera.

Ritornando al discorso SCADA, Souliss non nasce per l'ambito industriale, ma se sei interessato a realizzarne uno, puoi partire da MBlogic. É uno SCADA open-source vettoriale, le pagine grafiche si realizzano in Inkacape.

Se invece vuoi utilizzare uno SCADA con Souliss, senza doverme realizzare uno, puoi usare Integraxor e comunicare via Modbus TCP.

Saluti,
Dario.

From mobile.

Di Maio, Dario

unread,
Aug 2, 2013, 11:29:49 AM8/2/13
to sou...@googlegroups.com

Alla fine tutto deve andare con bootloader e IDE Arduino, con innumerevoli limitazioni.

Se hai un nodo Ethernet con cui iniziare a giocare, prova l'esempio PlayAndroid che mostra i frame UDP con cui controllare la scheda.
Per iniziare puoi usare Hercules per generare frame UDP, poi puoi realizzare tu delle socket in Java.

Ci sono due documenti in PDF utili per studiare i dettagli di funzionamento, ma possiamo vederli insieme passo passo.

Saluti,
Dario.

From mobile.

Flavio Piccolo

unread,
Aug 3, 2013, 2:26:16 AM8/3/13
to sou...@googlegroups.com
Capito.....ci sarebbe molta carne al fuoco, ora comincio a giocare con souliss e arduino, appena mi arriva l'ethernet shield,
di arduino e molti altri componenti ne ho a bizzeffe, ma non ho mai usato una ethernet shield.Con arduino ho fatto automazione
di basculante e cancello da zero.


Per lo SCADA, ho capito che non ci credete e non è uno dei vostri obiettivi. L'idea di un'estensione che vada ad usare Autohotkey,
mi sembra valida, ma fare script con autohotkey, complica un pò la vita all'utente.
Ti aggiorno appena ho sottomano l'ethernet shield!
I PDF di cui parli sono quelli inerenti MaCaco e vNet?
Se hai altri suggerimenti, sono i benvenuti!

Di Maio, Dario

unread,
Aug 3, 2013, 2:58:37 AM8/3/13
to sou...@googlegroups.com

Si sono quei due PDF, per qualsiasi dubbio chiedi pure.

Saluti,
Dario.

From mobile.

Flavio P.

unread,
Aug 19, 2013, 6:02:36 AM8/19/13
to sou...@googlegroups.com
Buongiorno,
venerdì è arrivato il tutto :-) e ieri sera ho fatto dei test, ma non riesco a sniffare nessun pacchetto sulla mia rete dal cell all'ip di souliss.....
Wireshark non lo conosco bene, ci sono degli accorgimenti particolari per la conf?
sono su S.O. linux
Grazie

 

Di Maio, Dario

unread,
Aug 19, 2013, 1:30:59 PM8/19/13
to sou...@googlegroups.com

Ciao Flavio,

Sono contento che tu sia al lavoro :-)

Hai utilizzato la configurazione mostrata nel wiki per effettuare lo sniffing?

Durante l'analisi del traffico, forzi la comunicazione tra android ed arduino? Funziona?

Allega il file di analisi di wireshark.

From mobile.

Flavio P.

unread,
Aug 20, 2013, 1:50:45 AM8/20/13
to sou...@googlegroups.com
Ciao Dario,
no, in realtà non sto usando la configurazione del wiki(che ho visto solo ora peraltro), ma sto tentando
di fare sniffing sulla rete funzionante completa; forzo solo il comando dall'app verso il nodo, funzionante.
Quello in cui non mi trovo, è, il non vedere traffico tra gli ip, ovvero tra il nodo arduino e l'app.
Sto usando l'esempio Souliss_ex01_HelloWorld_eth1 e funziona perfettamente.

Ma di traffico sugli ip non ne vedo! e non riesco a capire cosa sto sbagliando...Allegarti il file di analisi
al momento mi sembra inutile!


Flavio


Di Maio, Dario

unread,
Aug 20, 2013, 3:16:42 AM8/20/13
to sou...@googlegroups.com
Ciao Flavio,

è giusto che tu non veda nulla, perché (assumo) tutti i tuoi nodi sono collegati attraverso uno switch e non un hub. Gli switch Ethernet indirizzano il traffico verso i destinatari (MAC), quindi il traffico dal cellullare verso la scheda non viene inoltrato sulla porta a cui è collegato il PC.

La configurazione del wiki perve propio ad usare il PC come tramite, in modo che il traffico passi attraverso il PC e possa essere analizzato.

Esiste una strada alternativa, se hai gli accessi di root sul tuo cellullare, puoi modificare l'indirizzo MAC ed utilizzarne uno locale di broadcast, i messaggi verso questo tipi di indirizzi forzano lo switch a fare broadcast, permettendo lo sniffing del traffico. Ovviamente va impostato su entrambi i lato, sulla scheda basta andare in conf/ethUsrCfg.h ed attivare l'opzione MAC_DEBUG, su Android ti servono i diritti per modificare il MAC address.

Hai visto che nella documentazione docs/ c'è un esempio di sniffing?

Fammi sapere,
Dario.


2013/8/20 Flavio P. <master.fla...@gmail.com>

Flavio P.

unread,
Aug 20, 2013, 8:07:57 AM8/20/13
to sou...@googlegroups.com
Ce l'ho fatta finalmente.....:-)
In poche parole tu vorresti un'applicazione che mandasse (prendendo l'esempio del post di Filippo)
 
0D 0C 17 11 00 64 01 33 00 00 00 01 01

tramite UDP/IP...Implementando inoltre altri comandi.

oppure ho capito male?


Di Maio, Dario

unread,
Aug 20, 2013, 8:16:43 AM8/20/13
to sou...@googlegroups.com

Riesci a fare sniff del traffico? Con quale delle due soluzioni?

Si, quel comando UDP ha una specifica funzionalità legata all'esempio in questione. Un'interfaccia (come SoulissApp) interroga la scheda per capire quali siano i dispositivi disponibili e poi elabora i comandi.

Se hai modo di leggere il documento PDF su MaCaco, dovresti riuscire ad interpretare quella stringa. Ricorda sempre che MaCaco é incapsulato in vNet e quella stringa contiene entrambi.

Saluti,
Dario.

From mobile.

Flavio P.

unread,
Aug 20, 2013, 8:31:55 AM8/20/13
to sou...@googlegroups.com
Ho fatto root del mio nexus,ho cambiato MAC (ho avuto parecchi problemi nel farlo), 
settato AUTO_MAC a 0  e MAC_DEBUG a 1 (altra accortezza deve essere quella di portare a 0 AUTO_MAC),
e sono riuscito a sniffare.......la comunicazione ovviamente.... :-) ottenendo questo:

Data: 0c0b171100152d080f000000
Length: 12

Poi ho abilitato anche la seriale di arduino e debug vNet per farmi printare quello che arriva e ottengo questo:

(vNet)<IN><|0xB|0x17|0x11|0x2D15|0x21|0x0|0x0|0x0|0x1>
(vNet)<OUT><DADDR><|0x2D15><|0x13|0x17|0x2D15|0x11>

Ora mi guardo il pdf di MaCaco, ma ti confesso che nei gg scorsi ho dato una letta veloce e non ci ho capito molto.

Di Maio, Dario

unread,
Aug 20, 2013, 8:47:15 AM8/20/13
to sou...@googlegroups.com

Con AUTO_MAC non andava? Strano?

Parliamo pure qui dei dubbi, prova a fare il reverse della stringa attraverso quel documento, considera che i primi byte sono per vNet.

Saluti,
Dario.

From mobile.

Flavio P.

unread,
Aug 20, 2013, 8:49:02 AM8/20/13
to sou...@googlegroups.com
Con AUTO_MAC a 1 non andava nulla, a meno di qualche mio altro errore.

Flavio P.

unread,
Aug 20, 2013, 9:04:41 AM8/20/13
to sou...@googlegroups.com

É dura....i primi 6 byte sono di vNet,giusto?

From Mobile Nexus

Flavio P.

unread,
Aug 20, 2013, 9:50:28 AM8/20/13
to sou...@googlegroups.com
Niente da fare......non ci riesco.... :-(

Flavio P.

unread,
Aug 20, 2013, 10:21:25 AM8/20/13
to sou...@googlegroups.com
Aspetta può essere che:

0D 0C 17 11 00 64 01 33 00 00 00 01 01

I byte in grassetto sono per vNet e poi:

33  --> Richiesta scrittura forzata dati
00 00  --> Dati
00  --> Offset
01  --> N° byte
01  --> Valore


?????



Di Maio, Dario

unread,
Aug 20, 2013, 10:34:34 AM8/20/13
to sou...@googlegroups.com

Bingo :-)

From mobile.

Flavio P.

unread,
Aug 20, 2013, 10:44:13 AM8/20/13
to sou...@googlegroups.com
...... :-) 
ma, domanda banale, non viene facile usare vNet su UDP com'è ora?
Spedire quello che spedisci con hercules ad esempio?

Di Maio, Dario

unread,
Aug 20, 2013, 12:31:03 PM8/20/13
to sou...@googlegroups.com

Credo di non aver capito la domanda.

Su due piedi, vNet viaggia su UDP. MaCaco é un protocollo indipendente, ma nella implementazione viaggia su vNet per usufruire dei servizi di routing/bridging anche senza IP.

Saluti,
Dario.

From mobile.

Flavio P.

unread,
Aug 20, 2013, 12:44:38 PM8/20/13
to sou...@googlegroups.com

E io dicevo, perché abbandonare vNet in una futura applicazione java multi os???

From Mobile Nexus

Di Maio, Dario

unread,
Aug 20, 2013, 2:56:45 PM8/20/13
to sou...@googlegroups.com

Dipende dallo scopo finale, vale la pena se pensato come nodo completo, non serve se deve essere un'interfaccia utente.

Implementare vNet per un nodo semplice (non c'é da fare routing o bridging) richiede poche decine di righe di codice.

Saluti,
Dario.

From mobile.

Flavio P.

unread,
Aug 21, 2013, 3:44:12 AM8/21/13
to sou...@googlegroups.com
Ciao Dario,
mi piace perchè la fai sempre facile....:-)
Però a questo punto sono confuso, non ho capito bene dove vorresti arrivare.....
Appena hai un pò di tempo me lo rispieghi meglio per favore?

Di Maio, Dario

unread,
Aug 21, 2013, 6:59:09 AM8/21/13
to sou...@googlegroups.com
Ciao Flavio,

è molto più semplice di quanto possa sembrare :) dietro Souliss non c'è nulla di complicato, manca solo il tempo :D

Non so neanche io dove arrivare, nelle precedenti email si era parlato di due possibilità: SCADA ed un applicazione Java che si interfacciasse con altri programmi sul PC. Nel primo caso non serve replicare vNet (così come avviene su SoulissApp), nel secondo caso serve.

Direi che si debba partire dall'obiettivo del lavoro, per poi capire come muoversi, perché la parte vNet è davvero poche righe di codice e non ha influenza nella decisione. La scelta della direzione da intraprendere è ovviamente tua e verrai supportato in pieno in qualsiasi caso.
Se vuoi puntare su uno SCADA, il mio consiglio è quello di allontanarsi dal concetto di SCADA industriale (visto come replicazione di un sinottico) ma andare verso un'interfaccia web (così come lo sono molti SCADA) ma completamente autoconfigurata, che presenti i dispositivi in casa sottoforma di lista, come avviene con SoulissApp o openHAB.

Se invece vuoi rendere il PC un nodo Souliss, creando un'applicazione che possa interfacciarsi in modo libero con altre applicazioni, allora il discorso è più complesso (ed interessante). Io come spunto ho sempre AutoHotKey, ma dobbiamo prima capire cosa si può effettivamente fare.

Credo che la decisione giusta sia nel mezzo tra queste due idee, sopratutto se si riesce a realizzare un software modulare.

Cosa ne dici?

Saluti,
Dario.



2013/8/21 Flavio P. <master.fla...@gmail.com>

Ciao Dario,

Flavio P.

unread,
Aug 21, 2013, 7:17:08 AM8/21/13
to sou...@googlegroups.com
Siccome a me piacciono le cose complesse, puntiamo sul controllo di PC, ma oltre al multimediale(tipo XBMC), a me non viene altro in mente.
Ho guardato AutoHotKey, si potrebbero creare degli script da lanciare con dei comandi sa SoulissApp, però al momento non ho idee di utilità concrete...
Tu hai qualche idea da pormi come esempio per aiutarmi a capire cosa stai pensando?

Flavio


--
You received this message because you are subscribed to the Google Groups "souliss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to souliss+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Di Maio, Dario

unread,
Aug 21, 2013, 9:25:55 AM8/21/13
to sou...@googlegroups.com

Ottimo!

Non ho la minima idea di cosa realizzare, proviamo a scrivere qui quello che ci passa per la mente, poi vediamo cosa esce fuori.

Inizio con una proposta con i piedi per terra, creare un plugin per openHAB. É un lavoro impegnativo, ma interessante e rientra nel concetto di SCADA.

Una strada simile, con meno vincoli ma piú impervia é quella di lavorare in PHP o Node.js per realizzare un webserver mobile da far girare su schede linux embedded.

Variante ulteriore, con una base di partenza valida é la modifica del codice NinjaBlock per il supporto di Souliss. É in gran parte un lavoro sviluppato in Node.js, si tratta di creare un bridge tra i protocolli Souliss e quelli NinjaBlock.

Variante meno impegnativa, lavorare con Alessandro su SoulissApp per introdurre il supporto cloud di servizi quali Facebook, Twitter, Google Calendar.

Sono tutte idee buttate al vento, se c'é la vela giusta vediamo come portarle avanti.

Proponi le tue o modifica queste.

Saluti,
Dario.

From mobile.

Flavio P.

unread,
Aug 24, 2013, 4:14:09 AM8/24/13
to sou...@googlegroups.com
Ciao Dario,
sto pensando, appena metto insieme un pò di idee le scrivo qui e ci confrontiamo!

Nel frattempo, c'è un tipico pensato per gestire una strip led di colore singolo?
Intendo gestione di un'uscita digitale per l'accensione e un'uscita pwm per la luminosità...
Grazie 
Flavio

Di Maio, Dario

unread,
Aug 24, 2013, 4:58:09 AM8/24/13
to sou...@googlegroups.com
In effetti manca, per prova, puoi usare l'RGB e poi da Android utilizzi il comando con i tre slider separati (R,G,B) in modo da poter controllare la luminosità attraverso un unico colore.

Ho aperto un issue per tenerne traccia ed aggiungerlo.

P.S.: Giusto per aggiungere altra carne al fuoco, qui può esserci qualche spunto ulteriore http://it.emcelettronica.com/sveglia-vocale-android-con-google-calendar-python

Saluti,
Dario.


2013/8/24 Flavio P. <master.fla...@gmail.com>

Flavio P.

unread,
Aug 24, 2013, 5:07:11 AM8/24/13
to sou...@googlegroups.com

:-) lo avevo già letto! É ottimo! Volevo già proportelo, aggiungendolo al task di rientro a casa di souliss! Quando rientri ti vengono lette le news e gli impegni! Anche al risveglio non é male....ma per la fatica che faccio io a svegliarmi,il tablet dura 2gg....a meno che non sia corazzato!

From Mobile Nexus

Di Maio, Dario

unread,
Aug 24, 2013, 5:50:17 AM8/24/13
to sou...@googlegroups.com
Io lo vedrei molto come spunto, ad esempio io ignoravo la possibilità di gestire webserver. Poco fa ho provato AirDroid e devo dire che è veramente interessante.

Una bella sfida (da studiare con Alessandro, che sviluppa SoulissApp) sarebbe quella di realizzare un webserver per Android che interfacciato con SoulissApp estenda l'applicazione attraverso webserver locale e remoto (in accoppiata con DDNS per Android). L'importante è mantenere il tutto il più semplice possibile, l'articolo sulla sveglia è interessante, ma è troppo complesso per essere pensato come parte integrante di Souliss.

Ben venga che chi voglia ci smanetti a parte :)

Cosa ne dici?

Dario.

Dario Di Maio

unread,
Aug 24, 2013, 7:21:08 AM8/24/13
to sou...@googlegroups.com
Sto cercando di coinvolgere Alessandro in questa discussione, onestamente l'idea di realizzare un webserver su Android mi stuzzica molto.

Souliss è nato con un'architettura distribuita e con l'idea di utilizzare un tablet fisso in casa come punto di controllo e gestione, avendo ovviamente la possibilità di utilizzare altri dispositivi Android contemporaneamente (oltre ai classici comandi a muro). E fino a qui ci siamo, questi aspetti sono implementati e funzionali.
Quando il tutto è partito (2011) ancora non si erano sviluppati i servizi cloud in modo massivo come oggi e tutto sommato li snobbavo, ritenendo stupido controllare i dispositivi della propria casa passando per internet. Lo ritengo ancora, ma poi si sono aperte le strade dell'integrazione con Google Calendar ed i vari social network, la musica è quindi cambiata.

Tutte le piattaforme cloud usano HTTP con XML o JSON, richiedendo dei parser troppo pensati per poter essere utilizzati sui comuni AVR, anche l'ATmega2560, 1280 potrebbero risultare stretti. In questo senso l'idea era quella di sviluppate le funzionalità "cloud" (intese come interfacciamento) attraverso un nodo esterno basato su Linux.
Da questi presupposti è nata l'idea di un'implementazione JAVA dei layer di comunicazione verso i nodi Souliss.

Ora il discorso cambia drasticamente, un nodo Linux in effetti è già rappresentato da Android e si potrebbe pensare di integrare su Android le seguenti funzionalità:
1) WebServer per la gestione da PC o altri dispositivi mobili non Android,
2) Integrazione con i social network (Twitter, Facebook, ...),
3) Integrazione cloud (Google Calendar, ...)

Le strade da poter seguire sono diverse, provo ad elencarle con i relativi pregi e difetti. Per completezza, io di Android, Linux e JAVA non conosco una mazza, quindi serve un parere tecnico per capirne la fattibilità.

Soluzione 1 : Integrazione completa in SoulissApp

All'interno di SoulissApp si introdurrebbe il codice per generare un WebServer dinamico, in grado di tradurre in HTML l'interfaccia di SoulissApp. A SoulissApp verrebbero poi aggiunti i servizi di integrazione con social network e cloud installati su Android, quindi introducendo una funzionalità di "Share with" verso i social network ed introducendo le automazioni in base agli eventi del calendario.

Pregi : integrazione
Difetti : rischio di appensatire SoulissApp

Soluzione 2 : Secessione, SoulissEngine - SoulissApp - SoulissWeb

Si tratterebbe di estrapolare il "motore" da SoulissApp e renderlo un servizio di background a parte, con sola interfaccia per la configurazione. Questo servirebbe chiunque voglia accedere ai nodi souliss, attraverso un set di API da poter rendere pubblico.
Lato interfaccia utente nascerebbero SoulissApp, che rappresentarebbe l'attuale interfaccia grafica in forma di applicazione e SoulissWeb, analoga ma in forma HTML.

SoulissEngine gestirebbe sia la comunicazione verso i nodi, sia quella verso i social ed i servizi cloud.

Pregi : scalabile e con possibilità di rendere le interfacce personalizzabili e realizzabili da terzi
Difetti : probabilmente aumenta considerevolmente la mole di lavoro.

Soluzione 3 : SoulissApp con API per interfacciamento esterno.

E' una via di mezzo tra le prima due, SoulissApp rimane il fulcro ma non viene divisa dall'interfaccia grafica. Mette a disposizioni delle API per SoulissWeb. SoulissApp gestirebbe sia la comunicazione verso i nodi, sia quella verso i social ed i servizi cloud.

Pregi e difetti come al punto 2.

Soluzione 4 : SoulissWeb completamente indipendente

Partendo dal codice di SoulissApp si sviluppa un'applicazione nuova, SoulissWeb, per realizzarne l'interfaccia grafica.

Pregi : due applicazioni separate, maggiore semplicità di gestione
Difetti : duplicazione del codice e del lavoro di manutenzione

Soluzione 5 : SoulissApp diventa un server web

SoulissApp perde l'attuale interfaccia e guadagna un webserver, l'accesso all'interfaccia avviene solo da webserver sia in locale (sul dispositivo Android che fa girare SoulissApp) che in remoto (un browser che gira su un dispositivo diverso).
SoulissApp gestirebbe sia la comunicazione verso i nodi, sia quella verso i social ed i servizi cloud.

Pregi : scalabile, grafica personalizzabile da chiunque attraverso HTML e/o CSS.
Difetti : probabilmente aumenta considerevolmente la mole di lavoro.

Probabilmente rispetto all'attuale sviluppo muoversi verso una di queste direzioni richiede una competenza HTML (5!) perché il codice dovrà essere generato in modo dinamico per mostrare la lista dei dispositivi in base alla configurazione della rete, mantendo lo stesso concetto di autoconfigurazione attuale.

In tutto questo, assumo che Alessandro voglia sottoporsi a questo ulteriore scoinvolgimento di SoulissApp (nel passaggio da Souliss A3 ad A4, gli ho fatto gettare il sangue :) ) e che Flavio voglia cimentarsi nell'aiutarlo, io non posso aiutare direttamente sotto questo fronte per manifesta incapacità.

Lato AVR continuerebbe il programma mostrato già in precedenza:
1) Modifiche strutturali su MaCaco/vNet per la gestione del broadcast/autoconfigurazione dei nodi. Queste non avranno influenza su SoulissApp.
2) Introduzione di nuovi driver (XBee, NRF24+, uracoli) e supporto hardware per SeeedStudio Grove.

Flavio, indipendentemente dal tipo di sviluppo che si deciderà (sia questa proposta Android, sia le vecchie idee di 3-4 post fa) richiedono una mole di lavoro non banale, se effettivamente porti avanti uno di questi sviluppi significativi, puoi entrare ufficialmente a far parte del Team. Il che non ha un gran valore, considerando che tutto il codice è open-source e non ci sono diritti sull'utilizzo, ma guadagni una citazione nel sito :)

Dammi un tuo parere, vediamo Alessandro (è in ferie, non so quando risponderà) cosa dice e decidiamo sul da farsi.

Saluti,
Dario.

Flavio P.

unread,
Aug 24, 2013, 7:53:42 AM8/24/13
to sou...@googlegroups.com

Come già premesso,io non sono molto forte lato android in quanto ad app,HTML invece sono a zero....
Me la cavo bene con i micro e con linux,elettronica ed elettrica...:-)
Da quello che ho letto,la parte "grossa" é tutta su html-java....
In effetti Alessandro non l'ho ancora visto scrivere....e sono molto curioso di un suo parere!
Potrei anche provare a coinvolgere mio cugino che dello sviluppo web ne ha fatto il suo lavoro,però non so cosa ne pensi e se abbia tempo!
Cosa ne dici?

Per la strip led,sto provando ad usare un'ali con un ponte H per dimmerare fino a 12a continui e 30 di spunto...sembra lavori correttamente....se dite lo implementiamo in un tipico.
Questa elettronica,può controllare anche un motore DC ,controllandolo in velocità, con pochi €.

From Mobile Nexus

--

Flavio P.

unread,
Aug 24, 2013, 7:55:24 AM8/24/13
to sou...@googlegroups.com

Ovvio che sono disponibile ad aiutare Alessandro,previo colloquio sul da farsi e livello di competenze necessarie....

From Mobile Nexus

Flavio P.

unread,
Aug 24, 2013, 8:01:00 AM8/24/13
to sou...@googlegroups.com

Poi c'è pure l'elettronica(in foto) e il codice per la gestione del basculante e cancello.
Volendo:-)
P.s. i ponti H con i quali sto giocando con le strip,sono i due moduli sulla foto in alto....

From Mobile Nexus

IMG_20130824_135635.jpg

Di Maio, Dario

unread,
Aug 24, 2013, 8:08:54 AM8/24/13
to sou...@googlegroups.com
Con 12A quanti metri copri? Circa 15 credo.

Ogni contributo è sempre ben accetto, se implementi un tipico, condividilo con noi.

Saluti,
Dario.

Di Maio, Dario

unread,
Aug 24, 2013, 8:11:24 AM8/24/13
to sou...@googlegroups.com
Sul lato, sono tre mosfet?

E' un bel lavoro, il PCB è fatto con il bromografo?

Dario.

Flavio P.

unread,
Aug 24, 2013, 8:13:57 AM8/24/13
to sou...@googlegroups.com

Si dipende dalle strip! Io ne ho 10metri di led 5630 (600led x 0.3w sui 10m),quindi 180w a 12v sono circa 15A....Sono sotto test da 2 ore...per ora il driver non scalda nemmeno....

From Mobile Nexus

--

Flavio P.

unread,
Aug 24, 2013, 8:16:54 AM8/24/13
to sou...@googlegroups.com

Si sono 3 MOSFET per le bobine che uso,quali elttroserratura, frizione innesto motore....luce di cortesia....
PCB fatto con plotter(autocostriuto :-)),fresato in poche parole....

From Mobile Nexus

--

Di Maio, Dario

unread,
Aug 24, 2013, 8:36:48 AM8/24/13
to sou...@googlegroups.com
L'idea di fresare i PCB mi è sempre piaciuta, qual'è lo spazio minimo tra le piste che riesci ad ottenere?

Di Maio, Dario

unread,
Aug 24, 2013, 8:46:13 AM8/24/13
to sou...@googlegroups.com
Non vedo i diodi di ricircolo...


Flavio P.

unread,
Aug 24, 2013, 8:47:53 AM8/24/13
to sou...@googlegroups.com

Anche qui dipende solo dalla fresa che usi! Io ne uso una conica e sul vnh ci sto a pelo! Circa 0,65 di rame e 0,35 di fresatura...
Sotto questi parametri non sono mai andato....

From Mobile Nexus

Il giorno 24/ago/2013 14:36, "Di Maio, Dario" <dario....@souliss.net> ha scritto:
L'idea di fresare i PCB mi è sempre piaciuta, qual'è lo spazio minimo tra le piste che riesci ad ottenere?

--

Flavio P.

unread,
Aug 24, 2013, 8:50:43 AM8/24/13
to sou...@googlegroups.com

Che diodi di ricircolo?

From Mobile Nexus

Il giorno 24/ago/2013 14:46, "Di Maio, Dario" <dario....@souliss.net> ha scritto:
Non vedo i diodi di ricircolo...


Di Maio, Dario

unread,
Aug 24, 2013, 8:54:23 AM8/24/13
to sou...@googlegroups.com
Se con i mosfet alimenti un carico induttivo, normalmente utilizzi dei diodi contropolarizzati per evitare che le extratensioni dovute alla bobina danneggino il mosfet.

Dario.

Flavio P.

unread,
Aug 24, 2013, 8:59:30 AM8/24/13
to sou...@googlegroups.com
Si, se hai il mosfet dimensionato a pelo...Ma con un mosfet da 50A continui e 160A di spunto, ti puoi permettere di farne a meno....:-D

Flavio P.

unread,
Aug 24, 2013, 9:05:32 AM8/24/13
to sou...@googlegroups.com
V
​isto che ti vedo interessato ti mando altre foto....:-)​
IMG_20130824_144910.jpg
IMG_20130824_145001.jpg

Flavio P.

unread,
Aug 24, 2013, 9:07:02 AM8/24/13
to sou...@googlegroups.com
IMG_20130824_145014.jpg
IMG_20130824_145020.jpg

Di Maio, Dario

unread,
Aug 24, 2013, 9:10:59 AM8/24/13
to sou...@googlegroups.com

Spazio dai webserver ai pcb, con cosa hai disegnato il pcb?

C'é anche da disegnare qualche scheda dedicata al progetto, se ti interessa... :-) apriamo peró un topic a parte, perché anche li ci sono molte idee in ballo.

Dario.

From mobile.

Flavio P.

unread,
Aug 24, 2013, 9:19:14 AM8/24/13
to sou...@googlegroups.com
Per questa scheda ho usato Draftsight, simile ad autocad...
In quanto devo arrivare al cnc con un file dxf, per il taglio...​


2013/8/24 Di Maio, Dario <dario....@souliss.net>

--
You received this message because you are subscribed to the Google Groups "souliss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to souliss+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Dario Di Maio

unread,
Aug 24, 2013, 1:34:50 PM8/24/13
to sou...@googlegroups.com
Questo può essere uno spunto interessante

http://www.99lime.com/elements/

Flavio P.

unread,
Aug 25, 2013, 3:57:36 AM8/25/13
to sou...@googlegroups.com
mmm per fare cosa? l'interfaccia webserver?


2013/8/24 Dario Di Maio <dario....@souliss.net>
Questo può essere uno spunto interessante

http://www.99lime.com/elements/

--
You received this message because you are subscribed to the Google Groups "souliss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to souliss+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Di Maio, Dario

unread,
Aug 25, 2013, 5:21:30 AM8/25/13
to sou...@googlegroups.com
Si, per realizzare la pagina HTML che farà poi da interfaccia. Sto cercando qualche persona che conosca HTML5 per darci una mano, però ho già abbozzato tecnicamente i requisiti:

1) HTTP server implementato lato Android, le modalità possibili sono state illustrate prima
2) Accedendo al database di SoulissApp verrà composta la pagina HTML da blocchi di HTML dedicati ai singoli tipici
3) AJAX/JSON server implementato lato Android per comunicare con il browser e fornire gli stati.

Il punto tre è già stato realizzato (e poi abbandonato) in Souliss A2, in quel caso il server era la scheda Arduino Ethernet. Però era solo un server AJAX/JSON e la pagina HTML era caricata in locale al browser e non era dinamica. E' stata la prima interfaccia, poi SoulissApp l'ha spazzata via :)

Dario.

Flavio P.

unread,
Aug 25, 2013, 7:58:23 PM8/25/13
to sou...@googlegroups.com
Ci ho pensato parecchio, ho concluso che sotto molti punti vista, a mio avviso risulta vincente realizzare a parte un'interfaccia HTML....
anche se richiede molto dispendio di risorse iniziali,il risultato è superiore alle altre alternative.
L'utente finale risulta così svincolato dall'os che usa.Credo sia un buon fattore di crescita di Souliss.
Io quindi voto per SoulissWeb, ma come ti dicevo sono molto curioso di sentire il parere di Alessandro :)



--
You received this message because you are subscribed to the Google Groups "souliss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to souliss+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Flavio P.

unread,
Aug 28, 2013, 3:21:21 AM8/28/13
to sou...@googlegroups.com
Ciao Dario,
sto provando da un paio di gg a configurare eclipse su git di SoulissApp....
Siccome non sono granchè esperto di eclipse, mi potresti dare una mano?
Non riesco a compilare....

Di Maio, Dario

unread,
Aug 28, 2013, 3:59:39 AM8/28/13
to sou...@googlegroups.com
Purtroppo non so aiutarti, devi avere qualche giorno di pazienza fino a quando non rientra Alessandro, lui può darti una mano.

Posso chiederti di aprire un topic dedicato? Così almeno rimane traccia.

Grazie,
Dario.
Reply all
Reply to author
Forward
0 new messages