Roomba Sprachsteuerung – Alexa und Belkin-Wemo-Emulator

Sie können den iRobot Roomba mit einem Sprachbefehl starten oder an das Dock senden. In einem früheren Beitrag habe ich gezeigt, wie man dem Roboterstaubsauger über einen ioBroker-Server einen Befehl gibt. Für das Beispiel in diesem Artikel ist kein ioBroker-Server erforderlich. Es verwendet eine Belkin-Wemo-Emulation, um eine direkte Verbindung zu Amazon Echo herzustellen.

Wenn Sie nicht selbst basteln möchten, gibt es eine fertige Lösung:

Dinge, die für das Projekt verwendet wurden:

ESP8266 ESP-01S WiFi-Modul (amazon.de)

ESP-01 Breadboard Adapter für ESP8266 (amazon.de)

USB-Programmieradapter für ESP8266-01 (amazon.de)

MP1584DE 3A Spannungsstabilisierungsmodul (amazon.de)

Amazon Echo Dot 5. Gen. (amazon.de)


Sie können Roomba über eine serielle Schnittstelle Befehle erteilen. Dies ist ein 7-poliger Mini-DIN-Anschluss für das „iRobot Roomba® Open Interface“ unter der oberen Abdeckung.

iRobot Roomba® Open Interface
iRobot Roomba® Open Interface

Lassen Sie uns den Roomba zerlegen. Entfernen Sie den Staubbehälter und die Bürsten. Heben Sie nach dem Entfernen der 4 Schrauben die untere Abdeckung ab und entfernen Sie den Akku.

Demontage des iRobot Roomba, unterer Teil
Demontage des iRobot Roomba, unterer Teil

Entfernen Sie dann den Stoßfänger, schnappen Sie die obere Abdeckplatte heraus und entfernen Sie die Schrauben darunter. Die 2 Schrauben am Griff können bleiben.

Demontage des iRobot-Raums, oberer Teil
Demontage des iRobot-Raums, oberer Teil

Entfernen Sie die Abdeckung.

Roomba mit abgenommener Abdeckung
Roomba mit abgenommener Abdeckung

Erstellen Sie die Hardware gemäß der folgenden Zeichnung.

Umstellung auf Roomba und ESP8266-01 V2
Umschalten zwischen Roomba und ESP8266-01

Denken Sie daran, die Ausgangsspannung am Spannungsstabilisierungsmodul MP1584EN mit dem mit einem Pfeil gekennzeichneten Potentiometer einzustellen. Es ist ein kleines Modul (22 x 17 mm) mit einstellbarer Eingangsspannung: 4,5 V bis 28 V und Ausgangsspannung: 0,8 V bis 20 V.

Spannungsstabilisierungsmodul MP1584DE
Spannungsstabilisierungsmodul MP1584DE

Programmieren Sie den Esp8266. Verwenden Sie das unten stehende Download-Verzeichnis. In diesem Schreiben wird das Debuggen an die serielle Schnittstelle auskommentiert, da es die Kommunikation mit Roomba beeinträchtigen kann.

ESP8266BelkinWemoEmulator.zip

Öffnen Sie die Arduino-App. Geben Sie in der folgenden Skizze Ihre WLAN-Verbindungsinformationen ein. Sie können auch den Namen von Roomba ändern. Dieser Name wird in der Alexa-App angezeigt.

/**************************************/
//  https://myhomethings.eu           //
//  Generic ESP8266 module            //
//  Flash size: 1M (no SPIFFS)        //
/**************************************/

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <WiFiUdp.h>
#include "Switch.h"
#include "UpnpBroadcastResponder.h"

const char* ssid = "SSID";
const char* password = "Password";
const char* RoombaFriendlyName = "iRobot Roomba";

Switch *switchRoomba = NULL;
UpnpBroadcastResponder upnpBroadcastResponder;

void setup_wifi() 
{
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) 
  {
    delay(500);
  }
}

bool switchRoombaOn()
{
  Serial.write(128);  // start command
  delay(50);
  Serial.write(131);  // safe mod
  delay(50);
  Serial.write(135);  // clean
  return true;
}

bool switchRoombaOff()
{
  Serial.write(128);  // start command
  delay(50);
  Serial.write(131);  // safe mod
  delay(50);
  Serial.write(143);  // dock
  return false;
}

void setup()
{
  Serial.begin(115200);
  setup_wifi();
  
  upnpBroadcastResponder.beginUdpMulticast();
  switchRoomba = new Switch(RoombaFriendlyName, 80, switchRoombaOn, switchRoombaOff);
  upnpBroadcastResponder.addDevice(*switchRoomba);
}

void loop()
{
  upnpBroadcastResponder.serverLoop();
  switchRoomba -> serverLoop();
}

Wenn Sie fertig sind, suchen Sie sich einen Platz für die Schaltung und bauen Sie den Roomba in umgekehrter Reihenfolge der Demontage zusammen. Achten Sie auf Drähte!

In Roomba wieder zusammengesetzt, als wäre nichts passiert
Im Zimmer wieder zusammengebaut

Öffnen Sie jetzt die Amazon Alexa-App auf Ihrem Telefon und fügen Sie das neue Gerät, den iRobot Roomba-Roboterstaubsauger, hinzu, oder bitten Sie Alexa, die Geräte zu erkunden.

iRobot Roomba und die Alexa App
iRobot Roomba und die Alexa App

Von nun an können wir mit Hilfe von Alexa auch Roomba mit unserer Stimme steuern.

blank


Echo Dot 5. Generation Smarter Bluetooth Lautsprecher mit Alexa

Werbung – Der neue Echo Dot Smarter Lautsprecher mit Alexa von amazon.de

Wenn Sie interessiert sind, können Sie mit arduino nano ganz einfach eine virtuelle Wand für Roomba erstellen.

Viele Spaß!


SP8266 Vierkanal Wifi Relais IOT Smart Home Handy APP Fernbedienung
ESP32-CAM-MB 2640 Kameramodul WiFi Bluetooth-Entwicklungsplatine, USB auf serielle Port

werbung

ESP8266 ESP-01S mit USB-Adapter WLAN WiFi Modul