Wie kommuniziere ich mit einem Arduino über seine serielle Schnittstelle in C ++ unter Linux?
-
05-07-2019 - |
Frage
Ich habe einen RFID -Leser, der mit einem Arduino -Board verbunden ist. Ich möchte mich über seine serielle Schnittstelle dazu verbinden, und wenn der RFID -Leser ein Signal weglässt (wenn er eine (RF) -ID gelesen hat), möchte ich es in meinem C ++ - Programm abrufen.
Ich habe bereits den Code, um einfach die RFID aus dem Arduino zu seriell zu drucken.
Was ich nicht weiß, ist wie man es aus c ++ liest unter Linux?
Ich habe mich angesehen libserial, was unkompliziert aussieht. Wie kann ich jedoch? Lassen Sie das C ++ - Programm auf ein Signal reagieren und dann das RFID lesen, anstatt kontinuierlich zuzuhören? Ist das notwendig?
Bearbeiten: In den meisten Beispielen, die ich gelesen habe, sendet das (C ++) -Programm Eingaben und erhält die Ausgabe. Ich möchte nur zuhören und die Ausgabe vom Arduino erhalten.
Lösung 2
Ich fand die Boost :: ASIO -Bibliothek, die asynchron aus seriellen Schnittstellen liest. Boost :: ASIO -Dokumentation
Andere Tipps
Auf Unix verwenden Sie den Anruf aus Select (), um auf eine Eingabe zu warten. Der Anruf ausgewählt () wirkt wie ein Schlaf - verwendet keine CPU, bis der Kernel den Hardware -Interrupt erhält und den Select () auslöst.
Das Kommunikation Ein Teil des Schnittstellenabschnitts auf dem Arduino -Spielplatz hat mehrere Beispiele für die Schnittstelle, darunter eines mit dem Arduino als Linux tty.
Versuchen Sie das Syntax und Programme Forum und das Software-Entwicklung Forum auf der Arduino -Website. Es gab in der Vergangenheit Diskussionen über die Verbindung zu vielen verschiedenen Sprachen und Computern.
Und schau dir schließlich das an die wird bearbeitet und Verdrahtung Standorte. Die Arduino -IDE basiert auf der Verarbeitungssprache, und die Verkabelungsumgebung und der Entwicklungsausschuss sind mit Arduino zusammenhängen. Beide Websites haben viele weitere Beispiele und Links zu noch mehr Ressourcen.
Bearbeiten: Mir wurde gerade klar, dass ich Ihre tatsächliche Frage nicht beantwortet habe. Dies sind alles allgemeine Kommunikationsressourcen, aber einige haben möglicherweise Hinweise darauf, wie der Computer eine neue RFID -Eingabe aufmerksam gemacht werden kann.
Hallo, ich habe dafür eine einfache Bibliothek erstellt: Carduino https://github.com/ranma1988/carduinoC ++ kann automatisch finden, um Arduino -Port zu verbinden, lesen, schreiben, schreiben