Interfaccia grafica

Scusate se mi intrometto, ma è meglio il phyton o il processing per questo tipo di cose?

Hai fatto bene ad intrometterti, è fatto per questo il forum.

Io però non conosco ne l'uno ne l'altro

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

Mm mm. No, la scelta potrebbe anche ricadere su altri linguaggi, è solo che non ne conosco altri XD... quali mi consigli?

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.

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...

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: GitHub - lestofante/SerialToTCP

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)

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.

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

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

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.

Mmmmh... Se mi dite così potrei andare di java, anche se il processing mi spirava assai...

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.

io ho scoperto questo di recente, ma non l'ho mai utilizzato.
sembra flessibile e funzionale:

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

dai tutoria della java stessa (oracle)

Voto per il vecchiotto VisualBasic 6!

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 :grin:)