Оглавление:

Домашняя автоматизация с Android и Arduino: открой ворота, когда вернешься домой: 5 шагов
Домашняя автоматизация с Android и Arduino: открой ворота, когда вернешься домой: 5 шагов

Видео: Домашняя автоматизация с Android и Arduino: открой ворота, когда вернешься домой: 5 шагов

Видео: Домашняя автоматизация с Android и Arduino: открой ворота, когда вернешься домой: 5 шагов
Видео: 🧠УМНЫЕ ВОРОТА🚧 XIAOMI УПРАВЛЕНИЕ ЧЕРЕЗ ЯНДЕКС НАВИГАТОР "АЛИСА ОТКРОЙ ВОРОТА" УМНЫЙ ДОМ XIAOMI🏠 2024, Сентябрь
Anonim
Домашняя автоматизация с Android и Arduino: открой ворота, когда вернешься домой
Домашняя автоматизация с Android и Arduino: открой ворота, когда вернешься домой

Это руководство посвящено настройке системы домашней автоматизации для управления через смартфон, используя подключение к Интернету, чтобы к ней можно было получить доступ отовсюду, где вам это нужно. Более того, он будет выполнять определенные действия при каждом соответствии критериям (например, включать свет, когда смартфон подключается к домашней сети Wi-Fi, открывать ворота, когда вы входите в определенную с помощью GPS область, или все, что вам может понадобиться).

Будет использоваться существующее приложение для Android, которое требует минимального количества кода: просто загрузите код, и все готово. Мозг - микроконтроллер - будет Arduino или Arduino-совместимой платой, такой как Aruino Uno с экраном Ethernet или NodeMCU ESP8266.

Чтобы запустить систему при выполнении условия (положение GPS, время, и т. Д.), Мы будем использовать пресловутый Tasker; подробнее об этом позже.

При реализации системы учитывались следующие ключевые моменты:

  • Это должно быть дешево.
  • Он должен быть доступен из-за пределов локальной домашней сети (то есть вашего Wi-Fi).
  • Он должен быть ДЕЙСТВИТЕЛЬНО простым и быстрым в сборке и настройке.
  • Он должен быть надежным.

При этом весь проект будет стоить около 20 евро (7,50 евро за ESP8266, 8 евро за релейную плату, остаток за дополнительное оборудование), и вам потребуется около 30 минут, чтобы все это настроить - совсем неплохо..

Итак, если вам интересно, следуйте этому простому и быстрому руководству и настройте свою собственную!

Шаг 1: Настройка оборудования

Настройка оборудования
Настройка оборудования

После того, как вы собрали все свои компоненты, первое, что нужно сделать, - это все это подключить.

В этом примере мы будем подключать лампочку к ESP8266; имейте в виду, что при работе с основным напряжением нужно быть предельно осторожным - дома используют 220 В, это может вас убить! Всегда отключайте питание перед тем, как приступить к работе, а если вы не уверены, обратитесь за помощью к специалисту!

Тем не менее: чтобы справиться с такими уровнями напряжения и тока (которые сожгут крошечный ESPR8266), нам нужно использовать подходящее реле (например, это, которое имеет логику 5 В, подходящую для стандартного Arduino, или это реле уровня логики 3,3 В., подходит под распиновку 3.3V ESP82666); подключения довольно просты, следуйте прилагаемой диаграмме.

Обратите внимание, что некоторые релейные платы (например, та, которую мы связали) АКТИВНЫ НИЗКОМ; это означает, что вы должны подключить реле к земле, чтобы оно включилось, и наоборот. Если это ваш случай, Homotica предлагает хорошее решение; мы увидим это в следующем абзаце.

Шаг 2: Конфигурация ESP8266

Конфигурация ESP8266
Конфигурация ESP8266
Конфигурация ESP8266
Конфигурация ESP8266
Конфигурация ESP8266
Конфигурация ESP8266

Теперь, когда мы настроили аппаратное обеспечение системы автоматизации, нам нужно запрограммировать микроконтроллер.

Для этого нам понадобится программное обеспечение Arduino для загрузки предоставленного скетча в ESP8266; поэтому перейдите на страницу загрузки Arduino и выберите наиболее подходящую для вас версию.

