FischerPi Teil 4: RaspiFastCamD

TL;DR: Wer einfach nur RaspiFastCamD haben will: Hier gibt es die (mglw. veraltete Binärversion).

Wow, der letzte Teil ist schon wieder lange her. Aber ich war nicht untätig, für die weitere Arbeit an meinem Roboter musste erst ein Software-Problem behoben werden:

Ich habe mir ja die Rasperry Camera gekauft, und diese sollte für die Navigation benutzt werden. Dazu muss natürlich irgendwie das Kamera-Bild ausgewertet werden. Nach ein wenig Suchen habe ich dann OpenCV gefunden, eine Bibliothek, die genau dafür gemacht wurde (CV steht für „Computer Vision“). Nur wie das Bild der Kamera in OpenCV bekommen? Bei USB-Kameras, die V4L (Video for Linux) unterstützen, ist das recht einfach, dort kann OpenCV die Bilder einfach abholen.

Weiterlesen

FischerPi Teil 3: Kühlung, Stromverbrauch und ein erstes Blinken

Im letzten Teil hatte ich ja schon geschrieben, dass es noch ein Problem mit der Kühlung gab, sprich der Spannungswandler auf meinem Roboter, der aus den ~9V für den fischertechnik-Teil genau 5V für den Raspberry Pi machen sollte, wurde viel zu heiß. Wie Christoph in den Kommentaren anmerkte bin ich da nicht ganz unschuldig dran, denn mein Spannungswandler ist tatsächlich nur für 2A ausgelegt, wenn er ausreichend gekühlt wird.

Also habe ich einen Blick in unsere Metallkiste geworfen, und aus einem alten Stück Alu-Blech dieses Kühlkörper gebaut:IMGP1936Kommt vermutlich nicht ganz an die Kühlleistung eines richtigen Kühlkörpers heran, reicht aber völlig. Damit bleibt die Temperatur des Bleches auf einem erträglichen Maß (man kann es ca. 10 sek lang anfassen). Trotzdem ist das Ding immer noch ziemlich warm, und strahlt auch eine Menge Wärme ab. Gerade wenn das man von einem Akku gespeist werden soll, wird da wohl zu viel Energie verloren gehen… Aber: Der Raspberry Pi läuft! Er wird direkt über die GPIO Pins mit Strom versorgt, und läuft wunderbar.

Weiterlesen

Wenn Half-Life 2 plötzlich koreanisch spricht…

Momentan hat Steam/Valve scheinbar ein paar Probleme mit den Spracheinstellungen bei Half-Life 2. Letzte Dienstag hat sich das Spiel bei mir plötzlich von selbst auf Englisch umgestellt (interessanterweise nur der Ton, das Menü war weiterhin Deutsch), und wollte sich auch nicht mehr dazu überreden, wieder Deutsch mit mir zu sprechen. Ich war ein wenig genervt, und verschob das Problem ein wenig.

Heute hab ich dann wieder Half-Life 2 gestartet, und plötzlich war der Ton in einer asiatisch/chinesisch klingenden Sprache! WTF? Schnell in den Steam-Ordner geschaut, und dort eine „half-life2_korean.gfc“ gefunden…

Die Lösung des Problems: Rechtsklick auf das Half-Life 2, Eigenschaften, Sprache, und dort auf Russisch (!) stellen:

Weiterlesen

Aus NiboPi wird FischerPi: Teil 2

So, ich habe mal wieder Zeit gefunden an meinem Roboter zu arbeiten (Teil Eins lesen!), und ich habe im Grunde ganz neu angefangen. Natürlich soll es immer noch ein Roboter werden, der Kamera gesteuert einer Linie folgt, aber ich habe den kompletten Unterbau ausgetauscht. Er war ja mal ein NIBObee, jetzt besteht der komplette Unterbau aus fischertechnik:

IMGP1916Warum? Ganz einfach, mir kam der ganze Unterbau einfach zu instabil vor. Jetzt ist das ganze deutlich belastbarer, und die Motoren sind auch kräftiger. Gerade weil ja auch noch eine Stromversorgung (also ein Akku) dazukommen sollte, und die ja nun mal recht schwer sind.

Der Aufbau stammt in großen Teilen aus der Anleitung des RoboMobile Set, nur der Aufbau mit Raspberry Pi und Breadboard ist neu. Der gelbe Rahmen ist mit Tastern ausgestattet, damit können schon wunderbar Hindernisse erkannt werden. Dazu gibt es noch Odometriesensoren an jedem Rad (leider nur mir 8 Impulsen pro Drehung, also ziemlich ungenau…)

Weiterlesen

NiboPi: Teil 1

Mein neues Bastel-Projekt: Der NiboPi. Richtig, dass ist ein selten dämlicher Name. Aber bei sowas war ich noch nie sehr kreativ… Wie man am Namen wohl schon fast erraten kann, ist es eine Verbindung aus Raspberry Pi und NIBObee. Und damit dieser Blog auch mal wieder ein paar Beiträge bekommt, habe ich mir vorgenommen, ein wenig über dieses Projekt zu bloggen.

Momentan sieht es so aus:

