Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Существуют разные способы управления ESP8266 из Google Home, но большинство решений, которые вы можете найти в Интернете, используют IFTT, что не очень удобно для пользователя.
gBridge.io позволяет упростить процесс и действовать без сбоев.
В этом практическом руководстве я покажу вам, как настроить модуль ESP01 для ответа на такие команды, как «Включите лампу» и «Включена ли лампа?». В проекте только включение и выключение встроенного светодиода, но после этого легко пойти дальше.
Необходимые материалы:
- 1 * модуль ESP8266 (https://www.sparkfun.com/products/13678)
- 2 * кнопки (https://www.sparkfun.com/products/97)
- 1 * резистор 10 кОм
- 1 * кабель FTDI 3,3 В (https://www.sparkfun.com/products/14909)
Шаг 1. Кабель FTDI к ESP8266
Для связи между ESP8266 и вашим ПК вам нужно будет сделать адаптер FTDI-ESP8266.
- Вам нужно будет построить схему, показанную на связанном изображении, если у вас есть кабель FTDI 5 В:
- Если у вас есть кабель FTDI 3,3 В, вы можете избежать чипа 78xxl и подключить 3,3 В напрямую к ESP8266.
- Левая кнопка - это кнопка «программирование», а правая - кнопка «сброс».
- Если вы хотите перевести его в режим «программирования», вы должны удерживать две кнопки нажатыми и сначала отпустить кнопку сброса, а затем вторую.
- Программная кнопка будет использоваться в этом проекте для включения и выключения встроенного светодиода вручную.
Шаг 2: Программирование ESP8266 с помощью Arduino IDE
Второй шаг - это возможность программировать модуль ESP01 с помощью Arduino IDE. Это упростит использование библиотеки MQTT от Adafruit после этого. Это руководство вдохновило меня на следующие шаги:
- Установите последнюю версию Arduino IDE. В моем случае это была v1.8.8.
- Перейдите в File Preferences и добавьте ссылку https://arduino.esp8266.com/stable/package_esp8266com_index.json в URL-адреса Additional Boards Manager.
- Перейти к диспетчеру досок Tools Board
- Теперь у вас должен быть esp8266 в качестве опции, поскольку вы добавили его к дополнительным платам.
- Выберите его и нажмите «Установить».
- Теперь у вас должен быть модуль ESP8266, указанный как «Универсальный модуль ESP8266».
- В моем случае мне пришлось выбрать некоторые параметры, как показано на связанном изображении.
- Выберите порт, к которому подключен ваш кабель FTDI.
- Вы можете протестировать «Пример Blink» (Примеры файлов ESP8266 Blink).
- Переведите ESP8266 в режим «программирования», удерживая две кнопки нажатыми, и сначала отпустите кнопку сброса, а затем вторую.
Шаг 3: Настройка GBridge
- Перейдите на
- Зарегистрировать аккаунт
- Войдите в свой аккаунт
- Создать новое устройство
- Нажмите Добавить.
-
В списке устройств должно быть ваше новое устройство.
- Вам понадобятся два адреса фидов на будущее.
- Чтобы подключить Google Assistant, вы можете следовать руководству, доступному в документации gBridge:
Шаг 4. Заставляем библиотеку Adafruit MQTT работать с GBridge
Библиотека Adafruit MQTT будет использоваться для связи между ESP866 и gBridge.io.
- В Arduino IDE перейдите в Инструменты -> Диспетчер библиотек.
- Установите библиотеку Adafruit MQTT
- Введите информацию в первую часть кода и загрузите ее. Вы должны быть готовы к работе.
/ ************************* Точка доступа WiFi ********************* ************ / #define WLAN_SSID "Ваше имя SSID" #define WLAN_PASS "Ваш пароль SSID" / ******************** ***** Настройка Gbridge ******************************** / # определить AIO_SERVER "mqtt.gbridge.kappelt.net "#define AIO_SERVERPORT 1883 // использовать 8883 для SSL #define AIO_USERNAME" ваше имя пользователя gBridge "#define AIO_KEY" ваш пароль gBridge "/ ******************** ********** Каналы *************************************** / Adafruit_MQTT_Publish onoffset = Adafruit_MQTT_Publish (& mqtt, "gBridge / u341 / d984 / onoff / set"); // Замените на свое имя канала Adafruit_MQTT_Subscribe onoffbutton = Adafruit_MQTT_Subscribe (& mqtt, "gBridge / u341 / d984 / onoff"); // Заменить на свое имя канала