Rovio
Wir sind stolze Besitzer einer Rovio Leihgabe zum aufhacken und rumspielen. Die Ergebnisse fassen wir hier zusammen.
Hardware
TODO: aus der spec ergänzen
Features
TODO: aus der spec ergänzen
Interesting Facts
Portscan, open ports:
80 | Webserver |
81 | ??? |
10505 | ??? |
554 | RTSP |
Control
Die Steuerung des Rovio läuft über den integrierten Webserver. Den Code den wir bis jetzt anschauen konnten benutzte ausschliesslich diese Schnittstelle. Einfache GET Requests an diverse CGIs auf dem webserver scheinen den Bot komplett steuern zu können. Im einzelnen sind dies:
rev.cgi
Über dieses CGI läuft die komplette Richtungssteuerung, bzw. Navigation. Die Parameter Die Parameter "Cmd=nav&action=18" sind obligat. Die eigentliche Steuerung wird über den Parameter "drive" verändert. Ein Request zum Vorwärtsfahren sieht also so aus:
rev.cgi?Cmd=nav&action=18&drive=1
Der Parameter drive hat dabei follgende Bedeutung:
- 1 = drive forward
- 2 = drive backward
- 3 = strafe left
- 4 = strafe right
- 5 = turn left
- 6 = turn right
- 7 = diagonal left forward
- 8 = diagonal right forward
- 9 = diagonal left backward
- 10 = diagonal right backward
- 11 = lift cam full
- 12 = retract cam
- 13 = lift cam half
- 33 = stop
Die Geschwindigkeit der Bewegung scheint über die Frequenz der GET Requests schneller zu werden (stufenlose Steuerung). Ein einziger GET auf drive=1 lässt nur die Motoren kurz angehen, führt jedoch zu keiner Bewegung. Erst ein mehrmaliges Aufrufen lässt den Rovio losfahren. Je schneller die GET Requests abgesetzt werden, desto schneller fährt der Bot.
Eine weitere Anwendung für rev.cgi ist der Status. Dieser lässt sich mit rev.cgi?Cmd=nav&action=1 abfragen. Die einzelnen Felder sind durch pipes getrennt. TODO: Bedeutung der Felder ausführlich nachpflegen! Interessant scheint das Feld "flags" zu sein. Der Wert 0007 steht dabei für ein Hindernis im Weg des Bots. 0005 steht für freie Fahrt.
GetData.cgi
Mit diesem CGI ist es möglich einen live JPG-stream (?) von der Cam des Bots zu bekommen.
ChangeSpeakerVolume.cgi
Veränderung der Lautstärke der Lautsprecher. Parameter für den GET Request: "SpeakerVolume=100". Wobei der Maximale Wert 176 ist. ChangeSpeakerVolume.cgi?SpeakerVolume=176
TODO: Weitere wichtige cgis aus der Doku adden.
debug.cgi
Sehr interessantes CGI. Lässt es zu den Speicher des Rovio direkt zu patchen und auszulesen. debug.cgi?action=read_mem&address=0x00000000&size=0x100000
Modding Vorschläge
- Die Temporär angetapte Lampe stellt sich als sehr Nützlich raus. Wir sollten da was festes bauen. Am besten die untere mini led mit einer kleinen Zusatzschaltung versehen so das man das auch remote steuern kann. (Einverständnis von Peter einfordern) --Bene 19:06, 25. Sep. 2010 (UTC)
Pix / Vids
- Der Bot hat in der Zwischendecke eine erste Erkundungsfahrt unternommen. Das Ergebnis war: wir haben ein Ei gefunden! Das Ei kommt aus Taucha von der Firma Sachsen-Ei GmbH, das Huhn lebte in Bodenhaltung
- Der Bot im Gang im Einsatz.