Ankündigung

Einklappen
Keine Ankündigung bisher.

Wiregate und Roomba (581)

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • haegar80
    antwortet
    Zitat von JuMi2006 Beitrag anzeigen
    Besteht hier noch Interesse an der Roomba-Anbindung?

    Wer hat denn jetzt noch einen Roomba und gibt es irgendwelche "Feature-Wünsche" ?
    Ja, ich, hier!!!!

    Ich hätte aber gern eine WLAN Anbindung, da ich nicht noch ein Bluetooth Netz aufbauen möchte.

    Gibt eigentlich eine Anleitung zum Einbauen eines W-LAN seriell Adapters in den Roomba? Mit dem Kästchen oben drauf, kommt er nämlich nicht unters Sofa...

    Danke
    Sascha

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Besteht hier noch Interesse an der Roomba-Anbindung?
    Ich hab freundlicherweise Olivers BT-Adapter geliehen bekommen und ein rudimentäres WireGate-Plugin erstellt sowie die roombacmd wieder mit vollen Features ausgestattet. Nachdem das jetzt halbwegs funktioniert hab ich mir mal die Bauteile für nen eigenen Adapter bestellt.

    In der Visu kann ich jetzt dem Roomba sagen clean, dock und vorher auch einen einen Fahrbefehl geben (z.B. 3 Sekunden Rückwärts, 1 Sekunde drehen, dann 4 Sekunden vorwärts und jetzt saubermachen).

    Die Aufzeichnung der Roomba-Daten (Spannung, Strom etc.) erfolgt wie gewohnt in RRDs.

    Wer hat denn jetzt noch einen Roomba und gibt es irgendwelche "Feature-Wünsche" ?

    Grüße

    Einen Kommentar schreiben:


  • makki
    antwortet
    Das liegt vermutlich an der magischen compile-time, die war da vermutlich auch nach 3, nix für Vormittags-Schattenparker
    Im Ernst, nochmal: das ist ein buggy-quickhack, ich bin schon froh das es mit dem 581 überhaupt was tut da es nur mitm 520 getestet..

    Makki

    Einen Kommentar schreiben:


  • Sandman60
    antwortet
    Kommando zurück! Warum auch immer. Hab gerade beim ausloggen nochmals den command abgesetzt und..... ES GEHT... Hab grad 200 Puls, fast....
    THX!

    Keine Ahnung warum es jetzt klappt.... Muß ich morgen nochmal checken... Blick auf die Uhr: Es ist nach 3.... So ähnlich ist's mir auch beim Commandline-Testen gegangen.... Nach 3 und plötzlich läuft die Kiste los! Ich brech weg...

    Einen Kommentar schreiben:


  • Sandman60
    antwortet
    Zitat von makki Beitrag anzeigen
    -c sollte es sein, geht bei mir
    Mist, da tut sich gar nix bei -c. Bei -C kommen die Params.....
    Zitat von makki Beitrag anzeigen
    my $dummy = `/root/roombacmd -p /dev/rfcomm0 -c`;
    OK, doch so schwer, ähh., einfach.....
    Zitat von makki Beitrag anzeigen
    Fertisch Aber wiegesagt, ausgereift ist es nicht, es geht nur irgendwie..
    Sehe das erst mal so als Grundgerüst an, danach schwirren mir schon einige Dinge im Kopf herum, wie das dann smarter werden kann. Aber erst mal muß ich das Ding zum saugen bringen... Das "Ab in's Körbchen" ist ja ganz nett, aber noch net so richtig smart
    So long, Oliver

    Einen Kommentar schreiben:


  • makki
    antwortet
    Zitat von Sandman60 Beitrag anzeigen
    Und genau beim essentiell ersten (Clean) stehe ich aufm Schlauch... Welcher Parameter ist es???? Hab das Alphabet schon einmal runter
    -c sollte es sein, geht bei mir

    Dito. Wie sieht das bei Dir mit den Reconnects aus nach einem Reboot usw.?
    Kein problem, die Verbindung wird eh jedesmal frisch aufgemacht (deswegen ist es auch so elends langsam..)


    bis zur nächsten Frage a la "wie spreche ich roombacmd in nem Plugin" an...
    if (<was-will-ich>) {
    my $dummy = `/root/roombacmd -p /dev/rfcomm0 -c`;
    }
    Fertisch Aber wiegesagt, ausgereift ist es nicht, es geht nur irgendwie..

    Makki

    Einen Kommentar schreiben:


  • Sandman60
    antwortet
    Zitat von makki Beitrag anzeigen
    .. ich brauch ja kein RC-Auto sondern einen Robby der saubermacht, das Dock sucht & sagt wie es ihm geht - gut ists
    100% ack
    Zitat von makki Beitrag anzeigen
    clean, dock und das auslesen sollte gehen bzw. tut es bei mir, der Rest: s.o.
    Und genau beim essentiell ersten (Clean) stehe ich aufm Schlauch... Welcher Parameter ist es???? Hab das Alphabet schon einmal runter

    Zitat von makki Beitrag anzeigen
    Sollte schon passen, mal meine:
    Dito. Wie sieht das bei Dir mit den Reconnects aus nach einem Reboot usw.?

    Zitat von makki Beitrag anzeigen
    Bei mir hängen beide an einer Cat-Verlängerung, nur fürs Protokoll, das sind meist Kabel oder Power-geschichten..
    Yep. Hatte ich dann ja im Update noch korrigiert. Hätte das sch... Kabel danach am liebsten 3x überfahren und danach angezündet...

    Zitat von makki Beitrag anzeigen
    Ja, Ack, scheint so, sorry, böser Quickhack, hab das halt seinerzeit zwischen Tagesschau&Wetterkarte soweit hingefummelt das es für meine Zwecke ging, fertig
    Passt scho. Wennst mir etzt noch das mit dem Clean-Parameter verrätst, dann bin ich erst mal wieder ruhig bis zur nächsten Frage a la "wie spreche ich roombacmd in nem Plugin" an... Aber da schau ich mir erst mal Deinen Roombagraph an...

    Viele Grüße,
    Oliver

    Einen Kommentar schreiben:


  • makki
    antwortet
    Zitat von Sandman60 Beitrag anzeigen
    So, die nächsten Hürden scheinen genommen zu sein, Verbindung steht via rfcomm1 und einige roombacmd-Commands funktionieren, sprich die Verbindung steht.
    Gut, auch dieses Detail hatte ich unterschlagen

    Allerdings funktioneren die Fahrkommandos nicht
    Das ist volle Absicht ! In meinem kompilat sind diese umfassend auskommentiert, weil soweit ich weiss dann die Absturz-Sensoren usw. deaktiviert sind. Das soll - egal was passiert - nicht möglich sein, ich brauch ja kein RC-Auto sondern einen Robby der saubermacht, das Dock sucht & sagt wie es ihm geht - gut ists

    1. Verwendest Du das roombacmd nur zum auslesen oder auch zum Starten?
    clean, dock und das auslesen sollte gehen bzw. tut es bei mir, der Rest: s.o.

    2. Das Mapping via rfcomm klappt zwar, wie und ob das aber langfristig geht, ??? Richtiger Ansatz?
    Sollte schon passen, mal meine:

    Code:
    wiregate1:~# cat /etc/bluetooth/rfcomm.conf 
    rfcomm0 {
    bind yes;
    device 00:12:6F:03:6E:AF;
    channel 1;
    comment "Roomba EG";
    }
    
    rfcomm1 {
    bind yes;
    device 00:12:6F:09:84:28;
    channel 1;
    comment "Roomba OG";
    }
    3. Irgendwie hat der BT-Stick in Kombination mit der USB-Verlängerung Probleme,
    Bei mir hängen beide an einer Cat-Verlängerung, nur fürs Protokoll, das sind meist Kabel oder Power-geschichten..

    4. Die roombacmd wirft beim Aufruf mit dem -h Parameter für die Hilfe einen Segfault... Ist das bei Dir auch so?
    Ja, Ack, scheint so, sorry, böser Quickhack, hab das halt seinerzeit zwischen Tagesschau&Wetterkarte soweit hingefummelt das es für meine Zwecke ging, fertig

    Makki

    Einen Kommentar schreiben:


  • Sandman60
    antwortet
    So, die nächsten Hürden scheinen genommen zu sein, Verbindung steht via rfcomm1 und einige roombacmd-Commands funktionieren, sprich die Verbindung steht.
    Ich dokumentiere das noch im Detail, daher erst einmal ein kurzes Feedback: passkey-agent war nur ein Teil, sorgt eben dafür, daß der Pairing-Code übermittelt wird. Die Bindung an den Roomba habe ich mit "rfcomm connect <port> MAC-Adresse" durchgeführt.... Ging dann auch nach dem 115'ten Versuch

    Allerdings funktioneren die Fahrkommandos nicht, also -f oder -b. -C zeigt einiges, ebenso kann man -d in den Docking-Modus umschalten, allerdings muß sich dazu der Roomba schon in Fahrt befinden.

    @Makki: Wie befürchtet kommen nun einige Detailfragen:
    1. Verwendest Du das roombacmd nur zum auslesen oder auch zum Starten? Die angegebenen -f usw. Parameter werden zwar akzeptiert, interessieren aber irgendwie nicht.
    2. Das Mapping via rfcomm klappt zwar, wie und ob das aber langfristig geht, ??? Richtiger Ansatz?
    3. Irgendwie hat der BT-Stick in Kombination mit der USB-Verlängerung Probleme, sprich läuft nicht. Ist einerseits optisch zu erkennen, da das blaue Licht am BT nicht leuchtet(an der Verlängerung ist es an). Am WG-USB-Hub klappt es. Fehlermeldungen lt. DMESG:
    Entweder "device descriptor read/64, error -32" oder "device not accepting address 9, error -32".
    >> Hat sich erledigt. War ein Faulty-Patchkabel , läuft. Frage 3 damit gelöst.
    4. Die roombacmd wirft beim Aufruf mit dem -h Parameter für die Hilfe einen Segfault... Ist das bei Dir auch so?

    Sorry wenn da jetzt ganz blöde Fragen dabei sind, aber im Moment bin ich da etwas ratlos und auch Onkel Google hilft mir im Moment da nicht weiter... Vielen Dank schon mal für Deine Unterstützung.... Oliver

    Update zu 3:
    Kann das an der Länge des Kabelweges liegen? Wenn ich die Verlängerung nur mit einem 1 Meter Patchkabel "simuliere" funktioniert es, habe ich eben mal ausprobiert....

    Einen Kommentar schreiben:


  • makki
    antwortet
    Hmm, ja ich sagte ja, deutlich unterdokumentiert..
    apt-get update; apt-get install bluez bluetooth
    brauchen wir natürlich auch noch vorher

    Zitat von swiss Beitrag anzeigen
    Nach /usr/bin/ ?
    Nominell richtig wäre in diesem Fall /usr/local/bin
    Dann wirds beim (unwahrscheinlichen) dist-upgrade nicht weggeputzt.. Aber ansich für die Funktion ist es egal.

    Makki

    Einen Kommentar schreiben:


  • swiss
    antwortet
    Hallo Oliver

    Danke für die Info. Verbindung mit Putty funktioniert. Ich sehe aber gerade, dass ich doch die Befehle falsch eingegeben habe. Also nochmal zu meinem Verständnisses. Ich brauche also nur z.B. ALT135 zu senden und der Roomba sollte darauf reagieren Werde ich heute Abend mal testen

    Einen Kommentar schreiben:


  • Sandman60
    antwortet
    @swiss: Vielleicht noch eine Idee zum testen.... Weiß im Moment nicht, wie das Ansprechen via WLAN vorgesehen ist, aber vielleicht gibt es ja für einen ersten Test ein analoges Vorgehen zu meinem ersten Native-Test.
    Habe das ganze via Windoof gemacht.
    1. Device (also, COM-Port) verbunden >> Brauchst Du evtl. gar nicht
    2. Auf Device mit Putty angemeldet. Geht evtl. auch bei Dir durch direktes Ansprechen via IP über Putty
    3. Dann via SCI die SCI-ALT+Commands eingeben, bspw. ALT+135 (dann fängt er das saugen an... Hatte ich um 3:00 Uhr nachts so durchgeführt, kam bzgl. WAF nicht so gut an ). Falls benötigt kann ich Dir auch den Link für die Roomba Open Interface Spec zukommen lassen, da sind dann die Commands drinnen.

    Viele Grüße, Oliver

    Einen Kommentar schreiben:


  • Sandman60
    antwortet
    So, 1.te Rückmeldung:
    • Download der beiden Binaries >> Done

    • Upload in usr/bin (Denke der Vorschlag von Swiss passt, wenn es nur die 2 Bins sind) >> Done

    • Setzen 755 >> Done

    • Starten passkey-agent >> Done with error:

    Can't register passkey agent. The name org.bluez was not provided by any .service files
    Kann es sein, dass hier noch was vom bluez fehlt bzgl. dem BT daemon?
    Hab mal tollkühn einen "apt-get install bluez" versucht, hat aber zu 3x 404 geführt, sprich keine Veränderung.
    • roombacmd -p /dev/rfcomm0 -C >> Schlägt logischerweise fehl, da Device nicht da ist.

    Any ideas?

    @swiss: Kann Dir da aktuell leider noch nicht helfen, da wir m.E. erst beim roombacmd zusammenkommen werden, um das ganze dann via Plugin anzusprechen.
    Klappt denn das Verbinden der roombacmd mit dem WLAN-Device (Rückmeldungen/Fehler auf der Console)?
    Bzgl. Commands mal einen roombacmd -h machen, dann siehst Du schon einige schöne "Spielcommands", klappt aber eben erst, wenn der Connect auf das Device klappt.

    Einen Kommentar schreiben:


  • swiss
    antwortet
    So. Mien WLAN ist auch eingebaut. Nur die Komunikation WLAN -> Roomba scheint noch nicht so zu klapen oder es liegt einfach daran, dass ich nicht weiss welche Daten ich da senden muss um eine Reaktion zu erhalten Wie sieht ein funktionierender Befehl in der Konsole aus? Ich bin mir nicht ganz sicher ob RX und TX vertauscht sind und würde dass gerne testen bevor ich den Robi wider ganz zerlegen muss.


    @makki: Wo müssen die Datein hin? Nach /usr/bin/ ?

    Einen Kommentar schreiben:


  • makki
    antwortet
    Das ist wirklich ein bisschen arg blutig..
    Daher erstmal die Frage: genügen zwei Binaries und Du weisst wie du diese runterlädst, ins richtige Verzeichnis packst, ausführbar machst und in zwei ssh-Fenstern startest?

    Sonst muss ich mir mehr Mühe geben, was mehr Zeit bedeutet

    Makki

    Versuch macht klug:
    http://repo.wiregate.de/other/bluez/passkey-agent
    starten mit "passkey-agent 0000"
    http://repo.wiregate.de/other/bluez/roombacmd
    starten mit z.B. roombacmd -p /dev/rfcomm0 -C
    (das ist wie immer OSS/GPL, liegt in Debian/bluez bzw WG-repo.. aber das war jetzt die ultra-kurzform..)

    Einen Kommentar schreiben:

Lädt...
X