IMGP1904Unten ist mein NIBObee eingebaut, und oben drauf sitzt in einer LEGO-Halterung mein Raspberry Pi, ein WLAN-Adapter und hinten ein Breadboard mit USB-UART Wandler.

Doch zunächst ein bisschen zum Hintergrund: Vor ein paar Jahren habe ich von meiner Schule aus mit ein paar Freunden am RoboCup teilgenommen, und zwar in der Disziplin RoboRescue. (Das andere Team unserer Schule hat es bei RoboDance übrigens bis zum Weltmeistertitel geschafft) Wir waren leider nicht ganz so erfolgreich, aber es hat immerhin für eine Platzierung im Mittelfeld gereicht 🙂

Weiterlesen

Kurztipp: Wenn der Rasperry Pi nach dem Update nur noch drei Mal blinkt…

Ich hatte gerade mal wieder aus Gewohnheit ein Update der Firmware meines Raspberry Pis gemacht, doch das war wohl keine gute Idee: Nach dem Neustart blinkte die „ACT“ LED nur noch drei Mal, aber das System wollte nicht mehr starten.

Das dreimalige Blinken ist ein Fehlercode, der sagt, dass die start.elf Datei nicht gefunden werden kann. Verursacht hat den Fehler das „rpi-update“ Tool, denn das tauscht ja die start.elf Datei aus.

Scheinbar gelangt dabei ein nicht druckbares Zeichen (warum auch immer) in den Dateinamen, und damit kann die Datei nicht mehr gefunden werden. Dadurch, dass das Zeichen nicht druckbar ist, sieht man das leider auch nicht…

Abhlife ist einfach: Einfach die SD-Karte in einen anderen PC stecken (Windows reicht), und die start.elf-Datei in irgendwas anderes umbenennen (z.B. „start.elf2“), und danach wieder zurück auf „start.elf“. Auf diese Weise verschwindet das nicht druckbare Zeichen, und alles funktioniert wieder 😀

Weiterlesen

Dateiendungen für Highlighting in Notepad++ einstellen

Ich habe mich heute ein wenig mit CakePHP beschäftigt (das sieht wirklich richtig gut aus), und CakePHP benutzt *.ctp-Dateien (Cake-Template soll das wohl heißen). Das sind im Grunde aber nur HTML/PHP Dateien (bzw. Fragemente davon). Also wollte ich beim Bearbeiten mit Notepad++ auch das passende SyntaxHighlighting haben.

Leider erkennt Notepad++ die Sprache der Datei an der Dateiendung (woran auch sonst) und stellt .ctp-Dateien natürlich nur als Text dar. Und das zu ändern ist gar nicht mal so einfach, denn die Einstellung dafür ist unter Einstellungen/Stile…

Stile_2013-03-29_14-19-13Dort klickt man auf die Sprache und stellt unten bei „Benutzer-Erw.“ die entsprechende Endung ein. Hat ein wenig gedauert, bis ich das gefunden habe… Möchte man mehr als eine Erweiterung haben, kann man sie einfach mir Leerzeichen getrennt eintragen 🙂

Weiterlesen

Fortschritt von dd unter Mac OS

Heute musste ich mal wieder ein Image auf eine SD-Karte kopieren, und sowas ist unter Unix/Linux ja kein Problem, daher mache ich das immer gerne mit dd auf meinem MacBook. Dieses mal hatte ich es sogar erst unter Windows versucht, aber dort wollte es nicht so recht funktionieren, also holte ich mein MacBook doch wieder raus. Dort den ganz normalen dd-Befehl abgesetzt:


sudo dd if=/path/to/file.img of=/dev/disk1 bs=1m

Nun dauert das natürlich (das Image war 2GB groß, und ja es war ein Raspberry Pi Image ;)). Naja, warten wir mal. … Aber es würde mich schon interessieren, wie weit er gerade ist… Warum hat dd eigentlich keinen Fortschrittsbalken?

Also schnell dies PID rausgesucht:

Weiterlesen

.NET Tipps 5: Optionale Parameter und Params sind keine gute Idee

Mal wieder ein neuer .NET Tipp!

C# hat ja so nette Funktionen wie optionale Parameter und „params„. Beide für sich sehr praktisch, mit dem ersten kann man Parametern Default-Werte mitgeben, die benutzt werden, wenn der Parameter nicht angegeben wird. Mit dem zweiten kann man einen Parameter kennzeichnen, der ein Array erwartet, statt diesem kann man dann auch einfach eine Kommata-getrennte Liste angeben.

Nur beides zusammen ist keine gute Idee: Ich hatte diese Funktion, welche eine optionale Sequenznummer erwartet, sowie eine Liste von NiboCommand-Objekten:

Weiterlesen

Ein Kartengeber aus fischertechnik

Diesmal eine kleine Vorgeschichte: Bei uns bei uniKIK gibt es immer jede Menge Flyer, und diese Flyer müssen meisten in Packen von ca. 15 an die ganzen Schulen verschickt werden. Von der Druckerei kommt aber nur ein großer Haufen, also müssen die Flyer in einer wahnsinnig spannenden Aktion abgezählt werden. Langweilige Arbeit? Das kann doch auch eine Maschine machen, dachte ich mir 😉IMGP1869

Weiterlesen