Управление реле esp blynk

esp8266 — Сообщество разработчиков

ESP8266 — Управляем со смартфона через Blynk

Еэспэшники — вливайтесь в ряды блинкеров!
Сегодня мы за 5 минут настроим управление ESP8266 с вашего смартфона (iOS или Android) с помощью нового облачного сервиса Blink. Видео и подробности под катом.


Установите приложение Blynk на смартфон

Зарегистрируйтесь в приложении и создайте новый проект.

Создание нового проекта в Blynk

Введите название проекта, например ESP8266. В поле Hardware Model выберите ESP8266. (надеюсь, что вы заметите впечатляющий список поддерживаемого оборудования) Автоматически сгенерированный Auth Token отправьте на свой почтовый ящик.

После нажатия на кнопку Create вам станет доступно пустое поле для проектирования UI вашей панели управления ESP8266.

Жмете на плюсик вверху справа — появится панель инструментов Widget Box для добавления виджетов на вашу панель управления. Стоит заметить, что список виджетов еще будет пополняться.

Для пробы выберем тип виджета Button — этот виджет сразу добавится на вашу панель. Отредактируйте его одним прикосновением. Название можно не заполнять, чуть правее можно выбрать цвет индикатора, в поле OUTPUT PIN выберите справа Digital, а слева любой свободный пин GPIO. Ниже переключите тип кнопки на Switch.

На моей отладочной плате к светодиодам разведено 10 GPIO — я все их подключу к панели Blynk.

Все, интерфейс готов, пока отложите смартфон в сторонку.

Если вы еще не знакомы с Arduino IDE для ESP8266 — почитайте здесь и здесь. Установите Arduino IDE, как описано здесь.

Далее установите библиотеку Blynk в Arduino IDE. В этом вам поможет официальная инструкция. Также можете взять библиотеку самую последнюю версию прямо из репозитария и установить вручную. Далее выбираем пример ESP8266_Standalone и прописываем в нем Auth Token, который мы получили по почте, SSID и пароль вашей WiFi сети. Компилируем и заливаем скетч в ESP8266.

Возвращаемся к нашему приложению на смартфоне, жмем маленький треугольничек, похожий на кнопку Play, в верхнем правом углу и переходим из режима редактирования проекта в режим управления ESP8266 и жмем созданные нами кнопочки и мигаем светодиодами, как на видео в начале статьи.

1. Стоит отметить, что еще есть возможность использовать ESP8266 в качестве WiFi шилда для ардуино.

2. Облачный сервер Blynk — open source и может быть развернут в вашей локальной сети

P.S. Blynk на Kickstarter неплохо отработал — собрал почти 50k

  • Pasha Baiborodin — Founder and user experience design warrior
  • Dmytro Dumanskiy — Co-Founder and server side guru
  • Volodymyr Shymanskyy — embedded Yoda
  • Max Kareta — iOs ninja
  • Alex Kipar — Android samurai
  • Iryna Liashchuk — Communications princess

Не могу не сообщить, что создал этот суперклассный дизайн интерфейса Vitalii Kramar

Источник

Управление реле esp blynk

NODEMCU 1.0 (ESP8266) управление модулем реле через BLYNK (через Интернет)

В этой статье вы узнаете как управлять модулем реле с помощью приложения BLYNK

5. УСТРОЙСТВО на Android С ИНТЕРНЕТОМ

3. НАЖМИТЕ НА ЗНАЧОК (+) ICON

6. ВЫБЕРИТЕ КАЖДУЮ КНОПКУ И ИЗМЕНИТЕ ПИН СЛЕДУЮЩИМ ОБРАЗОМ

КНОПКА 1 (D1) / КНОПКА 2 (D2) / КНОПКА 3 (D3) / КНОПКА 4 (D4)

Шаг 3: ПРОГРАММИРОВАНИЕ MCU NODE