После загрузки установите его.

Теперь, когда у нас установлена наша IDE, нам нужна библиотека, необходимая для работы скетча; чтобы установить его, откройте App Github Repo и выберите «Загрузить» с помощью зеленой кнопки справа.

Перейдите в папку Download на вашем компьютере и с помощью программного обеспечения, такого как WinRar или WinZip, распакуйте файл; откройте вновь созданную папку «homotica-master» и скопируйте внутреннюю папку с именем «Homotica» в папку библиотек редактора Arduino (обычно ее можно найти в папке C: / Users / your_user_name / Documents / Arduino / libraries). Удалите оставшиеся файлы в "homotica-master", они нам не понадобятся.

При загрузке кода в ESP8266 отсутствует один шаг: нам нужно получить библиотеку, чтобы IDE Arduino могла взаимодействовать с платой, поскольку она официально не поддерживается.

Для этого выполните следующие действия (кредиты: Github ES8266 Arduino Repo):

  • Запустите Arduino и откройте окно «Файлы»> «Настройки».
  • Введите "https://arduino.esp8266.com/stable/package_esp8266com_index.json" (без кавычек) в поле дополнительных URL-адресов Board Manager. Вы можете добавить несколько URL-адресов, разделяя их запятыми.
  • Откройте Boards Manager из меню «Инструменты»> «Плата» и установите платформу esp8266 (найдите «esp8266» и загрузите «esp8266 от сообщества ESP8266»).

Все настроено. Позаботимся о коде скетча.

Откройте Файл> Пример> Homotica> Homotica ESP8266, скопируйте ВЕСЬ код в новый скетч и измените следующие параметры:

  • ssid: вставьте сюда имя вашей беспроводной сети
  • пароль: ваш пароль Wi-Fi
  • ip, шлюз, подсеть: возможно, вам не придется трогать эти настройки; измените ip, если хотите, чтобы у вашего ESP8266 был другой адрес
  • mUdpPort: порт, который мы откроем в маршрутизаторе позже; если вы не знаете, что это, не трогайте это
  • код: уникальный 8-значный код, который будет использоваться для аутентификации вашего приложения; вы можете выбрать все, что захотите.

Если вы используете настройку АКТИВНЫЙ НИЗКИЙ, не забудьте вызвать homotica.setActiveLow (), как показано в примере кода!

В завершение: добавьте homotica.addUsedPin (5) (как показано в примере), чтобы указать ESP8266, какой GPIO он должен обрабатывать, между циклом while и homotica.set (mUdpPort, код); удалите все строки homotica.simulateUdp (…).

Это код, который у вас должен остаться:

#включают

#include #include const char * ssid = "mywifiname"; const char * пароль = "wifipassword"; IP-адрес ip (192, 168, 1, 20); Шлюз IP-адреса (192, 168, 1, 1); IP-адрес подсети (255, 255, 255, 0); беззнаковый интервал mUdpPort = 5858; статический строковый код = "aBc159"; Homotica homotica; void setup () {WiFi.config (IP, шлюз, подсеть); WiFi.begin (ssid, пароль); в то время как (WiFi.status ()! = WL_CONNECTED) {задержка (500); } homotica.addUsedPin (5); homotica.setActiveLow (); // <- только если он вам нужен homotica.set (mUdpPort, code); } пустая петля () {homotica.refresh (); }

Когда все настроено правильно, измените настройки компилятора в меню «Инструменты» в соответствии с прилагаемым снимком экрана и выберите порт, к которому ваш ESP8266 подключен на вашем компьютере, в «Инструменты»> «Порт».

Теперь нажмите "Загрузить". Ваш микроконтроллер полностью настроен и готов к работе!

Шаг 3: Маршрутизатор и IP

Маршрутизатор и IP
Маршрутизатор и IP
Маршрутизатор и IP
Маршрутизатор и IP

Чтобы связаться с ESP8266 из каждой сети, нам нужно будет указать маршрутизатору, чтобы он пропустил команду, которую мы ему отправляем.

Для этого перейдите на страницу конфигурации вашего маршрутизатора (обычно 192.168.1.1) и найдите что-то вроде «виртуальный сервер» или «переадресация портов»; вы можете найти точную настройку для вашей модели маршрутизатора при поиске в Google.

