Schritt 12: [TCP]: ermöglicht einen Client zu machen!
Der Client (Raspberry Pi in unserem Fall), der die Daten vom Server (in unserem Fall unsere P.C.) empfängt erhalten Daten an die Pi (serielle Befehle, die auf dem Arduino ausgeführt wird) zu senden und empfangen von Daten zurück (Sensorwerten und Feedback direkt aus dem Arduino. Das Schema angeschlossen zeigt die Beziehung zwischen den drei.
Die Python-Wiki-TcpCommunication Artikel zeigt, dass es so einfach, solche Kommunikation mit wenigen Zeilen Code mit dem eingebauten Steckdose Modul machen. Wir haben ein Programm auf dem PC und einem anderen Programm auf dem Pi.
Wir arbeiten mit Interrupts. Erfahren Sie mehr in den Erläuterungen über sie Schritt. Lesen Sie es über Puffer zu.
Jetzt können wir lesen, dass die Daten, die wir haben, mit data=s.recv(BUFFER_SIZE), aber es werden wie viele Zeichen, die wir definiert haben, mit leeren Sie beißt. Können wir Interrupts? Eine andere Frage: wird der Puffer leer sein oder wird es warten, damit des Servers mehr Daten zu senden, in dem Fall die Server/Client eine Timeout-Ausnahme löst?
Ermöglicht es, dass man gleichzeitig zu bewältigen. Bevor wir dies tun, habe ich diesen Wikipedia -Artikel sah, dass Listen TCP- und UDP-Ports verwendet. Nach einem kurzen Blick habe ich beschlossen, dass dieses Projekt wird auf Port 12298 zu kommunizieren, da sie nicht durch das Betriebssystem und Dienstleistungen verwendet wird.