ШАГ 2. ВЫБЕРИТЕ FILE => PREFERNCES => ADDITIONAL BOARD MANAGERS URL => ВСТАВИТЬ ЭТО http://arduino.esp8266.com/stable/package_esp8266com_index.json

ШАГ 3. ВЫБЕРИТЕ TOOLS =>BOARDS=>BOARD MANAGER
ВЫПОЛНИТЕ ПОИСК «ESP8266»

ВЫ ПОЛУЧИТЕ «esp8266 В ESP8266 COMMUNITY»

УСТАНОВИТЕ ПОСЛЕДНУЮ ВЕРСУЮ V2.3.0

ШАГ 4. 1. ВЫБЕРИТЕ SKETCH => INCLUDE LIBRARIES=>MANAGE LIBRARIES
2. НАЙДИТЕ «BLYNK»

3. УСТАНАВИТЕ «Blynk by volodysmr shymansky»

ШАГ 5. ТЕПЕРЬ ПЕРЕЙДИТЕ В TOOLS=>BOARD=>NODEMCU V1.0 (ESP8266-12E)

ТЕПЕРЬ ПЕРЕЙДИТЕ В TOOLS=>PROGRAMMER=.ARDUINO ISP

ШАГ6. ЗАГРУЗИТЬ ЭТОТ (https://github.com/stevenchanti/P.STEVEN-LYLE-JYOTHI/blob/master/NODEMCU_ESP8266-12E.ino) КОД НА ВАШNODEMCU

ВАМ НУЖНО ИЗМЕНИТЬ НЕКОТОРЫЕ ВЕЩИ В КОДЕ, КАК SSID И ПАРОЛЬ ВАШЕЙ СЕТИ И ВСТАВЬТЕ ВАШУ АУТЕНТИФИКАЦИЮ, КОТОРЫЙ ВЫ ПОЛУЧИЛИ В EMAIL

Шаг 4: СХЕМА

Перевод статьи «NODEMCU 1.0 (ESP8266) CONTROLLED RELAY USING BLYNK (OVER THE WEB)»

Источник

Blynk — интернет пульт для ваших ардуино устройств

Здравствуйте! У нас есть курс по управлению Arduino из телеграм чата . Много человек пишет, что api телеграма забанено, поэтому сделаем умный дом на Blynk . В этой статье я предлагаю сделать умный дом на той же плате, но с другим ПО. При помощи blynk можно быстро и почти без программирования сделать красивый интерфейс для управления домом. Мы рассмотрим вывод с пинов nodemcu при помощи разных виджетов.

Установка ESP8266 пакета понадобится нам для работы с NodeMCU в Arduino IDE.

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

  1. Запустите среду разработки – Arduino IDE
  2. Откройте настройки
  3. В поле «Дополнительные ссылки для Менеджера плат» (меню Файл) вставьте ссылку на esp8266 пакет http://arduino.esp8266.com/versions/2.4.2/package_esp8266com_index.json
  4. Перейдите в Инструменты – Плата – Менеджер плат
  5. Прокрутите вниз. Найдите esp Выберите версию 2.3.0. Установите.
  6. В Инструменты – Плата выберите nodemcu. Остальные настройки платы выставляются автоматически.
Читайте также:  Могут ли не работать дворники из за реле

Установите мобильное приложение blynk.

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

Создайте новый аккаунт в приложении blynk.

Создайте новый проект. Выберите плату и тип подключения.

После создан ия, auth token придет вам на email.

Источник

Ещё одна система автополива растений с использованием ESP8266 и Blynk

Однажды, когда я отдыхал в компании друзей в студенческом лагере МИФИ, один из них рассказал мне, что недавно решил попробовать посадить на участке клубнику. Купил горшки, нарыл где-то почву, подвел шланги для полива. И все бы ничего, хозяин спит — клубника растёт, да только приходится стабильно раз в неделю или даже чаще ездить на дачу, дабы растения не засохли без воды.

Вспомнив про завалявшуюся в комоде парочку Arduino, а также давнее желание осуществить нечто большее, чем просто моргание светодиодами, я сразу решил взяться за эту задачу и сделать в этот раз, по возможности, всё до конца.

В качестве интерфейса управления системой было решено предусмотреть ручное управление «с кнопки», а также реализовать удаленное управление через Интернет. В качестве головного контроллера был выбран Arduino Mega, так как к нему легко подключается шилд с lcd-экраном и кнопками, а также имеет достаточное для данной задачи количество памяти и GPIO.

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

Несмотря на то, что ESP8266 появился на горизонте DIY-сообщества совсем недавно, в рунете уже активно развивается ресурс разработчиков на этом чипе, где Вы всегда можете поискать ответ на интересующий Вас вопрос, найти пример подключения конкретной ESP платы или попросить помочь с возникшей проблемой.

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

Для контроля текущей влажности почвы был заказан стандартный датчик с Ebay.

Для отображения и ввода информации было решено использовать LCD Keypad shield, представляющий собой электронный модуль с LCD экраном и 6-ю кнопками, подключаемыми к одному аналоговому входу.

В качестве устройства контроля подачи воды был выбран 12-вольтовый механизированный кран с 2 проводами, открытие-закрытие которого осуществляется сменой знаков подаваемого напряжения. Поэтому дополнительно к крану был заказан 4-канальный реле-модуль (два реле меняют подаваемую полярность, один отвечает за подачу напряжения, еще один оставлен про запас).

В качестве ESP8266 на Ebay была заказана простейшая его версию – ESP-01. Главное – помнить, что ESP8266 питается исключительно от 3,3 В, о чём нужно позаботиться заранее.

Список необходимого оборудования:

  • Механизированный кран
  • Arduino Mega
  • WiFi модуль (ESP8266)
  • 4-х канальное реле
  • Датчики влажности почвы
  • LCD дисплей с кнопками

Итоговая стоимость (без учета стоимости всего необходимого для пайки, сборки, а также блока питания): $61,01. Основной вклад в конечную стоимость моей системы внесли механизированный кран ($23,32) и Arduino Mega 2560 official ($26,80).

Функционал системы

Немного поразмыслив, я решил, что система автополива должна иметь возможность функционировать в трех следующих режимах:

  • Ручной («с кнопки»). В этом режиме пользователь сам принимает решение о времени запуска полива на основе предоставляемой ему информации с датчика влажности почвы или основываясь на личном опыте;
  • Режим «по расписанию». Пользователь задает лишь параметры полива по расписанию (периодичность, длительность), после чего система сама осуществляет полив по выбранным установкам;
  • Режим «по сенсору». Полив осуществляется автоматически при достижении заданного порога влажности. Пользователю необходимо только выставить пороговое значение влажности и длительность полива;
  • Удаленный (со смартфона или компьютера). Включается в себя возможность удаленного управления системой с использованием логики любого из трех вышеперечисленных режимов.

Реализацию такого функционала трудно представить без простейшего меню, навигация по которому будет осуществляться с помощью кнопок LCD-Keypad шилда. Про реализацию меню на Arduino можно прочитать, например, тут.

Blynk

Размышляя над реализацией удаленного управления поливом, я наткнулся на интересный проект Blynk, сбор средств на реализацию которого был запущен на Kickstarter 16 января 2015 г.

За месяц проект собрал $49,235 вместо $10,000, что, по всей видимости, отражает огромный интерес к такого рода проектам со стороны мирового гик-сообщества.

Основная цель Blynk – создание доступной платформы для беспроводного управления самодельными электронными устройствами со смартфона. По задумке авторов, выход в Интернет не является необходимым условием – Blynk Server можно будет скачать и развернуть в домашней сети, получив полную автономность в рамках Вашего дома.

Полный список поддерживаемых платформ (среди которых, безусловно, есть Arduino, Raspberry PI и Intel Edison), на которые планируется портировать Blynk, находится тут.

Схематично принцип работы Blynk представлен на следующем рисунке:

В списке интерфейсных возможностей программы для смартфона по управлению удаленным устройством и отображению получаемой от него информации анонсировано широкое разнообразие элементов («widgets»). Выделим основные из них:

  • Кнопки;
  • Слайдеры;
  • Одноосные и двухосные джойстики;
  • Управление с помощью гироскопа и акселерометров телефона;
  • Различного рода ручки управления;
  • Графики;
  • Стрелочные индикаторы;
  • Всплывающие уведомления.
Читайте также:  Где находится реле стартера ваз 2114 супер авто

Полный перечень элементов можно найти на странице проекта Blynk на Kickstarter.

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

Техническая реализация

Принципиальная схема устройства:

Как видно из представленной схемы, обмен информацией между Arduino и ESP8266 будет осуществляться посредством UART. Чтобы не испытывать проблем при перепрошивке контроллера, Wi-Fi модуль подключим к контактам D2, D3, организовав на этих ножках аппаратный UART (Serial3) и установив скорость в 11520 бод.

У внимательного читателя должен возникнуть логичный вопрос – каким образом будут общаться работающий на 5-вольтовой логике Arduino и 3,3-вольтовый ESP8266? Изучив этот вопрос в Интернете, я пришел к выводу, что большинство не придаёт этой проблеме абсолютно никакого значения (как выяснилось позже – не зря), напрямую соединяя соответствующие ножки этих двух плат. Лишь в нескольких статьях было предложено использовать простейший делитель напряжения, либо специально разработанные преобразователи. Преобразователя у меня естественно не было, поэтому сначала была предпринята попытка реализовать общение с помощью делителя, однако она не привела к каким-либо результатам, и я присоединился к упомянутому выше множеству закрывающих глаза на описанную проблему (благо все заработало и без согласования логических уровней).

Несколько слов о питании ESP8266

Как уже упоминалось во многих туториалах, для нормальной работы ESP необходимо стабильное питание в диапазоне 3,0-3,6 Вольт. Для этого можно использовать различные линейные преобразователи, например, популярный сегодня AMS1117 3.3. В даташите на AMS1117 указано, что входящее напряжение может достигать 15 В. Однако для стабильной работы в режиме выходного тока порядка 1 А рекомендуется понижать входное напряжение (на практике достаточно 5-6 В). По своему опыту скажу, что при подключении преобразователя к источнику 12 В начинается активный нагрев AMS, что быстро приводит к уменьшению выдаваемого напряжения и, как следствие, перезагрузке ESP8266.

Настройка ESP8266

Взаимодействие Arduino и ESP8266 при использовании Blynk можно реализовать двумя различными способами:

  • Использовать «родную» для ESP8266 AT-прошивку, а всю логику управления передать Arduino (т.н. режим «ESP8266 as shield»);
  • Залить в ESP написанный в Arduino IDE скетч с библиотекой Blynk, тем самым передав модулю управление данными, передающимися в мобильное приложение, а Arduino использовать для обработки команд ручного управления, данных с датчика влажности и открытия/закрытия крана (т.н. режим «ESP8266 as standalone»).

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

Для осуществления управления с помощью Blynk необходимо умение залить нужную прошивку на ESP8266. В нашем случае будет использована версия AT-прошивки v0.22 SDK v1.0.0.

Для прошивки плат ESP8266 необходим USB-TTL преобразователь (например, такой), однако, можно использовать и Arduino, замкнув на нем ноги RST и GND между собой, и подключив RX Wi-Fi модуля к RX ноге Arduino, аналогично ТX к TX. Далее переводим ESP8266 в режим перепрошивки (для этого замыкаем выход GPIO0 на землю), и с помощью утилиты XTCom Util заливаем прошивку, как описано здесь. Остаётся только увеличить скорость UART до 115200 бод с помощью AT-команды AT+UART_DEF=115200,8,1,0,0, после чего настройка Wi-Fi модуля будет завершена.

Скетч для Arduino

Основной библиотекой для работы с Blynk под Arduino IDE является библиотека BlynkSimpleEsp8266.h. Рассмотрим основные ее функции.

1) Blynk.begin(auth, «ssid», «pass»)
Как Вы уже догадались, функция получает параметры подключения к Wi-Fi точке – ее SSID и пароль, а также auth token нашего устройства для подключения к Blynk server.

