Arduino Forum

International => Italiano => Software => Topic started by: bibopm on Nov 07, 2012, 08:15 pm

Title: Interfaccia grafica
Post by: bibopm on Nov 07, 2012, 08:15 pm
Ciao a tutti.
Visto che questa è la sezione software, nessuno di voi è interessato a creare un interfaccia grafica per i dati e la gestione di arduino?

Faccio l'esempio di creare qualcosa in VB per la gestione dei dati ricevuti dalla seriale?
Title: Re: Interfaccia grafica
Post by: lestofante on Nov 07, 2012, 09:02 pm
esistono già migliaia di programmi per la gestione dei dati via seriale...

che cosa proponi di nuovo o di rivoluzionario?
Title: Re: Interfaccia grafica
Post by: bibopm on Nov 07, 2012, 09:34 pm
Ahimè non posso proporre niente visto che qui ho solo da imparare.

Volevo capire se esisteva qualcosa che ricevesse i dati da seriale, e qui so che ne esistono, ma mi interessava anche una parte dove potrei curare la parte grafica quindi visualizzare grafici, dati solo in testo, ecc.
Title: Re: Interfaccia grafica
Post by: Pelletta on Nov 07, 2012, 09:38 pm
Potresti interfacciare l'arduino con un'applicazione scritta in Processing (http://processing.org/)
Title: Re: Interfaccia grafica
Post by: dab77 on Nov 07, 2012, 09:50 pm
dai un'occhiata qui: http://www.gioblu.com/tutorials/programmazione/219-visualizzatore-grafico-con-processing-grapher-10
Title: Re: Interfaccia grafica
Post by: ƎR on Nov 07, 2012, 09:54 pm
io avevo iniziato a fare qualcosa con visual studio che, giudizio personale, mi piaceva di più rispetto a processing... però ho sempre mille cose da fare e non ho ancora concluso niente :(
Title: Re: Interfaccia grafica
Post by: Lucailvec on Nov 07, 2012, 10:14 pm
https://www.youtube.com/watch?v=LIMyz2GBW28 mi scuso se insisto ma grafici e cose simili le puoi fare in questo modo...sul sito gioblu.com c'è il suo tutorial che spiega passo a passo come fare, nemmeno un oretta e hai un' interfaccia molto valida a mio parere poi le ultie versioni di excell permettono di avere diciamo un certo gusto grafico  :)
Title: Re: Interfaccia grafica
Post by: lestofante on Nov 07, 2012, 10:21 pm
umm vediamo... arduiIDE ha un buon serial monitor che visualizza ashii (classi serial), binario, hex, oct, dati grezzi in int, float, long, etc..

baudline è il miglior analizzatore che abbia mai usato di dati continui (grafici, frequenze, etc..) però non ci capisco neanche 1/10 di quello che può fare
Title: Re: Interfaccia grafica
Post by: astrobeed on Nov 07, 2012, 10:26 pm

baudline è il miglior analizzatore che abbia mai usato di dati continui (grafici, frequenze, etc..)


Per Linux si, per Windows esiste di molto meglio  :smiley-mr-green:
Title: Re: Interfaccia grafica
Post by: bibopm on Nov 08, 2012, 06:58 pm
Ringrazio tutti voi.

La parte con excel la ho già usata più volte ma è limitata a 250 letture.
Quello di processing è interessante ma lo trovo complesso.

Io pensavo ad una cosa tipo ho due sensori, una temperatura e uno luminoistà, ad esempio. Faccio leggere i due dati e li scrivo sulla seriale. Il programma che ho in mente io lavora tipo come access, che carica un file csv, così che ogni linea dei dati, compila in automatico tutti i record man mano.

Alla fine hai una tabella con due colonne di dati che puoi lavorare a tuo piacimento con grafici, somme, report, ecc.

Mi sono spiegato??? Spero
Title: Re: Interfaccia grafica
Post by: SUBSEA on Nov 08, 2012, 09:19 pm
Scusate se mi intrometto, ma è meglio il phyton o il processing per questo tipo di cose?
Title: Re: Interfaccia grafica
Post by: bibopm on Nov 12, 2012, 08:21 pm
Hai fatto bene ad intrometterti, è fatto per questo il forum.

Io però non conosco ne l'uno ne l'altro
Title: Re: Interfaccia grafica
Post by: lestofante on Nov 12, 2012, 09:35 pm
nè il phyton nè per processing ho visto IDE con supporto drag'n'drop per fare la grafica.
In oltre processing non possiede delle librerie "interne" per la grafica di input (texbox, slider, combobox, etc..)

quindi se la scelta è solo tra questi 2 linguaggi, vai per il phyton
Title: Re: Interfaccia grafica
Post by: SUBSEA on Nov 14, 2012, 01:36 pm
Mm mm. No, la scelta potrebbe anche ricadere su altri linguaggi, è solo che non ne conosco altri XD... quali mi consigli?
Title: Re: Interfaccia grafica
Post by: lestofante on Nov 14, 2012, 01:42 pm
io consiglio sempre il java perchè mi piace, gira su tutti i windows/mac/linux ed eventualmente con un minimo di sbatti pure su android.
Sia eclipse che netbeans (i due IDE principali di java) possiedono il sistema per creare interfaccie grafiche drag'n'drop (eclipse via plugin, netbeans di base)
Infine i programmi possono essere "embeddati" in un jar che gira lato client; quindi su arduino puoi fornire una pagina WEB che integra un JAR che fornisce l'applicazione per comandare l'arduino...slegandoti dalla complessità dell'HTTP per fare un buon sistema di comunicazione.

Infine lo stesso IDE di arduino è fatto in java, quindi ti è comodo quando vorrai/dovrai giochicchiarci.
Title: Re: Interfaccia grafica
Post by: superzaffo on Nov 14, 2012, 02:19 pm
Mi inserisco anche io, java ok ma non è il più semplice linguaggio per iniziare da 0 o quasi come mi sembra di capire da dove parrte bibopm.
Forse il VB è il più semplice per lui...
Ma perchè i dati dovremo sempre riceverli nel pc via seriale ? non sarebbe meglio farlo via rete ?
Certo ci vuole lo shield adeguato e quindi più costoso... ma sinceramente è molto più valida come soluzione così la posso trasferire dove voglio e non devo avere il pc attaccato all' arduino sempre...
Title: Re: Interfaccia grafica
Post by: lestofante on Nov 14, 2012, 02:30 pm
Quote
Ma perchè i dati dovremo sempre riceverli nel pc via seriale ? non sarebbe meglio farlo via rete ?


perchè inserire una fonte di problemi ciucciarisorse invece che useare qualcosa di "gratis"?

poi se vuoi passare i dati da seriale a internet è una boiata: https://github.com/lestofante/SerialToTCP
Title: Re: Interfaccia grafica
Post by: superzaffo on Nov 14, 2012, 02:34 pm
ok capisco la tua riluttanza, ma sinceramente un pc vicino ad un arduino non sempre ci può stare... mentre magari via wifi può andare.
Sinceramente, io penso, che ti da più sbocchi futuri in programma che riceve dati da arduino via rete ... (qualsialsi rete)
Title: Re: Interfaccia grafica
Post by: lestofante on Nov 14, 2012, 03:11 pm
vero ma si hanno anche delle limitazioni mica da ridere... tutto dipende da quello che vuoi fare.
Se lo scopo è avere un sistema veloce da programmare (quindi grafica facile da fare, pochi problemi imprevisti, buon supporto nel tempo) continua a consigliara java su VB quattro motivi;
1. la libreria seriale è tenuta allineata sicuramente per via del fatto che la usa lo stesso team arduino.
2. il programma è immediatamente portabile da win/linux/mac
3. il linguaggio java è più simile al c/c++ di quanto lo sia il basic
4. gli IDE java principali sono gratuiti e opensource

certo dalla parte opposta c'è il fatto di impararsi il .NET (e allora consiglio il C# su VB), il che è una conoscenza molto apprezzata se diventi bravo.
Title: Re: Interfaccia grafica
Post by: superzaffo on Nov 14, 2012, 03:17 pm
Certamente concordo e infatti io dico che per uno che inizia da zero, che deve anche capire come funziona una seriale, il vb  è più valido.
Poi se vuole passare a java, C#, C++ tutti da una derivazione comune, benissimo .. ma almeno avrà più chiara la gestione di una seriale vista da dall' alto .
Magari adrà poi con il PHP  XD
Title: Re: Interfaccia grafica
Post by: fiodavid on Nov 25, 2012, 09:32 pm
Ciao

interessa anche a me la cosa, scusami "lesto" cosa intendi con lo slegarsi dall'HTTP?
interessa anche a me realizzare un programma con una interrfaccia grafica per comandare arduino, di java so vereamente poco ma mi sto documentando a riguardo.
NetBeans è come visual basic che ti permette di creare form con pulsanti?e se la risposta è no, secondo te è facile per un neofica come me realizzare una interfaccia del genere con il linguaggio java

Ciao
fiodavid
Title: Re: Interfaccia grafica
Post by: lestofante on Nov 26, 2012, 11:20 am
sì, netbeans possiede una GUI builder di default, non ce l'ha di default eclipse (altro IDE famoso per java) ma la puoi installare dai plugin ufficiali (gui builder, ma ne esistono altre)

l'HTTP è un protocollo al di sopra del TCP, ovvero usa il TCP per comunicare ma ha una sua serie di regole.

La metto giù facile, sappi che non è proprio così, la prendo un pò larga per farti capire bene:
differenze tra TCP e UDP:
l'UDP è connectionless, ovvero ogni messaggio (detto datagramma) è come se aprisse una connessione e la richiudesse subito.
Ciò fa in modo che ogni messaggio è completamente indipendente dall'altro; è quindi impossibile sapere a livello UDP se i messaggi inviati sono arrivati a destinazione, se i messaggi arrivati sono corrotti, e può capitare che un messaggio inviato dopo arrivi prima di uno inviato prima; dipende dal percorso che effuttuano sulla rete. Solo il client può spedire messaggi e il server riceverli, quindi se vuoi sia trasmettere che ricevere devi essere sia client che server. (in pratica devi aprire le porte sul router per ricevere)

il TCP apre una connessione e la mantiene attiva salvo time-out o chiusura connessione. Cioò vuol dire che esiste un filo logico tra un messaggio (detto pacchetto) e l'altro, e il TCP attende l'arrivo di vari mesaggi, li riordina, ne controlla la validà, se la validità è ok rende i mesaggi disponibili all'user, altrimenti invia un segnale di errore che in automatico richiede il reinvio dei pacchetti corroti.
Notare che grazie al fatto che la connessione è stabile, i router in automatico aprono una porta in ricezione lato client, e quindi non è necessario fare da server per poter trasmettere e ricevere, ma la cosa è automatica (quindi nessun setup del router lato utente).

ora entra in gioco l'HTTP:
l'http usa il TCP, però lo usa in modo connection-less. ovvero: il client fa una rtichiesta, il server risponde e la connessione viene chiusa.
In oltre bisogna inviare dei dati di protocollo ben precisi, detti header.
Title: Re: Interfaccia grafica
Post by: SUBSEA on Nov 27, 2012, 01:14 pm
Mmmmh... Se mi dite così potrei andare di java, anche se il processing mi spirava assai...
Title: Re: Interfaccia grafica
Post by: lestofante on Nov 27, 2012, 01:34 pm
processing è una versione castrata di java, possiede un paio di cose in più di base (piccolo motore 3d, Serial, step e loop come arduino) ma il semplice uso di un IDE come netbeas o eclipse ti accorgerai che vale mille volte di più di un paio di package preconfigurati.
Title: Re: Interfaccia grafica
Post by: lollotek on Nov 27, 2012, 08:32 pm
io ho scoperto questo di recente, ma non l'ho mai utilizzato.
sembra flessibile e funzionale:
http://www.instructables.com/id/Guino-Dashboard-for-your-Arduino/ (http://www.instructables.com/id/Guino-Dashboard-for-your-Arduino/)
Title: Re: Interfaccia grafica
Post by: fiodavid on Nov 27, 2012, 08:52 pm
ciao a tutti,

questo ultimo link l'ho trovato molto interessante
Adesso mi scarico NetBean e provo a smanettare un po con Java.Ho acquistata anche un libro sulla programmazione Java.
Secondo voi in breve tempo riesco a realizzare una interfaccia grafica non dico funzionante con l'interfacciamento con arduino, solo la parte grafica e poi da dove mi conviene partire per imparare a realizzarla?

Grazie a tutti

ciao
fiodavid
Title: Re: Interfaccia grafica
Post by: lestofante on Nov 27, 2012, 09:06 pm
dai tutoria della java stessa (oracle)
http://docs.oracle.com/javase/tutorial/
Title: Re: Interfaccia grafica
Post by: ADemo86 on Nov 27, 2012, 09:56 pm
Voto per il vecchiotto VisualBasic 6!
Title: Re: Interfaccia grafica
Post by: lestofante on Nov 27, 2012, 10:24 pm
uhmm no, piuttosto il VB.net che ti fai le ossa su un framework che sicuramente avrà il suo peso negli anni a venire.
Il vb 6 lo trovai limitante quando iniziai a programmare (sì, fù il mio primo linguaggio in cui scrivevo programmi al PC, prima scrivevo pascal su fogli di carta  :smiley-mr-green:)