Rovio

Aus C3MAWiki
Version vom 28. Juli 2013, 14:18 Uhr von Dome (Diskussion | Beiträge) (Kategorie:öffentlich)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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.