Важно! Процесс подключения к Blynk server начинается только после того, как в программе будет впервые вызвана любая из следующих функций: Blynk.run() или Blynk.connect().

Для отключения/подключения к Blynk server используются функции Blynk.disconnect() и Blynk.connect(), возвращающие результат в булевом типе. Для установления подключения (таймаута в секундах) используется Blynk.connect(s) (по умолчанию таймаут установлен в 30 с).

2) Blynk.run()
Основная функция для синхронизации устройства с Blynk server и получения команд со смартфона. Обычно используется в цикле loop. Кроме того, эта функция позволяет управлять входами и выходами ESP платы (в режиме «Standalone»), не используя нигде в коде такие функции, как digitalRead, digitalWrite, analogRead, analogWrite. Достаточно в приложении на смартфоне добавить на экран управления нужные элементы и соотнести их с нужными GPIO ESP8266.

3) Работа с виртуальными контактами («Virtual Pins»)
Одной из особенностей Blynk является использование виртуальных контактов. Под этим термином понимается логический канал для передачи различной информации между мобильным приложением и устройством, будь то булевы переменные, численные величины (integer или long) или текстовые данные в виде строки. Виртуальные контакты не имеют прямой связи с выводами устройства и используются преимущественно для взаимодействия с библиотеками периферийных модулей (LCD, сервоприводы и пр.) или интерфейсом мобильного приложения.

