+ Antworten
Seite 1 von 4 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 33
  1. #1
    Registriert seit
    Nov 2007
    Ort
    Weißensee/Thüringen
    Beiträge
    360

    Standard Roomba + Xbee + IPS HowTo

    Hallo,
    wie versprochen nun das HowTo von mir....

    Was wird beschrieben?
    Beschrieben wird der Bau eines Xbee Moduls was ständig von Roomba mit Strom versorgt wird und AUSSEN an den Roomba angebracht wird.

    Vorteil
    Garantie bleibt erhalten, da wir den offiziellen Roomba Interface Port nutzen und nix am Roomba verändern.

    Nachteil
    Roomba könnte nun unter umständen nichtmehr überall drunter passen. Bei mir allerdings passt er nach wie vor unter die Heizung und unters Bett, also genau wie vorher.

    Bauteile

    1*MINI-DIN-Stecker, 7-polig (Reichelt)
    1*DC/DC - Wandler R-783.3-1.0 SIP3 (Conrad)
    2*Xbee Modul (eService-online oder 1-wire.de)
    1*Xbee zu USB Modul (eService-online oder 1-wire.de)
    1*Gehäuse (z.b. Reichelt SP 2044 SW)
    1*Kondensator 10µF ( laut Datenblatt des DC/DC Wandler optional!)
    1*Widerstand 2k

    Bevor du lötest
    müssen deine Xbee´s konfiguriert werden... D.h. ein Xbee wird mit dem USB Adapter die "Basis" spielen das andere wird verbaut und ist der "Client" für den Roomba... dazu muss jedoch jedes Xbee einmal in den USB Adapter gesteckt und konfiguriert werden. Wie du das machst und anschließend dein Xbee ("Basis") auch gleich in IPS einbindest kannst du in diesem tollen Tutorial nachlesen: hier entlang bitte (ich bin bei den Device ID´s der Anleitung geblieben! Also hat das Xbee am Roomba die ID 13... das ist für das verständnis der späteren Befehle im IPS wichtig! Wichtig ist weiterhin das die Xbees mit 19200baud senden und empfangen! NUR das funktioniert!)

    Nun ans Löten
    Nimm dir den untenstehenden Schaltplan und löte einfach alles zusammen. Die Pins habe ich alle mit nem Stück Schrumpfschlauch gesichert... man weiss ja nie... Mit nem heißen Schraubenzieher nen Schlitz in das Gehäuse gebrannt, alles drin verfrachten, Gehäuse zuschrauben. Kabel nach Bild an Stecker löten.
    Da die Stecker ziemlich groß, also dann nach oben hin abstehend sind, habe ich die schwarze Hülle weggelassen und die beiden Metallhälften mit je zwei Punkten Sekundenkleber fixiert. Anschließend habe ich den innenraum zur Sicherheit mit Montagekleber ausgedrückt und mit einem nassen Finger geglättet.

    Die Hochzeit
    Als nächstes entfernst du die obere Abdeckung des Roomba... Dazu den Kehrbehälter entfernen und die oberste Roomba schicht nach oben drücken (ja die sitzt sehr fest, hatte auch Angst was abzubrechen)

    Nun wird die InterfaceSchnittstelle sichtbar. Hier kannst du nun dein selbstgebautes XbeeInterface anstecken. Wenn du willst kannst du ja für die Optik ein Loch in die oberste Abdeckung bringen und schwupp die wupp siehts dann wieder besser aus ;o) weil Sie wieder passt....

    Roomba konfigurieren
    Im Rohzustand kann dein Roomba noch nicht mit dem Xbee reden weil beide auf 19200baud eingestellt sein müssen. Dein Xbee sollte das mittlerweile sein ;o) Bei deinem Roomba sieht das noch anders aus. Schalte den Roomba mit einem drücken auf clean einfach ein. Als nächstes halte die Cleantaste gedrückt.... Roomba schaltet sich aus und nach ca 10sec. ertönt ein Signal. Wenn das Signal fertig ist mit abspielen, Taste loslassen und nochmal kurz drücken um Roomba wieder einzuschalten. Fertig.....

    IPS und Roomba
    Wie Ihr euer XBee Modul unter IPS einrichtet sollte klar sein. Nun wollen wir aber auch das IPS mit Roomba kommuniziert.

    Was Ihr alles an Variablen und Scripten anlegen müsst entnehmt Ihr dem Bild unten.

    Als erstes gibt es da die RegisterVariable.... diese bekommt ein Script zugeordnet... (im Bild ist das "test") mit folgendem Inhalt

    PHP-Code:
    <?
    SetValueString
    (57727 /*[Roomba\.Roomba Info\XBee.RX]*/ ,$IPS_VALUE );
    ?>
    Script Roomba Info

    hier müssen sämtliche IPS Variablen an euer System angepasst werden....
    PHP-Code:
    <?
    //Daten als dez-String auslesen
    $instr=GetValueString("XBee.RX");
    $datenstr="";

    for(
    $i=0$i<strlen($instr); $i++) {
     
    $datenstr.=strtoupper(ord($instr{$i}))." ";
        }
    SetValueString("XBee.Daten",$datenstr); //String ausgeben

    //String auflösen und prüfen der Daten
    $Byte="";
    $Byte explode(" ",$datenstr);

    //=========================================================================

    //Anzeige Charging State
    $ChargingState $Byte[16];
    switch (
    $ChargingState) {
    case 
    0:
       
    SetValueInteger(47126 /*[Roomba\Ladestatus]*/ 0);
       break;
    case 
    1:
       
    SetValueInteger(47126 /*[Roomba\Ladestatus]*/ 1);
       break;
    case 
    2:
       
    SetValueInteger(47126 /*[Roomba\Ladestatus]*/ 2);
       break;
    case 
    3:
       
    SetValueInteger(47126 /*[Roomba\Ladestatus]*/ 3);
       break;
    case 
    4:
       
    SetValueInteger(47126 /*[Roomba\Ladestatus]*/ 4);
       break;
    case 
    5:
       
    SetValueInteger(47126 /*[Roomba\Ladestatus]*/ 5);
       break;
    }

    //Anzeige Charging Source
    $ChargingSource $Byte[39];
    switch (
    $ChargingSource) {
    case 
    0:
       
    SetValueInteger(31048 /*[Roomba\Mode]*/ 0);
       break;
    case 
    1:
       
    SetValueInteger(31048 /*[Roomba\Mode]*/ 1);
       break;
    case 
    2:
       
    SetValueInteger(31048 /*[Roomba\Mode]*/ 2);
       break;
    }

    //Berechnung der Batteriespannung
    $BatteryVoltage = ($Byte[18])+($Byte[17]*256);
    $BatteryVoltage=$BatteryVoltage 1000;
    $BatteryVoltage round($BatteryVoltage,1);
    SetValueFloat(25663 /*[Roomba\Akkuspannung]*/ $BatteryVoltage);

    //Berechnung des Stroms aus Akku
    $BatteryCurrent = ($Byte[20])+($Byte[19]*256);
    if (
    $BatteryCurrent >= 32768 /*[Objekt #32768 existiert nicht]*/) {
       
    $BatteryCurrent $BatteryCurrent 65536;
    }
    SetValueInteger("BatteryCurrent"$BatteryCurrent);

    //Berechnung der Restbatteriekapazität
    $BatteryCharge = ($Byte[23])+($Byte[22]*256);
    SetValueInteger("BatteryCharge"$BatteryCharge);

    //Berechnung der Batteriekapazität
    $BatteryCapacity = ($Byte[25])+($Byte[24]*256);
    SetValueInteger("BatteryCapacity"$BatteryCapacity);

    //Berechnung der Restbatteriekapazität in %
    $BatteryChargePercent $BatteryCharge $BatteryCapacity 100;
    $BatteryChargePercent round($BatteryChargePercent,0);
    SetValueFloat(46523 /*[Roomba\Akkustatus]*/ $BatteryChargePercent);

    //Berechnung der Batterietemperatur
    $BatteryTemperature = ($Byte[21])+($Byte[21]*0);
    SetValueInteger(46709 /*[Roomba\Akku Temperatur]*/ $BatteryTemperature);
    ?>
    getriggert wird dieses script über die Aktualisierung der Variable "Xbee.RX"

    Script auslesen

    hier werden die 80kb Daten vom Roomba befohlen.... Roomba sendet dann und der Inhalt landet in der Registervariable und das zugeordnete Script schiebt den Inhalt dann in Xbee.RX diese Aktualieiserung startet dann Script "Roomba Info"

    PHP-Code:
    <?
    $ID
    =27283 /*[XBee Gateway]*/ ;
    XBee_SendBuffer($ID,13chr(128)); //Start Command
    XBee_SendBuffer($ID,13chr(149));  //Opcode 149
    XBee_SendBuffer($ID,13chr(1)); //Number of packets
    XBee_SendBuffer($ID,13chr(100));  //Packet ID 100
    ?>
    dieses wird jede Minute gestartet....

    Script Clean

    setzt Roomba einfach in den Cleanmodus
    PHP-Code:
    <?
    $ID
    =27283 /*[XBee Gateway]*/ ;
    XBee_SendBuffer($ID,13chr(128)); //Start Command
    XBee_SendBuffer($ID,13chr(135));  
    ?>
    Script Dock

    setzt Roomba in den Dock Modus
    PHP-Code:
    <?
    $ID
    =27283 /*[XBee Gateway]*/ ;
    XBee_SendBuffer($ID,13chr(128)); //Start Command
    XBee_SendBuffer($ID,13chr(143));  //Opcode 149
    ?>
    Script Wartung

    lässt Roomba langsam von der Basis rückwärts fahren und bleibt stehen.
    PHP-Code:
    <?

    $ID
    =27283 /*[XBee Gateway]*/ ;
    XBee_SendBuffer($ID,13chr(128)); //Start Command
    sleep(1);
    XBee_SendBuffer($ID,13chr(131)); //Start Command
    sleep(1);
    XBee_SendBuffer($ID,13chr(145).chr(255).chr(206).chr(255).chr(206));  //Opcode 149
    sleep(4);
    XBee_SendBuffer($ID,13chr(145).chr(0).chr(0).chr(0).chr(0));  //Opcode 149
    XBee_SendBuffer($ID,13chr(128)); //Start Command
    sleep(1);



    ?>
    So im großen und ganzen ist das das Handwerkszeug um dann weiter zu spielen ;o)

    Sooo dann hoffe ich das ich nix vergessen ahbe und alles klappt. Rein rechtlich übernehme ich nix für nix!
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	rommba schaltplan.JPG 
Hits:	985 
Größe:	74.3 KB 
ID:	10024   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG_0017[1].jpg 
Hits:	1334 
Größe:	185.7 KB 
ID:	10026   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	rommba ips.JPG 
Hits:	1129 
Größe:	78.6 KB 
ID:	10027  
    Geändert von pinki99 (11.12.10 um 20:48 Uhr) Grund: php Tags eingefügt!
    imkerei-danney.de

  2. #2
    Registriert seit
    Nov 2008
    Ort
    Braunschweiger Land
    Beiträge
    34

    Ich sag schonmal vorab Danke für die Anleitung.

    Jetzt muss es nur noch zu Weihnachten einen Roomba geben.
    Dann werd ich es mal mit der Anleitung probieren.

    Shadowdan

  3. #3
    Registriert seit
    Nov 2008
    Ort
    Braunschweiger Land
    Beiträge
    34

    Ich bin ja nun am kaufen der benötigen Teile.

    Wofür brauch ich den 2k Widerstand?
    Ich kann bei den üblichen Verdächtigen keinen finden.

    Gehts sowas hier?

    Ich habe mir übrigens einen Roomba 560 besorgt. Erstmal so testen,
    obs was taugt. Dann in IPS einbinden.

    Shadowdan

  4. #4
    Registriert seit
    Dec 2006
    Ort
    Oberkrämer bei Berlin
    Beiträge
    1,458

    Ich will gerade meinen Roomba unter IPS in Betrieb nehmen. Beim Einschalten des Roomba habe ich auch Daten im Splitter, aber mit den Scripts hier geht nichts (eigentlich auch keine Fehlermeldungen). Kann es sein dass sie gar nicht mehr unter V2.4 #1984 funktionieren? Komischer weise gibt es in der Funktionsliste (strg-space) noch die Xbee_xxx Befehle. Oder bringe ich jetzt was durcheinander?
    MfG: Heiner_________________IPS5.2, NUC-i5 Lüfterlos, SSD, Win10Home, 24/7; IPS-Mobile Android V5.1.0; FHZ1300PC: FS20, HMS100, KS300, PS50, FHT; WDE1; Harmony1100 + Wandlung einzelner FHT80TF in FS20 Adressen mit FS20Manager; 3x ChromoflexII + 14x IIIRC; DMX4ALL, ArtNet (Dimmer6); IPS-868: EKM, RGBW, WDT, JKM/Termojet; 1Wire über blauem DS9490R; HomeMatic: CCU3, LAN_Adapter, Hm + HmIP, Winmatic; XBee Pro: Roomba;

  5. #5
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    4,880

    Doch. Geht wunderbar unter 2.4 #1984. Habe meinen Roomba erst kürzlich ins System geholt.
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.3 auf Server 2016 / HM mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 241 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / PlugWise / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  6. #6
    Registriert seit
    Dec 2006
    Ort
    Oberkrämer bei Berlin
    Beiträge
    1,458

    Es geht, es geht.
    Man kann etwas 25 mal durchlesen und sieht keinen Fehler. Einmal nachgefragt und man sieht es selbst sofort (Mein DestinationDevice ist 2 und nicht 13, wie hier)
    Allerdings habe ich wirklich nichts über XBee in der Dokumentation gefunden.
    MfG: Heiner_________________IPS5.2, NUC-i5 Lüfterlos, SSD, Win10Home, 24/7; IPS-Mobile Android V5.1.0; FHZ1300PC: FS20, HMS100, KS300, PS50, FHT; WDE1; Harmony1100 + Wandlung einzelner FHT80TF in FS20 Adressen mit FS20Manager; 3x ChromoflexII + 14x IIIRC; DMX4ALL, ArtNet (Dimmer6); IPS-868: EKM, RGBW, WDT, JKM/Termojet; 1Wire über blauem DS9490R; HomeMatic: CCU3, LAN_Adapter, Hm + HmIP, Winmatic; XBee Pro: Roomba;

  7. #7
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    4,880

    Nein, Pinki99 hatte da auf einen Post von Rainer verwiesen wo die XBee-Konfiguration beschrieben wird. Habe da auch mehrfach drüber lesen müssen. Ist aber wirklich eine nette Spielerei.
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.3 auf Server 2016 / HM mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 241 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / PlugWise / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  8. #8
    Registriert seit
    Jan 2007
    Ort
    Ostseeküste, da wo der Strand am weißesten und am breitesten ist
    Beiträge
    632

    Hallo,
    ich habe seit mehreren Jahren Roombas im Einsatz. Einen 555 seit 2 Jahren, nun im OG tätig, und seit einem guten Jahr noch einen 581 im EG. Fazit: Rundum zufrieden inkl. 100% WAF. Kommt sogar noch besser: Seit leihweise einmal im Monat bei Schwiegereltern unterm Bett geroombat wird, überlegen die sogar, sich selbst einen zuzulegen! Das potenziert den WAF nochmals enorm!

    ....bis auf die (bei mir noch) fehlende IPS-Anbindung!!!

    Mein Problem dabei:
    Da meine beiden Saug-Krümel an vielen Stellen gerade so drunter passen, tue ich mich sehr schwer damit, oben was draufzubauen! Kanten unter Schrankwände und Küchenzeilen dreckig lassen ist es mir dann doch nicht wert, schon im Büro zu wissen, dass der Kleine sich mal wieder wo mit Sohnemanns Rovio gekappelt hat und feststeckt. Obwohls schon juckt, zu viele Ideen, was man so machen könnte....

    ABER: Es gibt doch diese kleinen niedlichen runden Fernbedienungen, beim 581 sogar schon dabei, bei den anderen nachbestellbar!

    Könnte man nicht die IPS-Anbindung über diese Fernbedienung machen? Hat das schon jemand versucht?

    Oder gibt es Argumente dagegen und ich bin da auf nem Holzweg?

    Gruß Gerd
    V1 (60%), V2.5(40%), Kopplung per Client-/Server-Socket; MS-SQL; Server-OS: W7/64, XP, ~400 Komponenten (HM, EnOcean, HMS100, FS20, ISDN/GigaSet, Gardena, LevelJet, Wetter), PTZ-IP-CAMs; USV --- Interessen: Synerget. Anwendgn. (passive Klimatisierung, Szenarienerkennung und -steuerung, Look ahead, Datamining...), behindertenspezifische Unterstützungen und Absicherungen

  9. #9
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    4,880

    Mit der Fernbedienung kannst Du das Teil doch nur losfahren und docken lassen. Das geht mit XBee schon mehr.

    Hier wurde auch schon beschrieben wo man im 581 das XBee im Gehäuse verschwinden lassen kann.

    http://www.ip-symcon.de/forum/f23/ro...13/#post124484

    Ich habe das so realisiert und mein Roomba ist daher genauso funktionstauglich wie vor dem Umbau.
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.3 auf Server 2016 / HM mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 241 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / PlugWise / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  10. #10
    Registriert seit
    Dec 2006
    Ort
    Oberkrämer bei Berlin
    Beiträge
    1,458

    Kleine niedliche Fernbedienung ... Ha Ha Ha.....
    Aber warum willst du da rum fummeln? Da gibt es keine Schnittstelle. Mit der Batterie Versorgung ist das so eine Sache. Und Kontakte abgreifen? Daten vom Roomba bekommst du nicht. die Fernbedienung sendet nur an den Roomba.

    Der Einbau des XBee in den 581 ist wirklich einfach. Wenn man den Stecker gut hinkriegt ist man noch einige mm kleiner als der höchste Punkt des Roomba (Vorderer Rundumsensor) Wenn ich meinen zusammenbaue (Spätestens am Wochende) werde ich noch ein paar Fotos machen. Das Protokoll der Schnittstelle steht zur Verfühgung, Was willst du mehr?

    Mist Kronos war schneller
    MfG: Heiner_________________IPS5.2, NUC-i5 Lüfterlos, SSD, Win10Home, 24/7; IPS-Mobile Android V5.1.0; FHZ1300PC: FS20, HMS100, KS300, PS50, FHT; WDE1; Harmony1100 + Wandlung einzelner FHT80TF in FS20 Adressen mit FS20Manager; 3x ChromoflexII + 14x IIIRC; DMX4ALL, ArtNet (Dimmer6); IPS-868: EKM, RGBW, WDT, JKM/Termojet; 1Wire über blauem DS9490R; HomeMatic: CCU3, LAN_Adapter, Hm + HmIP, Winmatic; XBee Pro: Roomba;

Ähnliche Themen

  1. IRobot Roomba an IPS
    Von Doctor Snuggles im Forum Haustechnik
    Antworten: 166
    Letzter Beitrag: 24.09.15, 12:41
  2. Befehle an Remote Xbee senden
    Von bbernhard im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 0
    Letzter Beitrag: 24.11.10, 23:07
  3. Frage zu XBee in IPS einbinden
    Von Schablone im Forum IPS-868 / ProJET, XBee, ZigBee, XPort
    Antworten: 19
    Letzter Beitrag: 12.04.10, 19:41
  4. XBee in IPS einbinden
    Von RWN im Forum IPS-868 / ProJET, XBee, ZigBee, XPort
    Antworten: 2
    Letzter Beitrag: 20.01.10, 16:53
  5. Probleme mit XBee unter IPS V2
    Von sanman im Forum IPS-868 / ProJET, XBee, ZigBee, XPort
    Antworten: 7
    Letzter Beitrag: 28.02.09, 17:38