Comunicazione RS-232

Ciao a tutti,
sto facendo un progetto di tesi per ingegneria meccatronica e mi sto cimentando in questo tipo di comunicazione. in particolare dovrei leggere i dati forniti da un contatore gas che ha la porta rs-232. Qualcuno riesce a indicarmi una guida ben fatta per fare questo? ho guardato tanto su internet, ma non riesco a capire il funzionamento.
Mi sarebbe di grande aiuto visto che sto arrivando alla fine del periodo di tirocinio e mi manca poco tempo.
Attualmente ho due Arduino UNO, un MEGA e un Raspberry.
Grazie a tutti

Come prima cosa ricorda che la RS-232 NON è compatibile, a livello di segnali elettrici, con la seriale di Arduino.

La RS232 funziona, normalmente, con valori di tensione che vanno da -12V a +12V (... ma anche maggiori, fino a -/+25V), mentre Arduino ha una seriale TTL e quindi 0 .. 5V.

La prima cosa che ti occorre è quindi un convertitore seriale RS-232 <--> TTL ... ne trovi parecchi presso i soliti fornitori di Arduino :wink:

Guglielmo

Comincia a leggere questo:

http://www.bitportal.it/tutorial/rs232.shtml

Grazie davvero tanto!
molto utili tutte e due le risposte!
Quello che ora mi chiedo è: perchè usare un rs485 (quindi max485) invece che rs232?
con un max232 escono due fili, il tx e l'rx: con questi due posso connettermi a qualsiasi dispositivo, come una caldaia o un contatore, a patto che abbiano gli ingressi adeguati(A/B S+/S-, +/-, etc.).

Vi linko un sito in cui ci sono moduli per Arduino e Raspberry:

https://www.cooking-hacks.com/documentation/tutorials/modbus-module-shield-tutorial-for-arduino-raspberry-pi-intel-galileo/

posso creare uno di questi moduli con il max232 e qualche condensatore giusto?

il dispositivo da cui devo prendere i dati è questo:
https://www.itron.com/local/Italy%20Product%20Portfolio/GA-FOCUS+-02-IT-05-14.pdf

RS232 é un collegamento tra 2 punti.
La RS485 é un Bus (puí punti) con distanze copribili molto piú lunge. Lo svantaggio che non é standardizzato come gestire la comunicazione perché solo un dispositivo puó mandare dati e tutti gli altri devono ascoltare. Ci sono protocolli che si basano sulla definizione elettrica del RS485 come DMX, Canbus ecc.

Ciao Uwe

Ciao Uwe,
grazie della risposta.
Quello che vorrei fare è collegare l'Arduino UNO e prendere i dati da salvare in csv sulla micro sd.
I dati devo prenderli dal dispositivo linkato nel post precedente.
Secondo te è fattibile?

Dal link che ci hai dato si vede che la seriale è usata per collegare tra loro vari dispositivi, dal che se ne deduce che, molto probabilmente, i dati su di essa viaggiano secondo un ben determinato "protocollo".

Se non hai le specifiche di detto "protocollo" NON serve a nulla collegarsi sulla seriale ... non riusciresti a capire come "parlare" con quell'apparecchio.

La prima cosa che quindi devi verificare è se il "protocollo" di trasmissione è disponibile e se è implementabile su Arduino.

Nota che ho parlato di "protocollo" software, NON delle specifiche HW della porta (... baud rate, bit, parity, stop bit, ... che comunque servono).

Guglielmo

Ti ringrazio tanto per la spiegazione.
Approfitto delle vostre conoscenze per farvi un'ultima domanda: c'è un modo per far comunicare Raspberry e Arduino con richieste GET e POST?

Mi spiego meglio: vorrei avere una decina di Arduino UNO collocati in aziende che acquisiscono dati e ogni tot minuti inviano una richiesta POST. Attualmente la richiesta POST la faccio a Thingspeak, poi con il Raspberry scarico i dati da Thingspeak e li salvo su server locale. C'è la possibilità di evitare il passaggio per Thingspeak e fare diventare il Raspberry "una specie di sito"?

Grazie ancora di tutto.

jumbobosco:
...e fare diventare il Raspberry "una specie di sito"?

Ovviamente SI,
la Raspberry gira Linux con tutto quello che ne consegue :wink:

Però non è argomento di questo forum ...
... per come fare e per aiuti sulla Raspberry devi andare su forum dedicati a tale scheda :wink:

Guglielmo