В коде скетча обработка обращения к виртуальному контакту с номером n происходит с помощью блоков BLYNK_READ(Vn) <…>и BLYNK_WRITE(Vn)<…>. Внутри фигурных скобок указывается код обработки обращения к виртуальному контакту. Например, если виджет приложения запросит по виртуальному контакту №2 значение влажности почвы для отображения в виде графика, то нам потребуется в скетче прописать что-то наподобие:

Читайте также:  Реле звукового сигнала ниссан кашкай j10

Аналогично можно считать параметр, отправляемый, например, через виртуальный контакт №9 от пользователя приложения Blynk:

Здесь используется преобразование входной переменной в целочисленное значение с помощью param.asInt(). Также допустимы преобразования param.asStr() и param.asDouble().

Важно! Процедуры BLYNK_READ/BLYNK_WRITE должны исполняться как можно быстрее, дабы устройство успевало обрабатывать все входящие от приложения запросы. Поэтому настоятельно не рекомендуется использовать функции sllep/delay внутри таких подпрограмм.

Более подробную информацию по функционалу Blynk можно найти на странице github разработчика в папке examples или на странице docs.

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

  • Выбор режима работы системы: ручной, по сенсору, по расписанию;
  • Отображение влажности почвы, полученной от системы и вывод исторических данных;
  • Обмен информацией через элемент приложения «терминал».

