Умный дом на ESP12 с управлением жестами и компьютерном зрении


В данной статье мы рассмотрим проект автоматизации (умного) дома на модуле ESP12 в лучших традициях концепции интернета вещей (IoT) - с компьютерным зрением и управлением жестами. В этом проекте мы использовали для компьютерного зрения наш персональный компьютер ввиду ограниченности бюджета на проект, но чтобы сделать проект более совершенным, для этой цели можно использовать, например, одноплатный компьютер NVIDIA Jetson Nano.

Проект умного дома на ESP12 с управлением жестами и компьютерном зрении

Ранее на нашем сайте мы уже рассматривали достаточно много различных проектов автоматизации дома на основе различных микроконтроллеров (плат), наиболее популярными среди которых являются следующие:

На следующих рисунках показан внешний вид различных компонентов нашего проекта.

Печатная плата для электронной части нашего проекта

Интеллектуальный коммутатор нашего проекта

Собранный в корпусе наш проект умного дома

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

Аппаратное обеспечение

  • Модуль ESP8266 (ESP12) (купить на AliExpress),
  • Реле,
  • SMD диоды,
  • SMD резисторы,
  • SMD кнопки,
  • Регулятор напряжения 3.3V AMS1117 (купить на AliExpress - можно купить не в виде модуля, а в виде отдельной микросхемы (от 5 до 7 рублей за штуку), но на момент публикации данной статьи не нашел на алиэкспрессе магазина с дешевой доставкой данной микросхемы),
  • светодиоды 3mm,
  • Hi-link 5v/5w,
  • 2-контактные разъемы,
  • Dummy переключатели,
  • Соединительные провода,
  • Компьютер для реализации функций искусственного интеллекта (AI Virtual Assistance),
  • Вебкамера для компьютерного зрения (AI Vision).

Программное обеспечение

  • Arduino IDE,
  • PyCharm,
  • Python 3.7.6,
  • Blynk Cloud server,
  • Mit App Inverter,
  • EasyEDA PCB Designer.

Выбор аппаратного и программного обеспечения проекта

ESP12-E: Этот небольшой приемопередатчик WIFI со встроенным микроконтроллером является идеальным решением для домашней автоматизации и приложений Интернета вещей. Модуль ESP-12 является одним из наиболее полных в семействе ESP, поскольку позволяет использовать наибольшее количество контактов из всех модулей данной серии. Вы можете запрограммировать этот модуль для автономной работы с Arduino IDE или с LUA в качестве NodeMCU. В нашем случае мы имеем систему на основе ESP8266, основными характеристиками которой являются энергосберегающий VoIP, быстрое переключение между режимами сна/бодрствования, адаптивное радиосмещение с низким энергопотреблением и функции внешней обработки сигналов.

Hi-Link 5 В/5 Вт: этот модуль питания заменяет множество деталей традиционного источника питания, таких как диоды, стабилизаторы напряжения и трансформаторы. Таким образом, у этих модулей есть много преимуществ, таких как низкий рост температуры, малое энергопотребление, высокая эффективность, высокая надежность, надежная изоляция и т. д.

Медная оболочка: Мы использовали медную оболочку для изготовления самодельной печатной платы, поскольку она очень дешева для одиночной печатной платы.

Компоненты SMD: Мы использовали в нашем проекте компоненты smd, потому что они позволяют уменьшить размер печатной платы. А для питания модуля Wi-Fi в нашей схеме используется регулятор напряжения AMS 1117 3,3 В. Это микросхема SMD. И в нашей схеме мы использовали множество smd-резисторов, микросхем питания, кнопок, диодов и т. д.

Вилка и заглушка электрического щита: В нашем проекте мы использовали обычную вилку для питания бытовой техники, выходной сигнал которой будет поступать от нашей сети Wi-Fi. Также мы использовали заглушку для настройки сенсорного датчика.

Arduino IDE: Это отличная IDE для программирования встраиваемых систем. Arduino IDE проста в освоении, а ее код достаточно легко понять. Еще одна причина, по которой Arduino IDE так популярна, заключается в том, что ее использует множество людей, а это значит, что существует множество примеров ее использования и исправления возможных неполадок (если они у вас появятся.

EasyEDA: Мы использовали программное обеспечение EasyEDA для проектирования печатной платы. Это онлайн-программное обеспечение, и его можно использовать где угодно, используя сеть Интернет. И все компоненты достаточно просто найти в этом программном обеспечении. EasyEDA — это очень функциональная онлайн-платформа EDA, которая предоставляет пользователям доступ ко всем основным функциям и инструментам, необходимым для проектирования печатных плат и схем для различных приложений. Оно также имеет большой набор инновационных функций, которых до недавнего времени не было даже в некоторых платных программах EDA.

PyCharm: Для создания Ai Assistance (реализации функций ИИ (искусственного интеллекта)) мы использовали PyCharm IDE для компиляции нашего кода. PyCharm обеспечивает интеллектуальное завершение кода, проверки кода, оперативное выделение ошибок и быстрые исправления, а также автоматический рефакторинг кода и богатые возможности навигации.

Mediapipe: Mediapipe — это кроссплатформенная библиотека, разработанная Google, которая предоставляет потрясающие готовые к использованию решения машинного обучения для задач компьютерного зрения. Библиотека OpenCV на Python — это библиотека компьютерного зрения, которая широко используется для анализа изображений, их обработки, обнаружения, распознавания и т. д.

OpenCV-Python: —  OpenCV используется для всех видов анализа изображений и видео, таких как распознавание и обнаружение лиц, считывание номерных знаков, редактирование фотографий, расширенное роботизированное зрение, оптическое распознавание символов и многое другое.

MIT App Inventor: Это облачный инструмент, позволяющий создавать приложения для устройств Android или iOS прямо в веб-браузере. Этот веб-сайт предлагает всю необходимую поддержку, чтобы научиться создавать собственные приложения.

Requests: Библиотека запросов является фактическим стандартом для выполнения HTTP-запросов в Python. Она абстрагирует сложности выполнения запросов с помощью красивого и простого API, чтобы вы могли сосредоточиться на взаимодействии со службами и использовании данных в своем приложении.

Blynk: Это самая популярная платформа Интернета вещей для подключения ваших устройств к облаку. Он хорошо известен тем, что позволяет пользователям создавать приложения для управления своими устройствами Интернета вещей, анализировать данные телеметрии и управлять развернутыми продуктами в любом масштабе. Более подробно про работу с Blynk можно прочитать в этой статье.

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

Схема проекта умного дома на ESP12 с управлением жестами и компьютерном зрении представлена на следующем рисунке.

Схема соединения компонентов в нашем проекте

Схема проекта умного дома на ESP12 с управлением жестами и компьютерном зрении

В нашей схеме мы использовали модуль Esp12-e и для его программирования мы использовали контакт RX/TX. Затем мы подключили 3 контакта модуля Esp12-e к реле, а остальные 3 контакта оставлены для входа сенсорного датчика. Для питания всей схемы мы использовали блок питания Hi-Link. Также мы применили 2-контактные разъемы для подключения проводов платы.

Также в схеме мы использовали несколько подтягивающих резисторов для ряда контактов модуля Esp12-e. Светодиоды в нашей схеме будут индицировать о том, включена или выключена вилка. Также в схеме есть источник питания 220 В.

Тестирование работы нашего проекта умного дома

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

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

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

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

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