PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NIBO2 und UCOM-IR kommunikation unter Linux



papapetrus
01.08.2011, 22:10
Hallo zusammen!

Ich hab einen NIBO2 und den UCOM-IR Programmieradapter. Im Großen und Ganzen funktioniert auch alles, bis auf die Kommunikation über IR.

Dass die Lib 2.10 keinen Datenstrom über IR unterstützt hab ich gelesen, aber ich wäre ja schon mal happy, wenn ich RC5 Kommandos "austauschen" könnte.

Technisch funktioniert "alles", weil ich das schon mal mit dem Fernsteuerprogramm unter Windows getestet hab. Senden und empfangen am NIBO geht, senden am UCOM-IR auch, empfangen weiß ich nicht. Sollte aber gehen, denke ich.

Die Frage ist nur, wie kann ich das Ding, also den UCOM-IR mit eigenen Programmen ansprechen? Das sollte unter Linux doch kein Problem sein, oder?

Ziel ist es, dass der NIBO Augen, Ohren (äh) und Beine meines Laptops wird. Also Bewegungsdaten, Raumdaten usw. zum PC sendet und der macht sich dann ein Bild von der Umgebung, meldet Einbrecher und spielt mit der Katze, ... :)

Kann mir da jemand helfen?

-schumi-
02.08.2011, 17:51
Hallo und herzlich willkommen im Roboternetz!

Ich hab mal Google angeworfen und auf folgendes gestoßen: http://www.nibo-roboter.de/wiki/UCOM-IR2

(http://www.nibo-roboter.de/wiki/UCOM-IR2)Und wenn ich das richtig sehe sollte die erste Tabelle da sogar schon die Lösung deines Problems sein :)

Probier mal folgendes:
Softwarecenter starten und cutecom installieren
cutecom starten
Bei "Device" trägst du z.B. /dev/ttyUSB0 ein (0 wenn der Programmer als erstes von mehren Adaptern angeschlossen wurde, ansonsten 1, 2, 3 usw.)
Bei Baudrate kommt "2400" rein
Databits 8
Stopbits: 1
Parity: None
Dann auf "Open Device" klicken
Jetzt solltest du im oberen Fenster die Sachen sehen die du empfängst und im unteren kannst du selbst Dinge senden
Wenn das soweit funktioniert wirds wirklich einfach das in eigene Programme einzubinden :-D

Du könntest es sogar z.B. so machen, dass du ein Kommando im Terminal ausführst. Möchtest du ein A senden sieht das so aus:

echo "A" >> /dev/ttyUSB0
und zum lesen gibt dir

cat /dev/ttyUSB0
die entsprechenden Daten raus.

(Um die Einstellungen wie Baudrate usw. zu setzen kannst du z.B. stty verwenden)

Natürlich kannst du das auch in der Programmiersprache deiner Wahl direkt einbinden, wie es da dann aber geht kommt ganz auf die Sprache an in der du das realisieren möchtest.

Hoffe das hilft dir weiter :-D

Viele Grüße
-schumi-

papapetrus
02.08.2011, 22:04
Hi -schumi-!

Du bist genial! Das hat fast perfekt funktioniert.

Der Adapter erscheint aber auf /dev/ttyACM0 und zum Senden von IR musste ich natürlich Parität "Ungerade" einstellen, wie ja in der von dir erwähnten Tabelle schön zu sehen ist. Empfangen kann ich jetzt sehr gut. Aber beim Senden passt etwas nicht.

Der NIBO sendet brav seine RC5 Kommandos, die dann im CuteCom so aussehen: *BbDdDdDbBbA*BbBbDdB~*

Kann ich auch irgendwie nachvollziehen. http://www.nibo-roboter.de/wiki/RC5-Protokoll

Aber welche Zeichenfolge ich auch in das Input Feld von CuteCom schreibe oder auch im Terminal direkt auf /dev/ttyACM0 sende, es kommt am NIBO kein RC5 Code an. Auch mein Fernseher ignoriert die Signale - also nicht mal die Statusled reagiert.

Hast da an Tipp?

LG
Peter

-schumi-
02.08.2011, 22:24
Der Adapter erscheint aber auf /dev/ttyACM0 und zum Senden von IR musste ich natürlich Parität "Ungerade" einstellen
Sorry, hab ich nicht gewusst (Hab keinen NIBO...)

Aber schön, dass es ansonsten recht gut geht!

Ich würde jetzt erst mal überprüfen ob denn die IR-Leds des Boards etwas senden. Dazu nimmst du eine billige Digitalkamera (Handy oder so) und schaust dir durch die Kamera hindurch die LEDs an. Dann sendest du etwas. Wenn die LEDs Infrarotlicht aussenden kann man das mit der Kamera sehen

Hast du denn versucht mal das selbe zurückzusenden wie dir der Nibo sendet? Allerdings weis ich nicht wie das Board die Befehle die du ihm schickst interpretiert... Von dem her kann ich nur raten ;)

Viele Grüße
-schumi-

papapetrus
02.08.2011, 22:40
Ja, das Senden hat schon unter Windows geklappt, also mit einer Fernsteuerungs-SW. Hab und will aber kein Windows einsetzen. Den Digicam Trick hab ich jetzt aber doch noch mal ausprobiert. Alleine um zu sehen, wie das aussieht. Geht, wie erwartet.

Hab auch schon mal das vom Nibo empfangene wieder zurück gesendet. Fehlanzeige.

Aber danke erst mal. Ich werd mir ein Programm schreiben, dass dann alles mögliche sendet und dann werd ich schon mal einen RC5 Code "erwischen".

LG

-schumi-
03.08.2011, 07:47
Mit HTerm kannst du auch die Zeichen die du senden möchtest im Dualsystem oder Hexadezimalsystem angeben: http://www.der-hammer.info/terminal/
(http://www.der-hammer.info/terminal/)
Vielleicht hilft dir das ;-)

Gruß

papapetrus
03.08.2011, 15:44
Bingo! Senden und Empfangen funktioniert jetzt.

Ein Sendestring für CuteCom in RC5 sieht dann z.B. so aus: **BbDdDbBdDbBbBbBbBbBdB~

Danke nochmal!