Я постарался прокомментировать каждый кусок кода, отвечающий за ту или иную функцию системы, поэтому подробно на коде программы останавливаться не будем. Отмечу лишь, что для удобства пользования все внесенные пользователем настройки записываются в энергонезависимую память Arduino (EEPROM).

Настройка мобильного приложения Blynk

Остался последний шаг – настройка мобильного приложения. В моем случае будут использоваться следующие элементы:

  • 4 световых индикатора «led» (Virtual Pins 1, 29, 30, 31);
  • 2 кнопки (Virtual Pins 2, 3);
  • Терминал для обмена информацией (Virtual Pin 4);
  • Числовой индикатор «Value Display» (Virtual Pin 8);
  • График с возможностью отображения исторических данных «History Graph» (Virtual Pin 8);
  • Виджет для активации работы с почтой («Email»);
  • Виджет для активации всплывающих уведомлений («Push»).

После установки мобильного приложения Blynk необходимо зарегистрироваться и выбрать устройство, которым необходимо управлять (в нашем случае это ESP8266). Далее, чтобы не потерять, отправляем себе на почту уникальный auth token, который используется в скетче для аутентификации на серверах Blynk. Ниже – скриншоты, иллюстрирующие настройку приложения.

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

Осталось на форму приложения добавить элементы управления и произвести их настройку. Некоторые из имеющихся на момент написания статьи виджетов представлены ниже:

