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 🙂

Die Aufgabe: Einer schwarzen Linie folgen und damit grüne und silberne Männchen auf der Linie durch ein Blinken „retten“, und dabei Hindernissen ausweichen. Das Siegerteam hat mich damals (wie heute) beeindruckt: Die hatten einen Roboter mit einer Webcam ausgestattet, und haben das Bild scheinbar direkt auf dem Roboter ausgewertet. Damit waren Sie natürlich unserem Roboter aus LEGO mit zwei Lichtsensoren (ohne Farberkennung!) haushoch überlegen (dem Rest der Teilnehmer eigentlich auch).

Und jetzt kann man sich schon fast denken, was mein NiboPi werden soll, oder? 😀

Richtig: Der NIBObee ist für die Fortbewegung zuständig (und könnte sogar Hindernisse erkennen) und der Raspberrry Pi sorgt für genügend Intelligenz. Ich warte momentan noch sehnsüchtig auf die Raspberry Camera, denn die soll die Daten liefern. Und mit 700Mhz Rechenleistung (plus GPU) und einer 5MP Farbkamera sollte man doch so eine blöde Linie erkennen können, oder?

Doch das sind alles noch Pläne, wie sieht es denn momentan aus? Momentan steuert noch mein Computer mit einem kleinen C#-Programm:NiboBeeRemote_2013-04-14_14-02-58Auf dem AVR-Controller des NIBObee läuft nur noch ein kleines Programm, dass die Steuersignale über die serielle Schnittstelle annimmt und an die Motoren etc. weiterreicht. Das Programm stammt auch nicht von mir, sondern direkt von den Machern des NIBObee: Die haben ein Programm geschrieben, dass das extra dafür entwickelte Nibo-Serial-Protokoll unterstützt. Natürlich auch nicht nur zum Spaß, sondern für ihr Blue-Modul, was dem NIBObee eine Bluetooth-Schnittstelle verpasst. (Das Programm unterstützt übrigens dank dem tollen J2I.Net.XInputWrapper auch meinen XBOX Controller. Das ist ziemlich cool 🙂 )

So ist ungefähr der aktuelle Stand. Jetzt werde ich versuchen, eine Verbindung zwischen Raspberry Pi und NIBObee hinzubekommen, damit sollte die Steuerung schon mal kabellos über SSH und WLAN funktionieren. Dann wäre eine mobile Stromversorgung nett, und eine Steuerung per Wii-Nunchuck (der benutzt I²C) wäre auch ziemlich cool… Der nächste Teil folgt, wenn ich wieder was erreicht habe.

Zum Abschluss noch ein paar Bilder des ganzen:

5 Gedanken zu „NiboPi: Teil 1

  1. …grrrr ich bin am verzweifeln..
    Ich habe auf 2 nibobee’s das nibobee-terminal.hex mittels robodude und seinem USBasp Treiber geflasht. Danach mittels einem 3.3v FTDI den ibobee per X5 Anschluss am PC verbunden.
    Alles was ich zu Gesicht bekomme ist
    Nibobee
    Ich kann help eingeben, doch es kommt nichts zurück, kein Befhel aus dem serial Protokol funktionniert. Als Terminal habe ich schon Putty, Mobaxterm sowie minicom und screen verwendet.
    Hättest du einen Tip?

    1. Hi,

      also ich kann mich noch daran erinnern, dass ich auch Probleme damit hatte, einen Befehl abzusetzen, aber ich weiß leider nicht mehr, wie ich es gelöst habe…

      Auf jeden Fall gibt es in Putty eine Option „Implizit LF for every CR“ (oder anders rum). Damit kann man schon mal ein wenig rumspielen, vielleicht wird einfach kein korrektes Zeilenende Zeichen geschickt. So ein Problem hatte ich zumindest bei anderen Sachen schon manchmal. Ich hatte damals auch versucht, der Code des Terminal-Programms für den NIBObee so umzuschreiben, dass es nicht mehr auf einen Zeilenumbruch wartet, sondern auf einen Slash oder so etwas. Ich bin mir aber auch da nicht mehr sicher, ob das geklappt hat…

      Ansonsten ist der NIBObee natürlich ein 5V Gerät, wenn du Pech hast, reichen die 3,3V aus dem FTDI Chip nicht, um einen High-Pegel auszulösen. das sollte es aber eigentlich nicht sein, meistens reichen da schon rund 3V (etwas mehr als 5V/2 = 2,5V eben). Und ich hatte ja genau das gleich Problem mit meinem 5V Adapter.

      Oder natürlich der ganz triviale Fehler: Bist du sicher, dass die TX-Leitung (richtig) angeschlossen ist? Soll ja schon vorgekommen sein 😉

      Wenn mir noch was einfällt, melde ich mich hier noch mal!

      Niklas

  2. Hello, sorry i have to write in english. How did you implement the serial connection between raspberry pi and the nibobee?

    1. Hi,

      The serial connection is available on the X5 header of the NIBObee. On the RasPi side I used an USB-to-Serial converter („FDTI adapter“) for the connection. It’s the chip on the lower right in the last photo. (On the photo the USB cable to the RasPi is missing)

      One could use the UART of the RasPi directly, but this would require a level shifter as the RasPi works with 3.3V and the NIBObee with 5V.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.