При переадресации портов создайте новое правило, разрешающее все подключения к ESP8266 (настроенному ранее) через порт ESP8266 (опять же, настроенный ранее). Назовите его Homotica, вставьте IP-адрес ESP8266 в поле IP и сохраните.

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

Теперь, чтобы обратиться к нашему маршрутизатору из внешнего мира, нам нужно знать его общедоступный IP-адрес; Обратной стороной является то, что большинство интернет-провайдеров предоставляют вам не статический IP-адрес, а вместо него динамический, который со временем меняется.

Но подождите, мы можем это решить!

Перейдите в NoIp, создайте новую учетную запись, затем создайте новое имя хоста (см. Прикрепленное изображение). Запомните, какое у вас имя хоста (в моем примере: https://yourhostname.ddns.net), и перейдите к следующему шагу.

(Примечание: вы можете захотеть, чтобы ваш компьютер автоматически синхронизировал IP-адрес вашего маршрутизатора с вашим именем хоста NoIp: для этого скачайте бесплатное приложение)

Шаг 4: Конфигурация приложения

Конфигурация приложения
Конфигурация приложения
Конфигурация приложения
Конфигурация приложения
Конфигурация приложения
Конфигурация приложения

Давайте позаботимся о приложении, ладно?

Загрузите приложение со страницы Play Store и откройте его.

Откройте левое меню, выберите Доски и создайте новую. Мы заполним параметры, которые мы ранее определили в коде скетча ESP8266:

  • Имя Arduino: что вы хотите (пусть это будет ESP8266)
  • IP-адрес хоста: это может быть

    • статический IP-адрес маршрутизатора, указанный через ссылку NoIp
    • IP-адрес ESP8266, если вы хотите использовать его только из домашней сети Wi-Fi 192.168.1.20
  • Хост-порт: тот, который мы настроили и открыли ранее 5858
  • Код аутентификации: код из 8 символов, который мы определили в скетче aBc195.

Сохранить. Снова откройте меню, создайте новое устройство; мы прикрепим лампочку для демонстрации:

  • Имя: свет
  • Название кнопки: мы будем использовать On, выбирайте то, что вам больше нравится
  • Номер пина: пин, к которому мы прикрепили лампочку. Будь осторожен! На ESP8266 метки контактов (D1, D2…) НЕ соответствуют имени контакта GPIO! Выполните поиск в Google, чтобы определить, какой вывод является GPIO (в нашем примере: вывод 5 помечен как D1)
  • Поведение: вы можете выбирать между включением, выключением, изменением состояния "толкание" (включение и выключение) устройства.

Сохранить. Если вы до сих пор все настроили правильно, при нажатии на кнопку «Вкл» лампочка должна загореться.

Круто, не правда ли?

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

Но чтобы использовать на полную мощность то, что вы только что создали, нам придется использовать Tasker.

Шаг 5: интеграция с Tasker

Интеграция с Tasker
Интеграция с Tasker
Интеграция с Tasker
Интеграция с Tasker
Интеграция с Tasker
Интеграция с Tasker

Если у вас есть Tasker или вы хотите его купить, продолжайте читать! Мы будем использовать его, чтобы указывать Homotica, что и когда делать.

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

Откройте Tasker; создайте новую задачу (назовите ее Turn On Light), выберите «Добавить»> «Плагин»> «Homotica», нажмите на карандаш, чтобы настроить плагин. Выберите Light> On и сохраните. Вернитесь в главное меню, создайте новый Профиль, выберите Состояние> Wi-Fi подключен, вставьте имя Wifi тура в поле SSID; нажмите "Назад" и выберите "Включить свет" в качестве действия входа. Теперь нажмите и удерживайте в левой части только что созданного профиля, выберите «Добавить»> «Время»> «С 16:00 до 18:00», затем закройте.

Мы сделали. Наш свет включится, когда мы войдем домой в установленное время.

Это удобно!

Теперь ваша очередь: проявите творческий подход с Homotica и Tasker, и не забудьте показать нам, что вы создали!

Рекомендуемые: