RooWifi besturing voor de Bwired Roomba’s

RooWifi besturing voor de Bwired Roomba’s

In een van mijn vorige blog heb ik geschreven over de aangekondigde Roomba WiFi besturing van thinking cleaner. Ondertussen ben ik ook in contact gekomen met de Spanjaard Xavi van RooWiFi die al ongeveer 1 jaar geleden een soortgelijke WiFi controller ontwikkeld heeft.

Even nog over de Roomba:
De Roomba is een stofzuiger die zelfstandig kamers kan stofzuigen. De bediening is simpel, je drukt op de CLEAN knop (op de Roomba of met de afstandsbediening), en de Roomba gaat stofzuigen. De duurdere modellen hebben zelfs een ingebouwde timer voor een automatische start. Al jaren is er qua besturingstechniek helaas niet veel veranderd op de Roomba. Het aansturen via een afstandbediening is voor de nerds bij lange na niet voldoende. Mijn Roomba moet gaan stofzuigen (Clean) als ik niet thuis ben en stoppen (Dock) als ik weer thuis kom en de Roomba nog niet klaar is. Ook besturen via een iPhone App of webpagina moet mogelijk zijn.

De RooWiFi is een Wifi controller voor de Roomba die dat kan!
Belangrijk voor Domotica is dat je de realtime status van een device weet. De status kun je opvragen (pollen device) of via notifications binnen krijgen. Pollen is een manier die we niet graag zien en vaak ook erg veel CPU capaciteit kost. Samen met Xavi hebben we voor de RooWiFi een notificatie ontwikkeld die op basis van IP Poortnummer realtime de status uitspuugt. Het enige wat je hoeft te doen is een IP Listener te programmeren die de notificaties kan lezen.

In de firmware kun je opgeven naar welk lokaal IP/Poort nummer de IP Notificaties gestuurd moeten worden. Om de paar minuten stuurt de RooWiFi de status (hartbeat) en zodra de Roomba gaat Cleanen of weer stopt wordt de status direct verzonden.

tcpip

De IP listener vangt deze notificaties op voor verdere status verwerking in je domotica applicatie.
Op dit moment worden de volgende JSON JavaScript notatie verzonden:

{
"roomba": {
"Status": "2 ", 0 Not Charging, 1 Recovery, 2 Charging, 3 Trickle Charging, 4 Waiting, 5 Charging Error
"Cleaning": "0", 1 if doing a cleaning action 0 if not
"Battery": "78", remaining percentatge of Battery
"Temp": "32", temperature in Celsius
"Dirt": "0" 0 if no dirt detected or 1 if yes
}
}

Het verzenden van commando’s (Clean, Dock en Spot) kan ook via de remote TCP Server of via de volgende HTTP commando’s:

  • http:// Roomba_Wifi_Remote_IP /roomba.cgi?button=CLEAN
  • http:// Roomba_Wifi_Remote_IP /roomba.cgi?button=SPOT
  • http:// Roomba_Wifi_Remote_IP/roomba.cgi?button=DOCK

  • De Roomba is een Robot vol met sensordata, dus er zullen mogelijk nog meer parameters volgen. Of dit echt nodig weet ik nog niet zeker, bij een status verandering kun je altijd een volledig sensoroverzicht opvragen in JSON (http://roomba_wi-fi_remote_ip/roomba.json) of XMl format (http://roomba_wi-fi_remote_ip/roomba.xml).

    Roomba Serial Command Interface specifications (CGI) kun je hier vinden

    Hieronder zie je de JSON notificatie binnenkomen op de Bwired.nl IP listener.
    roombabwired

    Hier is de RooWifi gekoppeld op een Roomba 780 series, de connector om het WiFi printje in te klikken zit onder de draagbeugel.

    IMG_0307

    Het afdek kapje is geprint met een 3D printer en klemt perfect om de RooWifi heen en schermt de print volledig af.

    IMG_0308

    Op de site van RooWiFi kun je precies lezen wat de Roowifi allemaal nog meer kan. Ook kun je alle API mogelijkehden vinden in de Userguide.

    Enigste minpunt die ik tot op heden kan vinden is dat de RooWifi behoorlijk warm wordt (niet zo erg), volgens Xavi wordt dit in de volgende tranche verholpen.

    Op Bwired.nl zulllen binnenkort mijn Roomba’s (560 en 780) realtime te volgens zijn.

    Written by Pieter Knuvers

    4 Comments

    1. Robert Hekkers · 26 mei 2013

      Handig! Met de IRTrans die ik nu gebruik om de Roomba aan te sturen ben je beperkt tot het kunnen geven van het CLEAN commando. En wat er daarna met je Roomba gebeurt, kun je alleen maar gokken… Maar met deze oplossing heb je full control over de Roomba, schitterend!

    2. What home automation system means | Roomba Wi-fi Remote · 4 juni 2013

      […] as nowadays RooWifi’s users he give us his feedback and comments, as you could see in his blog: http://blog.bwired.nl/?p=676 he was very happy with the device also with his background in home automation systems give us a lot […]

    3. DJ · 7 juni 2013

      Hi,
      Leuk! Welke roomba is het beste en waarom? De 580 of de 770?

    4. Bwired · 8 juni 2013

      De 770 heeft hepa filters en betere dirt detect, allemaal net iets meer door ontwikkelt.
      De 5 serie wordt trouwens niet meer gemaakt.