Es gilt die Webseite und andere Kanäle mit mehr Leben zu füllen. Deshalb hier ein kleiner Einblick in die laufenden Projekte.
Zu meinen Füßen fährt und saugt seit einiger Zeit ein Roomba Saugroboter, dessen offene Schnittstelle zum Basteln einlädt. Entferntes Ziel soll sein, irgend wann einmal aus der Ferne (vie VPN natürlich) auf den Roomba zuzugreifen und ihn als eine Art Telepräsenzroboter zu nutzen.
Momentan finden folgende Komponenten Verwendung:
- RaspberryPi (Steuerung + Webserver)
- Ein 3.3V – 5.0V bidirektionaler Spannungswandler
- eine standard RasPi Kamera (ohne IR Filter. Es ist dunkel unterm Sofa.)
- ein USB-WLAN Stick
Die Einrichtung des Webservers und einer Web-Steuerung der Kamera war problemlos, da alles als vorgefertigte Pakete verfügbar. Die Elektronik ist noch fliegend auf einem Breadboard verkabelt, funktioniert jedoch bereits. Die explizit für serielle Kommunikation vorgesehenen RX/TX Pins des Raspberries wurden über den Spannungswandler mit der SCI-Schnittstelle des Roomba verbunden. Die Spannungsversorgung sowohl der 3.3V als auch der 5V Schiene des Spannungswandlers kommt dabei vom RasPi.
Der RasPi legt die Rx/Tx Pins dankenswerter Weise auf /dev/ttyAMA0, was das Einrichten der seriellen Verbindung einfach macht. Ich nutze Python (Dank an mkzero und seinen Python-for-RasPi-Kurs) und das ’serial‘ package. Die Schnittstelle ist vom Hersteller dokumentiert (Link auf pdf) und erlaubt den Zugriff auf alle Aktoren und Sensoren, nicht jedoch auf die originale Firmware inkl. dem Reinigungsalgorithmus.
Eine vollständige Python-Bibliothek zur Ansteuerung habe ich nicht gefunden. Diese auf GitHub deckt jedoch die Basisfunktionen ab. Vielleicht kann ich dort etwas beitragen.
Hier die erste Kontaktaufnahme mit dem Roomba. (Audio an!)
115200 baud it is. We have contact. (And he's from the dark side) pic.twitter.com/pd9eE62ipv
— Ronnie Soak (@Chaos_99) November 11, 2015