1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/walkline-MicroPython-with-Aligenie-Voice-Skill

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

МикроPython с голосовым навыком Aligenie

Проект

Управление МикроPython ESP32 через голосовой навык Aligenie.

Проще говоря, на плате разработки ESP32 запускается веб-сервер для приёма запросов от платформы голосовых навыков и выполнения соответствующих операций. Затем платформа получает обратную связь от платы разработки через голосовое оповещение от «Алигеней».

План

  • Включить компьютер с помощью технологии Wake-on-LAN (WOL).
  • Получить информацию об окружающей среде, например, о текущей влажности и температуре.
  • Управлять платой разработки, например, включать и выключать реле.
  • Открыть электронный замок (для личного использования).

Файлы проекта

  • config.py: некоторые параметры конфигурации, используемые в проекте (необходимо изменить имя файла с config.sample.py).
  • boot.py: выполняет операции по подключению платы разработки к сети.
  • microWebSrv.py: модуль, предоставляющий услуги веб-сервера (уже интегрирован в пользовательское встроенное ПО ESP32).
  • utils/wifihandler.py: помощник модуля для подключения к Wi-Fi.
  • utils/wol.py: модуль для включения компьютера в локальной сети.
  • utils/acs.py: модуль для открытия электронного замка.
  • utils/log.py: выводит отладочную информацию с текущим временем.
  • aligenie/aligenie.py: класс Aligenie для анализа данных запроса платформы.
  • aligenie/*.txt: файлы аутентификации для голосового навыка.

Настройка платформы

Процесс настройки платформы можно найти в документации проекта «Голосовой навык Алигеней», поэтому здесь мы рассмотрим только основные моменты.

  • На платформе создайте следующие сущности:

    Сущность Значение сущности
    Переключатель Включено/выключено

| Тип компьютера | Персональный компьютер |

  • Создайте четыре намерения:
Намерение Пример предложения Параметры
Запрос погоды Какая сегодня погода? Местоположение
Пробуждение по локальной сети Разбуди мой компьютер MAC-адрес компьютера
  • Сохраните файлы аутентификации в папке /aligenie, путь к файлу аутентификации: логика → логическая коллекция → веб-крючок по умолчанию → подробности.

    Веб-крючки по умолчанию содержат список идентификаторов намерений, выберите один из них, чтобы загрузить файл аутентификации.

Файл конфигурации config.py

  • Таблица соответствия параметров:
config.py Платформа Описание
SKILL_NAME Идентификатор навыка
INTENT_* Идентификаторы намерений
ENTITY_* Идентификаторы сущностей
  • Другие параметры:

— WIFI_*: Wi-Fi, к которому должна подключиться плата разработки. — IS_MULTI_DEVICES: если ваша учётная запись связана с несколькими устройствами Алигеней, которые находятся в разных местах (например, одно дома, другое на работе), установите значение True, чтобы избежать ошибок (включение компьютера на работе из дома). — VALID_DEVICE_IDS: если IS_MULTI_DEVICES имеет значение True, необходимо указать допустимые идентификаторы устройств Алигеней. — WOL_MAC_LISTS: список MAC-адресов компьютеров, которые должны быть включены по локальной сети.

Настройки маршрутизатора

Если вы не хотите настраивать маршрутизатор или предпочитаете использовать MQTT, обратитесь к документации.

Каждый маршрутизатор имеет свой интерфейс управления, поэтому здесь приведены только общие инструкции. Пожалуйста, сверьтесь с документацией вашего маршрутизатора.

Маршрутизатор должен поддерживать следующие функции:

  • Привязка MAC-адреса.
  • Динамический DNS (DDNS).
  • Виртуальный сервер (переадресация портов).

Перед настройкой маршрутизатора обновите файл config.py с параметрами WIFI_*, а затем загрузите файлы на плату разработки и снова включите её, чтобы плата разработки подключилась к маршрутизатору. После успешного подключения плата разработки будет постоянно гореть синим светом, а через 120 секунд она начнёт мигать 10 раз и перезагрузится. Повторите попытку подключения.

На странице управления устройствами маршрутизатора найдите плату разработки, привяжите её MAC-адрес и настройте статический IP-адрес. Откройте страницу управления DDNS, зарегистрируйтесь и запишите доменное имя. На странице виртуальных серверов создайте новый сервер, выбрав доступный внешний порт и внутренний порт 80, внутренний IP-адрес — статический IP-адрес платы разработки.

После правильной настройки маршрутизатора снова включите плату разработки. Проверьте, соответствует ли полученный IP-адрес статическому IP-адресу.

Вернитесь на страницу логики ответов платформы и в разделе подробностей каждого намерения (где вы загрузили файл аутентификации) введите URL:

# ddns-domain: доменное имя DDNS
# port: внешний порт
http://ddns-domain:port/skill

Чтобы проверить состояние платы разработки, посетите этот URL в браузере. Если страница открывается нормально, плата разработки работает правильно.

В окне REPL введите «Маленький помощник» и просмотрите вывод. Скопируйте часть перед «устройством» в списке VALID_DEVICE_IDS в файле config.py. Например:

VALID_DEVICE_IDS = ['9N6LQX6msXOdq']

Полный вывод REPL:

>>> Connected
>>> ('192.168.0.240', '255.255.255.0', '192.168.0.1', '192.168.0.1')
>>> Web Server Started
>>> [2020-07-23 17:31:26] [device]: 9N6LQX6msXOdq/xxxxxxxxxx, [skill]: Маленький помощник, [intent]: погода, [ut]: Маленький помощник

Использование голосового навыка

После пробуждения Алигеней можно сказать следующее:

«Маленький помощник»
«Маленький помощник, какая сегодня погода
«Маленький помощник, погода в Пекине»
«Маленький помощник, прогноз погоды в Шанхае на завтра»

Для пробуждения компьютеров в локальной сети необходимо настроить список WOL_MAC_LISTS в файле config.py, указав MAC-адреса компьютеров. MAC-адрес состоит из 1217 символов и может разделяться любым символом английского алфавита.

«Маленький помощник, разбуди мой компьютер»
«Маленький помощник, включи сервер»
«Маленький помощник, запусти настольный компьютер»

Сотрудничество и общение

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/walkline-MicroPython-with-Aligenie-Voice-Skill.git
git@gitlife.ru:oschina-mirror/walkline-MicroPython-with-Aligenie-Voice-Skill.git
oschina-mirror
walkline-MicroPython-with-Aligenie-Voice-Skill
walkline-MicroPython-with-Aligenie-Voice-Skill
master