Forum: PC-Programmierung Kommunikation mit einem FTDI Chip


von Frank H. (horni)


Lesenswert?

Hallo Leute,

ich nutze bei mir zu Hause relativ viele Funk-Devices in 433MHz und 
2.4GHz Bändern. Als Empfänger habe ich mir eine Platine mit einem ATMega 
/ Arduino gebaut und diese mit einem RPi ans Netzwerk angeschlossen. Die 
Kommunikation zwischen dem RPi und dem ATMega findet über einen FTDI 
Chip statt. Momentan logge ich mich per minicom ein. Dort sehe ich dann 
Sensordaten und kann selbst den einzelnen Peers Kommandos übermitteln. 
Seit ca. einem Monat läuft das ganze stabil.

Nun soll der nächste Schritt folgen. Ich möchte die Daten dauerhaft 
sammeln (z.B. Temperatur-Messwerte) wahrscheinlich in einer MySQL 
Datenbank oder Aktoren über Modbus schalten.

Deshalb würde ich gerne wissen, wie ich den Zugriff am einfachsten 
realisieren kann.

Kann mir da jemand etwas empfehlen?

von X4U (Gast)


Lesenswert?

Frank Horn schrieb:
> über einen FTDI Chip statt.

welcher?

von Frank H. (horni)


Lesenswert?

X4U schrieb:
> welcher?

Ein FT232RL. Aber spielt das eine Rolle? Das Ding meldet sich unter 
Linux unter /dev/ttyUSB0.

von X4U (Gast)


Lesenswert?

Frank Horn schrieb:
> Ein FT232RL. Aber spielt das eine Rolle?

Ja, FTDI stellt noch mehr her.

Mit den 232 seriell USB Wandlern gibt es keine Kommunikation.

Du sendest ein Byte, dat Dingens setzt das um und am anderen ende kommt 
es seriell wieder raus.

Wenn du  das ganze wegschreiben willst muss die Software den COM Port 
öffnen und und die Datenbank beschreiben.

Alternativ machst du dir mit einem Terminal Programm ein Log und liest 
das Log File im Postprozessing aus.

von Simon S. (-schumi-)


Lesenswert?

Da unter Linux alles eine Datei ist, ist auch dein USB-UART-Wandler eine 
solche. Die liegt wie du schon richtig bemerkt hast unter /dev/ttyUSB0

Schreibst du irgend etwas in diese Datei, dann fällt das beim FTDI-Chip 
am TX-Pin raus. Bekommt der FTDI-Chip am RX-Pin Daten, so stehen diese 
in der Datei. Das ist alles ;-)

Falls du noch Baudrate usw einstellen möchtest kannst du z.B. stty 
benutzen. Oder noch einfacher (Du willst ja schätzungsweise ein Programm 
dafür schreiben): Du benutzt eine fertige Bibliothek für serielle 
Kommunikation, z.B. "Serial" bei Python.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.