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.
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:
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.
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.
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.
Vegyük le a burkolatot.
Készítsük el a hardvert az alábbi rajz alapján.
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.
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
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ó.
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.
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.
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.
Ezzel az ioBroker szakasz kész.
Most nyissuk meg az Amazon Alexa alkalmazást a telefonon és adjunk hozzá egy új eszközt.
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”
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!
A legkisebb WiFi-csatlakozóval bárhonnan vezérelhető számos háztartási és irodai eszköz.
Hirdetés
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.
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.