Для управления работой системы добавим на форму 2 кнопки: одна будет отвечать за выбор режима работы, вторая — за запуск полива в ручном режиме. Отображение состояния системы на текущий момент оформим с помощью четырех led-индикаторов. Один индикатор будет загораться во время осуществления полива, остальные три необходимы для отображения текущего режима.

Осталось выбрать цвета элементов, добавить подписи и привязать их к нужным виртуальным контактам.

Для отображения динамики влажности почвы добавим на форму график с возможностью отображения исторических данных («History Graph»). Текущее значение влажности будем отображать на числовом дисплее («Value Display»).

Для удобства удаленной настройки параметров системы, а также получения более полной информации о текущем состоянии добавим в приложение терминал. А для получения уведомлений на почту и телефон необходимо поместить на форму еще и элементы «Push» и «Email».

Осталось разместить на форме все описанные выше виджеты и мы получим что-то наподобие этого:

Результат

Ниже — несколько фотографий системы в текущем состоянии и видео работы автополива и Blynk.
Сразу оговорюсь, что подключать механизированный кран в квартире и подводить водоснабжение к горшку с цветами я не стал, да и острой необходимости нет — в моменты тестирования системы процесс полива (при открытии крана) успешно эмулируется женой и обычной лейкой.

Вместо заключения

Подводя итоги создания системы автополива с использованием Blynk можно сказать следующее:

1. Сам по себе сервис Blynk является очень удобным и простым для освоения инструментом, который, благодаря обилию поддерживаемых плат и устройств, легко интегрируется практически в любое устройство. Вкупе с низкой ценой Wi-Fi модуля ESP8266 указанные преимущества позволяют осуществить добавление удаленного управления в конкретный проект с наименьшими усилиями.
Минусами использования такого решения, безусловно, является меньшая гибкость в настройки системы под себя и зависимость от разработчиков приложения, что, однако, нисколько не снижает его заслуг при использовании в небольших DIY-проектах.

2. Двумя основными недостатками описанной выше реализации системы автоматического полива являются её стоимость и низкое качество используемого датчика влажности почвы.

Первый недостаток обусловлен, как уже упоминалось выше, высокой стоимостью электромагнитного крана и официальной платы Arduino Mega. Однако её можно существенно снизить, используя, например, Arduino-аналоги или реализуя всю электронную часть на другом подходящем МК. Кран, к сожалению, существенно дешевле найти не удалось, да и цели такой передо мной не стояло.
Что касается датчика влажности, то для увеличения его срока службы и уменьшения продуктов электролиза между его контактами, во-первых, необходимо подавать на него напряжение только непосредственно перед измерением влажности (что и реализовано в моей системе), а, во-вторых, лучше заменить его либо на графитовые стержни, либо использовать контакты из нержавеющей стали.

В ближайшем будущем планируется собрать электронную часть воедино и поместить ее в какой-нибудь достойный корпус и, надеюсь, наконец установить всё на даче.

Источник

Оцените статью
Adblock
detector