Home
Accesso / Registrazione
 di 

Quale linguaggio per leggere da seriale?

8 risposte [Ultimo post]
ritratto di gfucka
Offline
Titolo: User
Utente
Ultima visita:
2 settimane 2 giorni fa
Utente dal: 15/10/2011
Messaggi: 3

Ciao a tutti, volevo chiedere il vostro aiuto.
Vorrei realizzare un progetto con arduino che mi consenta di leggere un tag rfid e mi invii il codice univoco del tag al pc (fino a qui ci sono arrivato) adesso da pc vorrei leggere questo codice e visualizzare informazioni diverse in base appunto al codice letto.
Vorrei però usare (lato pc) un linguaggio che mi constenta in modo veloce di realizzare GUI tipo Vb.NET o il Visual C++ o ancora il C#.
Potreste consigliarmi quale tra questi linguaggi o anche altri che non ho citato è il più indicato per andare a leggere il dato inviato da arduino sulla seriale??
Capisco bene che potrei farlo con tutti i linguaggi in quanto credo che ognuno abbia una libreria o delle funzioni che mi consentano di leggere la seriale,m a cercavo quello più adatto e che mi permettesse di farlo nel modo più veloce possibile, ad es. se ci sono delle librerie già pronte per interfacciare tale linguaggio con arduino ecc...

Vi ringrazio per l'aiuto
....aspetto risposte.....:-)

ritratto di Emanuele
Online
Titolo: Moderator
Moderatore
Ultima visita:
25 min 44 sec fa
Utente dal: 28/07/2007
Messaggi: 1022
Utente PREMIUM
Leggere la seriale dal PC

Interfacciarsi con la porta seriale è possibile grazie ai vari driver, librerie o funzioni, richiamabili appunto dal linguaggio scelto. Penso ormai ognuno di quelli che hai citato abbia tale possibilità.

Addirittura per una rapida lettura della seriale puoi usare Hyperterminal (o Minicom sotto Linux).

Dipende tutto quindi dal linguaggio che conosci meglio, scegli quello!

vedi anche:
http://it.emcelettronica.com/comunicazione-seriale-c
e
http://it.emcelettronica.com/comunicazione-con-porta-seriale-excel-vba
e
http://it.emcelettronica.com/scheda-rel%C3%A8-con-connessione-ethernet-premio-qualit%C3%A0

ritratto di gfucka
Offline
Titolo: User
Utente
Ultima visita:
2 settimane 2 giorni fa
Utente dal: 15/10/2011
Messaggi: 3
Grazie per la risposta

Grazie per la risposta tempestiva.
Stavo pensando di utilizzare e il c++ con le librerie qt per la parte grafica in modo da rendere l'applicazione os-indipendent.
Cosa ne pensi? Sapresti indicarmi qualche esempio in c++ di come andare a leggere dati dalla seriale?
Grazie ancora siete una risorsa unica!

ritratto di Fabrizio87
Offline
Titolo: User++
Utente++
Ultima visita:
1 anno 44 settimane fa
Utente dal: 30/01/2011
Messaggi: 91
Prima di tutto è necessario

Prima di tutto è necessario tenere in conto che la seriale è gestita diversamente tra i due sistemi operativo Windows e linux,

se vuoi fare un applicativo multipiattaforma, è necessario che scrivi un codice comune per l'interfaccia grafica ad esempio come dici tu usando Qt, è dopo ti devi scrivere due gestionali di seriali diversa uno che ogni sistema operativo che vuoi incrementare.

Se vuoi scrivere esclusivamente per il sistema Microsoft e posso consigliare di usare visual studio express dove la seriale è facilissima da gestire visto che è già tutto è pronto da utilizzare c'è perfino l'icona fatta apposta,

Sennò avrei un'altra possibilità da confonderti un po' più complessa da implementare ma in questo caso sarebbe già prevista per girare su qualsiasi sistema operativo, sarebbe da usare il linguaggio Python usando la libreria http://pyserial.sourceforge.net/ che molti piattaforma di questa.
ma per interfaccia grafica dopo ti devi ottenere usando comunque sia Qt.

Comunque sia buon coraggio che una cosa difficile da gestire l'interfaccia seriale su un computer.
Io personalmente ciò rinunciato ed uso sui miei progetti un'interfaccia Ethernet così da avere compatibilità con tutti i sistemi operativi senza nessun problema, e non sono limitato ad usare computer posso usare anche dispositivi come smar phone

ritratto di stefano88
Offline
Titolo: User+
Utente+
Ultima visita:
2 anni 3 settimane fa
Utente dal: 12/09/2011
Messaggi: 29
Allora guarda se vuoi una

