iRobot Roomba hangvezérlés Amazon Alexával

Gyors hangutasítással elindíthatjuk a Roombát, mielőtt elhagyjuk a lakást, hogy tiszta legyen a padló mire hazaérünk. A megvalósításhoz szükség van egy működő ioBroker szerverre, az IoT Assistant adapterre megfelelő licencel, Amazon Echo vagy Echo Dot-ra, hogy Alexával vezérelhessük a robotporszivót.

Egy másik megoldás, ioBroker szerver nélkül, Roomba hangvezérlés Belkin Wemo emulációval.

iRobot Roomba hangvezérlés Amazon Alexával
iRobot Roomba hangvezérlés Amazon Alexával

Természetesen elengedhetetlen a hardver, egy iRobot Roomba (nálam egy 531-es volt az áldozat) ESP8266-01 a Breadboardadapterrel, AMS1117 Feszültség stabilizátor.


A projekthez felhasznált dolgok:

ESP8266 ESP-01S WiFi Modul

ESP-01 Breadboard Adapter ESP8266-hez

USB Programozóadapter ESP8266-01-modulhoz

MP1584EN 3A feszültségstabilizátor modul


A Roombának soros porton keresztül adhatunk parancsokat. Ez egy mini DIN 7 pólusú csatlakozó, „iRobot Roomba® Open Interface” a becsületes neve.

iRobot Roomba® Open Interface
iRobot Roomba® Open Interface

Elöször is szereljük szét a Roombát. Vegyük ki elöször a portartályt és a keféket. A 4db csavar eltávolítása után emeljük le az alsó burkolatot, majd távolítsuk el az akkumulátort.

iRobot Roomba szétszerelés, alsó rész
iRobot Roomba szétszerelés, alsó rész

A következő lépésben szereljük le a lökhárítót, a felső takarólemezt pattintsuk ki, majd csavarjuk ki az alatta található csavarokat. A fogantyú 2 csavarját nem szükséges.

iRobot Roomba szétszerelés, felső rész
iRobot Roomba szétszerelés, felső rész

Vegyük le a burkolatot.

Roomba a leszerelt Burkolattal
Roomba a leszerelt Burkolattal

Készítsük el a hardvert az alábbi rajz alapján.

Roomba és az ESP8266-01 kapcsolása
Roomba és az ESP8266-01 kapcsolása

Keressünk egy stabil 5V forrást az alaplapon az áramkör táplálásához. Az én Roomba 531 porszívómon itt találtam.

Stabil 5V az alaplapon
Stabil 5V az alaplapon

Majd építsuk be. Jobbra lent találtam helyet az ESP8266-01 és az AMS1117 számára, pont befért.


UPDATE

Lecseréltem az AMS1117 feszültségstabilizátort MP1584EN -re, így nem kell az alaplapon forrasztani. Egyszerűen a csatlakozóról vegyük az akku tápfeszültségét.

MP1584EN 3A feszültségstabilizátor modul

Roomba és az ESP8266-01 kapcsolása V2
Roomba és az ESP8266-01 kapcsolása

Ne felejtsük el beállítani a kimenő feszültséget a MP1584EN feszültségstabilizátor modulon a nyillal jelölt potenciometer segítségével. Ez egy kis modul, (22 x 17mm) a bemenő feszültsége: 4,5 V – 28 V a kimenő feszültsége: 0,8 V – 20 V között állítható.

MP1584EN feszültségstabilizátor modul
MP1584EN feszültségstabilizátor modul

Természetesen az összeszerelés elött fel kell programozni az ESP8266-ot. Nyissuk meg az Arduino programot és töltsük fel a kódot.

