Ich mache einen Roboter, der mit Himbeere und Python ferngesteuert werden kann.Paralleler Prozess Python
Ich habe eine Flask Rest API auf einem Server ausgeführt, die Befehle an den Roboter sendet, wenn der Benutzer die Tasten drückt. Sagen wir, ich drücke die Taste, um vorwärts zu gehen, der Roboter kann sich nur bewegen, wenn alle Sensoren kein nahes Objekt erkennen. Der Roboter läuft weiter, bis die Stopp-Taste gedrückt wird oder ein Sensor ein Objekt erreicht.
Mein Zweifel ist: Wie kann ich den API-Code behalten jede Anfrage zu hören, und halten Sie die Sensoren die Abstände zur gleichen Zeit messen? Wenn der Roboter läuft, dachte ich, ich sollte ein "while True" machen, bis der Sensor ein Objekt erreicht, aber es wird das Programm sperren und wenn ich die Stopptaste drücke, wird es wegen der Endlosschleife nicht stoppen ...
Immer wenn sich der Roboter in eine beliebige Richtung bewegt, müssen die Sensoren aktiv sein und die API gleichzeitig zuhören.
Ich suchte nach Multiprocessing und Subprozess-Module, aber nicht genau, was ich tun muss.
Irgendwelche Vorschläge?
Dank
Haben Sie das Threading-Modul von Python untersucht? –
Sie können einen Thread in 'while run_flag starten: if detect_object: do_move()', und 'run_flag' kann von 'thread_global_var/pipe/cache/db' abgerufen werden, die von' request' gesetzt werden. – Cheney