Allora guarda se vuoi una applicazione multipiattaforma ascolta tranquillamente Fabrizio, altrimenti ti posso consigliare(anche se detesto questo linguaggio) il Visual C#, diciamo che per gestire il seriale va più che bene ed esiste un sito che spiega in dettaglio come usare la porta seriale con arduino, semplicemente ti basta caricare, tramite l’ IDE, lo Standard Firmata e poi sei apposto perché non hai più bisogno dell’IDE e leggi tutti i dati tramite Visual C#, non è nulla di complesso, è abbastanza semplice come procedimento.
Il sito di cui ti parlavo, ancora non l’ho trovato, non appena l’ho trovo lo scrivo. Comunque un’altra via che puoi fare è scrivere il firmware su IDE mandando tutti i dati che vuoi sulla seriale, ad esempio con i comandi Serial.Begin ecc… dopo di ché leggi i dati da C#. Comunque se hai bisogno per delucidazioni io ci sono e ti spiego quello che non capisci. Spero solo di trovare quel sito di cui parlavo

ritratto di gfucka
Offline
Titolo: User
Utente
Ultima visita:
2 settimane 2 giorni fa
Utente dal: 15/10/2011
Messaggi: 3
Grazie mille per l'aiuto, si

Grazie mille per l'aiuto, si in realtà avevo pensato al C# però ero indeciso anche perchè non trovavo nulla in giro, se riesci a trovare quel sito mi sarebbe davvero di grande aiuto!
Con c++ invece sai se è possibile fareuna comunicazione con la seriale in modo non complicatissimo?
Ah ci tenevo a precisare una cosa io parlo di seriale ma in realtà devo usare la usb di arduino però da quanto ho capito dal pc è vista come seriale!Spero di non sbagliarmi!
Aspetto tue notizie allora e grazie ancora a te e a tutti quanti!

ritratto di Fabrizio87
Offline
Titolo: User++
Utente++
Ultima visita:
1 anno 44 settimane fa
Utente dal: 30/01/2011
Messaggi: 91
ti consiglio di leggere

ti consiglio di leggere questi due siti parlano della programmazione C, che alla C++

http://www.ontrak.net/c.htm
http://electrosofts.com/serial/

ritratto di lucagiuliodori
Offline
Titolo: PowerUser
Utente Power
Ultima visita:
2 settimane 1 giorno fa
Utente dal: 21/03/2011
Messaggi: 195
Ciao gfucka, non conosco bene

Ciao gfucka,

non conosco bene il codice di Arduino ma è molto probabile che la seriale venga vista come seriale, rientra nella classe CDC del protocollo USB e serve proprio a simulare una porta seriale o parallela per far si che i PC senza queste porte, la possano simulare (oramai tutti i nuovi PC non hanno più ne seriale ne parallela ma si trovano in commercio dei brigde che realizzano proprio questa virtualizzazione).

Tutti i linguaggi che hai citato hanno la libreria per la gestione della RS232 o alla peggio puoi sempre usare le API di windows (parlo di windows perchè dai linguaggi di programmazione che hai citato ho l'impressione che intendi implementarlo per windows).

Come dice Emanuele io ti consiglio di verificare la correttezza dei dati ricevuti con HyperTerminal, giusto per fare un promo debug (solitamente le COM virtualizzare hanno numeri di porta alti, del tipo COM17; per vedere quale è la tua che hai collegato puoi andare su gestione dispositivi del tuo sistema operativo).
Se vuoi utilizzare un linguaggio con cui riesci ad implementare con semplicità il tuo software, io ti consiglio di usare VB.NET: con poche righe di codice riesci a ricevere i dati che stai inviando e visualizzarli in una GUI, anche questa realizzabile con poche righe di codice.
Io ti consiglio anche di valutare il Java: anche con questo linguaggio riesci ad implementare la tua GUI e la ricezione da seriale con poche righe di codice, con il vantaggio però di avere un programmino multipiattaforma (la gestione delle COM è la stessa anche su altri sistemi operativi).

Chiaramente con poche righe di codice non riuscirai ad ottenere una GUI dal design innovativo e con grandi funzioni ma sicuramente, una volta che hai testato il suo funzionamento, con i linguaggi che ti ho consigliato hai tutte le potenzialità per poter rendere più accattivante la tua interfaccia utente.

Facci sapere.

ritratto di telegiangi61
Offline
Titolo: User+
Utente+
Ultima visita:
1 giorno 22 ore fa
Utente dal: 28/05/2010
Messaggi: 31
Utente PREMIUM
a parte gli ottimi suggerimenti

ti posso dare il link di un programmino molto pratico in sostituzione all'Hyperterminal
che ho usato spesso per progetti Microchip dove dovevo verificare cosa passava realmente sulla seriale.
http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm

Poi per windows ti consiglio VB Express, che e' molto semplice da utilizzare.

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ultimi Commenti