/**************************************/
//  https://myhomethings.eu           //
//  Generic ESP8266 module            //
//  Flash size: 1M (no SPIFFS)        //
/**************************************/
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
const char* ssid = "SSID";
const char* password = "Password";
const char* mqtt_server = "192.168.x.xxx";
WiFiClient espClient;
PubSubClient client(espClient);
void setup_wifi() 
{
 delay(100);
 WiFi.mode(WIFI_STA);
 WiFi.begin(ssid, password);
 
 while (WiFi.status() != WL_CONNECTED) 
 {
   delay(500);
 }
 randomSeed(micros());
}
void reconnect() 
{
 while (!client.connected()) 
 {
   String clientId = "ESP8266Client_Roomba";
   
   if (client.connect(clientId.c_str()))
   {
     client.subscribe("Roomba");
   } 
   else 
   {
     delay(6000);
   }
 }
}
void callback(char* topic, byte* payload, unsigned int length) 
{
 payload[length] = '\0';
 String strTopic = String(topic);
 String strPayload = String((char * ) payload);
 
 if(strTopic == "Roomba") 
 {
   if(strPayload == "true") 
   {
     Serial.write(128);  // start command
     delay(50);
     Serial.write(131);  // safe mod
     delay(50);
     Serial.write(135);  // clean
   }
   if(strPayload == "false") 
   {
     Serial.write(128);  // start command
     delay(50);
     Serial.write(131);  // safe mod
     delay(50);
     Serial.write(143);  // dock
   }
 }
}
void setup() 
{
 Serial.begin(115200);
 setup_wifi();
 delay(1000);
 client.setServer(mqtt_server, 1883);
 client.setCallback(callback);
}
void loop() 
{
 if (!client.connected()) 
 {
   reconnect();
 }
 client.loop();
}

Ha az áramkör össze van szerelve, az ESP8266-01 fel van programozva, rakjuk össze a Roombát a szétszerelés fordított sorrendjében. Vezetékekre figyeljünk, nehogy becsípődjenek.

Roomba összerakva, mintha nem történt volna semmi
Roomba összerakva, mintha nem történt volna semmi

Ezzel a hardver kész.


Nézzük meg az ioBrokerben az Object fülön az MQTT alatt meg kellett jelenni az új eszköznek.

blank

Ha „true”-ra állítjuk elkezdi a takarítást, „false” esetén megkeresi a dokkolót.

Feltételezem, hogy az „IoT Assistants” adapter telepítve, konfigurálva és megfelelően licencelve van. Az Instances fülön válasszuk az iot.0 adaptert és adjuk hozzá a Roomba eszközt mint kapcsoló az Alexa eszközökhöz.

Az IoT adapteren az Alexa eszközökhöz a Roomba hozzáadása
Az IoT adapteren az Alexa eszközökhöz a Roomba hozzáadása

Ezzel az ioBroker szakasz kész.

Most nyissuk meg az Amazon Alexa alkalmazást a telefonon és adjunk hozzá egy új eszközt.

Amazon Alexa, eszköz hozzáadása
Amazon Alexa, eszköz hozzáadása

Az Amazon Alexa alkalmazáson belül készíthetün rutinokat, automatizálhatjuk a folyamatot.

Mostantól az Amazon Echo / Echo Dot segítségével a hangunkal is vezérelhetjük a roombát, de jelenleg német vagy angol nyelven:

„Alexa, mach Roomba an” vagy „Alexa, turn on Roomba”

Echo Dot 5. generációs intelligens Bluetooth hangszóró Alexával
Echo Studio A valaha kínált legjobb hangzású Echo hangszórók – Dolby Atmos-szal és Alexával

hirdetés

Ha érdekel, egyszerüen készíthetsz Virtuális falat arduino nanoval.

Remélem tetszett ez a poszt. További szép napot!

Shelly Plug S

Shelly Plug S

A legkisebb WiFi-csatlakozóval bárhonnan vezérelhető számos háztartási és irodai eszköz.

Hirdetés

Shelly 1 PM WiFi kapcsoló

Shelly 1 PM WiFi kapcsoló

A háztartási és irodai eszközök vezérelhetők a legkisebb WiFi-kapcsolású kapcsolókapcsolóval. Az áramfogyasztást is mérhetjük vele.

Shelly 1 wifi relé

Shelly 1 wifi relé

A Shelly ESP8266-on alapszik, egyszerűen egy aljzat vagy egy kapcsoló mögé telepíthetnek, ez nagyon megkönnyíti az intelligens otthon utólagos kiépítését.