Автоматизация дома с помощью Google Firebase и NodeMCU ESP8266


В этом проекте мы узнаем, как создать проект автоматизации дома (умный дом) на основе технологии Интернета вещей (IoT) с использованием Google Firebase и NodeMCU ESP8266. Один из самых распространенных и популярных хобби-проектов, с которыми вы столкнетесь в Интернете, — это проект домашней автоматизации. Под домашней автоматизацией мы подразумеваем управление бытовыми приборами без ручного переключателя. При подключении к Интернету домашние устройства становятся важной составляющей приложения Интернета вещей («IoT»).

Автоматизация дома с помощью Google Firebase и NodeMCU ESP8266

Ранее на нашем сайте мы рассматривали проекты автоматизации дома с помощью таких сервисов как:

Но в этом проекте мы будем использовать Google Firebase. Google Firebase — это поддерживаемое Google программное обеспечение для разработки приложений, используемое для создания, управления и изменения данных, сгенерированных любым приложением Android/IOS , веб-сервисами, датчиками IoT и оборудованием. Чтобы узнать больше о консоли Google Firebase, вы можете прочитать официальную документацию Google Firebase. Чтобы узнать больше о работе с этим сервисом, рекомендуем посмотреть статью про отправку данных датчиков на Android с помощью Google Firebase и ESP8266.

Мы разработаем приложение домашней автоматизации Android с помощью MIT APP Inventor. Используя Firebase Host & Authentication Key, мы подключим приложение Android к Google Firebase. Затем мы отправим команду ВКЛ/ВЫКЛ (1/0) из приложения. Данные из приложения отправляются в Google Firebase. Теперь данные Google Firebase обновляются на плате NodeMCU через подключение к Интернету. Таким образом, цифровые контакты GPIO становятся высокими и низкими, включая/выключая приборы, подключенные к реле.

Также вы можете посмотреть проект умного дома с управлением через Wi-Fi и голосом на NodeMCU ESP8266 и Android.

Необходимые компоненты

  1. NodeMCU ESP8266 (купить на AliExpress).
  2. Реле 5В - 4 шт. (купить на AliExpress).
  3. Диод 1N4007 - 4 шт. (купить на AliExpress).
  4. Регулятор напряжения LM7805 (купить на AliExpress).
  5. Гнездо питания постоянного тока DCJ0202
  6. Резистор 330 Ом – 5 шт.
  7. NPN-транзистор BC547 - 4 шт.
  8. Клеммная колодка.
  9. Светодиод 5 мм (купить на AliExpress).
  10. Разъемы типа "мама" - 2 комплекта.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Схема проекта

Схема проекта автоматизации дома с помощью Google Firebase и NodeMCU ESP8266 представлена на следующем рисунке.

Схема проекта автоматизации дома с помощью Google Firebase и NodeMCU ESP8266

Используя эту принципиальную схему, вы можете собрать схему на макетной плате, используя 4-канальное реле и плату NodeMCU.

Печатная плата для проекта

Если вы не хотите собирать схему на макетной плате, а хотите печатную плату для проекта, то вот печатная плата для вас. Печатная плата для проекта домашней автоматизации разработана с использованием онлайн-инструмента проектирования схем и печатных плат EasyEDA. Передняя и задняя стороны печатной платы показаны ниже.

Печатная плата для проекта (вид спереди)

Печатная плата для проекта (вид сзади)

Файл Gerber для изготовления печатной платы вы можете скачать по следующей ссылке.

Настройка базы данных консоли Google Firebase

Теперь самое главное, что нам нужно сделать, это настроить базу данных консоли Google Firebase. После завершения настройки мы можем отправлять данные в реальном времени из приложения Android в Google Firebase .

Но я не буду здесь объяснять, как настроить базу данных консоли Google Firebase, поскольку я уже объяснил весь процесс в предыдущем уроке. Вы можете проверить следующий урок, чтобы узнать, как выполнить настройку.

Начало работы с Google Firebase с ESP8266
Вы также можете следовать видеоуроку ниже, чтобы следить за работой по настройке данной базы данных. После завершения настройки вы увидите следующее окно.

Окно базы данных консоли Google Firebase после завершения настройки

Вам нужны Firebase Host и Authentication Token. Оба этих параметра будут нужны в коде программы, а также в Firebase App.

Разработка и настройка приложения Android

Теперь нам нужно разработать приложение Android, которое может отправлять данные в Google Firebase. Самый простой способ разработать приложение Android — использовать MIT App Inventor. MIT APP Inventor позволяет разрабатывать приложения для телефонов Android с помощью веб-браузера и подключенного телефона или эмулятора. Серверы App Inventor хранят вашу работу и помогают вам отслеживать ваши проекты.

Я просто разработал интерфейс для проекта домашней автоматизации с использованием Google Firebase. Приложение имеет 4 пары переключателей ON/OFF (ВКЛ/ВЫКЛ) для отправки команд 0 и 1 в Google Firebase.

Окно дизайна нашего приложения в MIT App Inventor

Аналогично ниже представлен редактор блоков, содержащий информацию о назначениях и программировании.

Редактор блоков нашего приложения в MIT App Inventor

При проектировании приложения вам необходимо ввести Firebase Host & Authentication Token в базу данных приложения. Для этого следуйте видеоинструкции ниже.

Соберите/скомпилируйте приложение и экспортируйте его на свой телефон Android. Вы можете установить файл APK на свой телефон.

Файл .aia для этого приложения приведен ниже. Вы можете импортировать этот файл в окно MIT App Inventor и изменить его, изменив Host & Token на Database.

Загрузить: Файл Google Firebase Home Automation .aia

Добавление Firebase и библиотеки JSON в Arduino IDE

1. Библиотека ArduinoJSON

Сначала перейдите в менеджер библиотек, найдите «JSON» и установите библиотеку, как показано на рисунке ниже.

Установка библиотеки ArduinoJSON в менеджере библиотек Arduino IDE

Примечание: Последняя библиотека JSON может не работать с кодом. Поэтому вам может потребоваться понизить версию библиотеки до v5.13.5

2. Расширенная библиотека Google Firebase

Теперь вам нужно установить библиотеку Google Firebase. Итак, скачайте библиотеку по ссылке ниже и добавьте ее в папку Library после извлечения.

Загрузить расширенную библиотеку Google Firebase

Исходный код программы

После добавления библиотеки в Arduino IDE вы можете загрузить код на плату NodeMCU.

Но перед загрузкой кода внесите изменения в SSID WiFi, пароль, хост Firebase и токен аутентификации.

Полный код программы выглядит следующим образом.

Тестирование работы проекта

Тестирование работы проекта (часть 1)

После загрузки кода NodeMCU подключится к сети WiFi. Используя Firebase Authentication Token & Host, приложение Android, а также плата Nodemcu подключаются к Google Firebase.

Теперь вы можете отправлять команды ВКЛ/ВЫКЛ из мобильного приложения, чтобы включать/выключать бытовые приборы.

Тестирование работы проекта (часть 2)

Видео, демонстрирующее работу проекта

Ссылка на видео на YouTube

(Проголосуй первым!)
Загрузка...
16 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *