Lucky Robot Präsenzroboter
3D-Druck ESP32 SoftwareProjekt Lucky Robot
Maintainer: informaniac und mancas
Lizenz: Creative Commons - Attribution - Non-Commercial
Projekt gestartet: 23.02.2023
Online- und Präsenz-Treffen der LUG Saar
Während der Pandemie fanden unsere Vereinstreffen online statt. Wir nutzten mumble und jitsi um Kontakt zu halten und uns auszutauschen.
Nun gibt es wieder die regelmäßigen Vereinstreffen in unseren Räumen in Saarlouis, Luxemburger Ring 8. Die mumble Meetings haben uns gezeigt, dass man online gut Leute erreichen und bequem Einbinden kann. Daher bieten wir im Rahmen unserer Vereinstreffen seitdem auch mumble online an.
Mumble ist ein Open Source Voice Chat. Unseren mumble findet man hier: mumble.lug-saar.de
Den passenden Client findet man in den üblichen Linux Repositories, auf dem Smartphone kann man neben anderen z. B. Plumble nutzen.
Wir freuen uns immer über Gäste die sich über Linux, Open Source oder unsere Projekte informieren möchten, bevor sie zu einem unserer Treffen vorbeikommen.
In unserem Raum gibt es dazu eine Ecke mit einem Raum-Mikrofon und einem Mischpult zum Einstöpseln der Kopfhörer.
Nicht immer möchte uns jemand online erreichen und so brauchen wir eine Erkennung, wenn sich ein Teilnehmer einwählt.
Präsenzroboter
Wir nutzen Lucky um uns bei unseren Vereinsabenden in unseren Räumen anzuzeigen, dass sich ein Teilnehmer in unser mumble eingewählt hat. Wir gehen dann online, begrüßen ihn und führen Präsenz- und Realtreffen zusammen. Angesteuert wird Lucky von einem Bot in Mumble.
-
In mumble lauscht ein Bot auf Teilnehmer und erkennt, wenn sich jemand einwählt
-
Der Bot sendet ein Signal an den kleinen Lucky
Lucky Robot und sein Bot
Lucky ist ein kleiner 3D-gedruckter Roboter. Erhält er den richtigen Code vom Bot, so wird ein Servo angesteuert und er winkt freundlich.
Lucky Robot winkt
https://www.youtube.com/shorts/ma4m3f4RMEI
Funktionen
Der Code kann auf Luckys Webseite direkt eingegeben werden. Der Bot sendet einfach eine Zeile mit dem Code an den ESP, z. B. sowas wie http://192.168.xxx.xxx/get?input1=xxxx
Die Webseite von Lucky Robot, er wartet auf seine Eingabe
Lucky und der Bot laufen innerhalb unseres LUG Netzes.
Lucky hat viele weiter Einsatz-Möglichkeiten
Der D1 Mini kann auch in vielen anderen Fällen zur Visualisierung eingesetzt werden.
Zum Beispiel der Anzeige der Zustände eines Servers oder, geflasht mit ESPHome zum Visualisieren der Zustände im Smarthome.
Wir haben auch noch viele Ideen, wie Lucky erweitert werden kann.
Hier gibts die Infos zum 3D-Drucken und zur Arduiono Software
-
Lucky Robot 3D- Druckvorlagen
https://www.thingiverse.com/thing:5884270 -
Arduino Software https://github.com/lugsaar/LuckyRobot
Hardware ESP8266 D1mini
Zusammenbau des Präsenzroboters
Hier sieht man die Aufnahme des D1 Mini. Die Stiftleisten sind auf die Antennenseite gelötet. Verbaut wurden je ein SG90 Servo pro Arm, wobei jedoch nur der linke Arm angeschlossen wird. Wenn man die Federzungen der Steckanschlüsse des Servos anhebt, kann man durch Tausch von Pluspol und Masse die Kabel in die richtige Reihenfolge bringen und das Servo einfach anstöpseln.
Einbau des D1 Mini und Anschluss des Servos
Snap-In des ESP Trägers im Robotergehäuse
Die Servohebel werden zum Einbau leicht gewölbt und schnappen dann in den Arm ein.
Servohebel im Roboterarm
Die Montage von Ketten, Hals und Augen erfolgt mit kleinen Holzverbinderschrauben 2x10.
Die Pupillen werden einfach eingesteckt. Für einen späteren Ausbau bieten sie die Möglichkeit eine LED einzubauen. Sehr schön sind langsam farbwechselnde 3V LEDs, sie passen an die Digitalausgänge des D1 Mini, die 3V liefern.
LED im Roboterauge
Der mumble Bot
Einen ersten Einstieg haben wir hier gefunden https://github.com/layeh/gumble und daraus ein parametrisiertes Bot-Script entwickelt. Die Programmiersprache ist Go.
Unsere Bot-Software gibt es hier. https://github.com/lugsaar/gumble-connect-hook
Im Mumble siehr das so aus.
Der Bot im Mumble
Damit das auf dem Raspi läuft müssen mit apt-get install diese Pakete installiert werden.
- golang
- opus-dev
Der Befehl: go install <username>/gumble-connect-hook
schreibt das binary in ~/go/bin, dort muss auch die gumble-connect-hook.yml hin, nachdem sie angepasst wurde.
Die Soundausgabe des Raspherry Pi läft über eine USB-Sondkarte.
Zusammenwirken der Komponenten
Lucky Robot und sein Bot auf einem Raspberry Pi sind in unseren Vereinsräumen, mumble im Web, mumble.lug-saar.de. Der Bot könnte aber auch auf einem anderen Server mitlaufen.
So ist der Startablauf
- mumble auf dem Raspi starten
- Nutzer “mumble-Teilnehmer im Vereinsraum” dort in das Voice Chat schicken
- mit ./gumble-connect-hook den Bot starten
- Lucky einschalten, er sendet eine Mail an unsere Mailingliste mit dem Inhalt:
“Lucky Robot und Voice Chat mumble zu unserem Vereinsraum sind bereit.”