In diesem Blog stelle ich meine Windows-App JoystickRC4DiddyBorg zur Fernsteuerung des DiddyBorg (von PiBorg) mit einem Joystick oder Gamepad vor.
Die DiddyBorg-Beispielprogramme, die vom Hersteller PiBorg veröffentlicht wurden, enthalten zwar auch ein Python-Fernsteuerscript mit Joystick, die aber Bluetooth verwendet und daher nur eine recht beschränkte Reichweite aufweist.
Die hier vorgestellte App verwendet das vorhandene WLAN und UDP als Protokoll, um eine ausreichende Agilität der Fernsteuerung sicher zu stellen. Aus Sicherheitsgründen ist die Time-Out-Logik der Motorsteuerung ThunderBorg aktiviert.
Installation der Software
Der DiddyBorg benötigt als Empfänger ein Python-Script JoystickRC4DiddyBorg, das Sie auf github.com finden. Zusätzlich zum Empfängerprogramm finden Sie im Repository auch eine Version der ThunderBorg – Library für Python 3.x (die Beispielprogramme für den DiddyBorg basieren noch auf Python 2.x).
Am einfachsten ist es, die beiden Dateien zusätzlich in das Verzeichnis mit den Beispielen zu kopieren – dann sollte das Script ohne weitere Anpassungen von Pfadnamen funktionieren.
Auf der PC – Seite installieren Sie die gleichnamige Windows App JoystickRC4DiddyBorg, die Sie kostenfrei im Microsoft App Store erhalten.
Bedienung
Starten Sie zuerst das Python-Script auf dem DiddyBorg. Wenn Sie einen Bildschirm angeschlossen haben, dann meldet sich das Programm und gibt an, dass es auf einen Client wartet.
Wenn Sie die PC App starten, dann sucht diese automatisch nach einem DiddyBorg mit einem aktiven und kompatiblen Empfänger im lokalen WLAN (mit dem sowohl der DiddyBorg als auch der verwendete PC verbunden sein müssen). Kann keine Verbindung hergestellt werden, dann erfolgt eine entsprechende Fehlermeldung.
Nach dem erfolgreichen Verbindungsaufbau können die Kanäle den verschiedenen Joystickachsen und Tasten zugeordnet werden. Die Kanäle 3 und 4 werden als Taster verwendet und ermöglichen beispielsweise eine schnelle / langsame Drehung (die Funktion der Taster kann im Python-Script nachvollzogen werden).
Die Zuordnung der Kanäle wird gespeichert und beim nächsten Programmstart wieder hergestellt.