Co je potřeba

  • Fibaro HC2/HCL s virtuálním zařízením pro ovládání robota (viz příloha).
  • Nakonfigurovaný iRobot Roomba (Testováno s robotem Roomba 980) přes aplikaci iRobot.
  • PC (Raspberry PI, stolní PC, ...) nebo NAS (Synology) s nainstalovaným Gitem a Node.js nebo npm.

Kompletní konfigurace v Gitu

Instalace repozitáře

Pro co nejjednodušší ovládání robota přes Fibaro se použije repozitář rest980 (odkaz na konci řešení) z Gitu. Jde o ovládání přes REST API. Pro integraci iRobota s Fibarem je toto nejjednodušší řešení.


Postup:

  1. Otevřete konzoli Git-Bash (Windows). Na PC s Linuxem stačí jen otevřít konzoli ve složce uživatele.
  2. Naklonujte Git repozitář pomocí příkazu
    git clone https://github.com/koalazak/rest980.git
  3. Přejděte do adresáře rest980 pomocí příkazu cd rest980.
  4. Proveďte instalaci Node.js nebo npm v tomto repozitáři příkazem npm install.
    • Poznámka: npm install lze provést jen v repozitáři. Nelze jej provést ve složce uživatele. Zahlásí chybu.

Pokud vše proběhlo v pořádku, tak by jste měli vidět výstup z konzole. Pokud ne podívejte se níže do kapitoly Řešení nejčastějšíchproblému.


Konfigurace repozitáře

Pokud máte již repozitář nainstalovaný, tak je třeba provést některá nastavení a zjistit heslo a blid (uživatelské jméno) vysavače.


Postup:

  1. Proveďte příkaz pro zjisštění hesla npm run getpassword <robot IP>.
    • Příklad npm run getpassword 10.10.10.10
  2. Stiskněte a držtena robotovi tlačítko home po dobu cca 2 sekund, dokud nezazní tón a tlačítko CLEAN se nerozsvítí zeleně.
  3. Stiskněte jakoukoliv klávesu.
  4. Pokud vše proběhlo v pořádku měl by se vám zobrazit JSON výstup. Pokud ne a uvidíte tam chybu, pokračujte níže do kapitoly Řešení nejčastějších problémů.


  5. Otevřete v textovém editoru (např. Notepad++) soubor v default.json.
    • Nachází se v C:\Users\[Username]\rest980\config\ pro Windows.
    • Nachází se v ~/rest980/config pro linux.
  6. Vyplňte blid a heslo a IP adresu a verzi na 2 (pokud je ver 2, viz obrázek výše).
    • V základním nastavení bude API server poslouchat na portu 3000. Pokud vám port 3000 nevyhovuje, lze jej nastavit na jiný. Doporučuje se port větší než 1024.
  7. Soubor uložte.

Spuštění API serveru

Pokud jste provedli kroky výše, tak již zbývá jen spustit API server. Díky němu budete moc ovládat robotický vysavač Roomba z Fibara.


Proveďte příkaz DEBUG=rest980:* npm start

  • Lze spustit jen příkazem npm start. Debug ale vypíše i něco navíc (viz obrázek níže o poslouchání na portu 3000).


Kompletní konfigurace ve Fibaru

  1. Přihlašte se do řídící jednotky.
  2. Přejděte do Zařízení (Devices)
  3. V levém menu zvolte Přidat nebo Odebrat zařízení (Add or Remove device)
  4. Importujte virtuální zařízení (příloha tohoto článku).
  5. Vyplňte IP adresu a Port.
    • IP adresa: PC nebo NAS, kde běží api server (rest980)
    • Port: port, který jste zvolili v souboru default.json. Pokud jste port neměnili, tak by měl být 3000.
  6. (Volitelné) Přidejte virtuálnímu zařízení a jeho tačítkum ikony.
  7. Uložte nastavení kliknutím na ikonu diskety vpravo.


Ukázky

Webové rozhran Fibara:


Android aplikace


Řešení nejčastějších problémů

Problém: Zobrazí se npm command not found.

Řešení: Nainstalujte Node.js nebo npm a restartujte Git. Po restartu Gitu najděte npm přes příkaz where npm nebo jej najděte ve výpisu přes příkaz echo $PATH.


Problém: Zobrazí se, že process.stdin.setRavMode(true) není funkce.

Řešení: Přejděte do složky (repozitáře) rest980. Odtud pokračujte do node_modules -> dorita980 -> bin. Zde otevřete v textovém editoru soubor getpassword.js a process.stdin.setRavMode(true) zakomentujte tak, že před funkci napíšete dvě lomítka (//). Například //process.stdin.setRavMode(true).

Odkazy

Repozitář rest980: https://github.com/koalazak/rest980