Русский
Русский
English
Статистика
Реклама

Перевод Голосовое управление Roomba с помощью Alexa и эмулятора Belkin-Wemo

Роботом-пылесосом iRobot Roomba можно управлять голосовыми командами, запуская уборку или отправляя пылесос в док-станцию. Я уже рассказывал о том, как общаться с Roomba через сервер ioBroker. Сегодня речь пойдёт о системе голосового управления, для которой не нужен подобный сервер. Тут, для прямого подключения робота к Amazon Echo, будет использоваться эмулятор Belkin-Wemo.



Если вы не хотите сами заниматься модификацией робота вот и вот пара готовых решений.

Компоненты


В этом проекте используются следующие компоненты:


Интерфейс для взаимодействия с роботом


Команды пылесосу можно отправлять, пользуясь его последовательным портом. Он представлен 7-контактным разъёмом Mini-DIN, расположенным под верхней крышкой устройства. Обмен данными по нему организован с использованием протокола iRobot Roomba Open Interface.


iRobot Roomba Open Interface

Разборка робота


Разберём Roomba. Снимем контейнер для мусора и щётки, после чего, открутив 4 винта, снимем нижнюю крышку и вытащим батарею.


Разборка нижней части робота

Уберём бампер, отстегнём верхнюю декоративную часть корпуса и открутим винты, находящиеся под ней. Пару винтов на ручке можно оставить.


Разборка верхней части робота

Снимем верхнюю часть корпуса.


Roomba со снятой верхней частью корпуса

Сборка устройства для управления роботом


Теперь нужно собрать аппаратные компоненты нашего проекта в соответствии со следующей схемой. Наша конструкция подключается к последовательному порту робота.


Подключение ESP8266 к Roomba

Не забудьте установить выходное напряжение на модуле преобразователя MP1584EN, воспользовавшись подстроечным резистором, на который указывает стрелка. Этот модуль поддерживает входное напряжение в диапазоне от 4,5 до 28 В, а выходное от 0,8 до 20 В.


Понижающий преобразователь напряжения MP1584EN

Запись программы в WiFi-модуль ESP8266


Теперь пришло время записать программу в WiFi-модуль ESP8266. Вот архив с необходимыми для этого материалами. Обратите внимание на то, что тут закомментирован отладочный вывод данных на последовательный порт, так как он может помешать обмену данными с Roomba.

Откройте Arduino-приложение. Прежде чем записывать программу в модуль, нужно отредактировать код, соответствующий тому, который приведён ниже, и внести в него данные о WiFi-подключении. Тут же, если надо, можно поменять имя робота. Оно появится в приложении Alexa.

/**************************************/// 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); // Подготовка OI к работеdelay(50);Serial.write(131); // Переключение в безопасный режимdelay(50);Serial.write(135); // Запуск стандартной программы уборкиreturn true;}bool switchRoombaOff(){Serial.write(128); // Подготовка OI к работеdelay(50);Serial.write(131); // Переключение в безопасный режимdelay(50);Serial.write(143); // Отправка робота в док-станцию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();}

После того, как код отредактирован, а программа записана в модуль, нужно найти в корпусе робота место для размещения новых компонентов. Далее, надо собрать корпус Roomba в порядке, обратном порядку его разборки. При этом стоит обратить внимание на размещение в нём проводов.


Собранный робот

Подключение робота к Alexa


Откройте приложение Alexa на телефоне и добавьте в него новое устройство, пылесос iRobot Roomba, или попросите Alexa самостоятельно поискать новые устройства.


iRobot Roomba и приложение Alexa

Теперь с помощью Alexa можно управлять роботом, отдавая ему голосовые команды.

Планируете оснастить свой iRobot Roomba голосовым управлением?

Источник: habr.com
К списку статей
Опубликовано: 12.03.2021 16:12:58
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании ruvds.com

C

Гаджеты

Diy или сделай сам

Roomba

Разработка

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru