- Управление нагрузкой на NodeMCU с помощью мобильного приложения
- Теперь давайте перейдем к созданию приложения:
- Wi-Fi реле на NodeMCU. Управление Android приложением
- Спасибо за внимание!
- Контролируем устройства со смартфона голосом или кнопками
- О проекте
- Комплектующие
- Описание
- Подготовка программного обеспечения
- Приложение для смартфона
- Собираем проект
- Итоговый результат
Управление нагрузкой на NodeMCU с помощью мобильного приложения
15 августа, 2017
В данной статье показан пример использования платы NodeMCU. А именно управление нагрузкой с помощью релейного модуля из 4 реле и приложения на мобильный телефон андроид.
Подключаем все контакты по схеме
После подключения всех компонентов необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.
Ссылка на скетч: https://yadi.sk/d/XU-WI08r3M32gF
Сначала в этом скетче нужно изменить
Затем в строчке меняем ip адрес на свой:
Где первое это ip адрес устройства, 2 это шлюз, 3 это маска подсети, 4 это адрес dhcp сервера
После заливки скетча, переходя по адресу http://192.168.1.131/1/0 и http://192.168.1.131/1/1 мы будем включать и выключать реле, и следовательно меняя 1 на 2,3,4 мы будем управлять другими реле, например http://192.168.1.131/3/1
Теперь давайте перейдем к созданию приложения:
перейдя по ссылке: http://ai2.appinventor.mit.edu и залогинившись, мы поподаем в программу создания приложений для андроид.
Мое приложение выглядит так:
Тяжело здесь описать, что нужно добавлять, постараюсь перечислить что нужно накидать на экран.
Для управления 4мя реле нам нужно:
Из вкладки слева User interface накидать на экран 8 Button, для надписей над кнопками нам нужно 4 Label
Из вкладки слева Connectivity Добавить блок Web
Для установки двух кнопок в одной плоскости нам понадобится блок HorizontalArrangement в вкладке слева Layout
Для точечной настройки каждого добавленного блока, нужно выбрать тот блок который мы хотим отредактировать справа в вкладке Components
И в вкладке справа Properies раскроются все настройки которые применимы к этому объекту.
Общее окно выглядит вот так:
После косметических настроек перейдем в правом верхнем углу во вкладку Blocks
Здесь будем программировать с помощью блок-схем.
Для начала в вкладке слева Blocks выберем первую кнопку с которой будем работать и выберем блок: when Button1 . Click
Далее в тойже вкладке Blocks нажмем на Web и почти в самом низу выберем блок set Web1. Url to
и добавим его к when Button1 . Click
Далее перейдем в туже вкладку Blocks далее Text и выберем самый первый блок который выглядит вот так ” ” присоединим его к et Web1. Url to и напишем в нем адрес для включения реле “http://192.168.1.131/1/0”
Далее в тойже вкладке Blocks нажмем на Web выберем пурпурного цвета блок call Web1. Get и присоединим его к when Button1 . Click
На этом настройка кнопки закончена, такие же действия нужно проделать со всеми кнопками и должно получиться вот так:
Само приложение можно скачать по ссылке:https://yadi.sk/d/BY4kEIYQ3M36LL
Исходники можно посмотреть по этой ссылке: https://yadi.sk/d/ehabE3C_3M36Yo по этой ссылке скачается файл с расширением .aia и его можно добавить в MIT app invertor и посмотреть полностью из чего состоит программа.
Ну а кому лень читать и интересно смотреть видео:
Источник
Wi-Fi реле на NodeMCU. Управление Android приложением
В предыдущем проекте я уже рассказывал как можно управлять реле по Wi-Fi. Но использовать сторонне приложение для управления своими проектами не дальновидно. И нет перспективно. Поэтому я решил написать пару Android приложения для своих новых проектов на ES8266 это просто изыскания для проектирования.
Посмотрел среды разработки под Android и мне понравились:
1. Android Studio
2. MIT App Inventor
Так как я не писал Android приложения, разобраться с Android Studio потребует достаточно большое количество времени. И для вас повторить мои проекты будет гораздо сложнее. Поэтому я решил пойти по самому легкому пути и написал приложение на MIT App Inventor.
Дизайн моего первого Android приложения достаточно простое, но в нем есть пару функций которых не хватало в положении из предыдущего проекта.
Первое. В приложении мы можем указать IP устройства. И нам не нужно постоянно его прописывать в коде NodeMCU.
Во-вторых в приложении есть обратная связь . При включении или выключении мы видим включилось или нет устройства. Так же если вы находитесь в другом помещении, вы всегда можете посмотреть работает или нет устройство. Это достаточно удобно.
Программа для NodeMCU берем из прошлого проекта без изменений. Сделаем дизайн приложения в MIT App Inventor.
Элементы я не стал переименовывать, чтобы было понятнее и проще разобраться. Блоки с русским названием добавлял уже после проверки и тестировании. Они сделаны для лучшего расположения основных элементов. Конечно это мой косяк. Переделывать не стал. Постараюсь в следующем проекте чтобы все названия были на английском языке.
Набросаем код блоками и у нас получиться вот что.
Мы обрабатываем нажатие кнопки Button1. Зеленой блок Set отправляет заброс в веб обработчик Web1. Блок Join собирает нашу ссылку из 3 частей. Первая и третья части это просто текстовые поля. Поле TextBox1 берет параметры из поля ввода. В него мы указываем IP адрес подключения.
Кнопка Button2 работает аналогично Button1. Только она отправляет сигнал на отключение реле.
Блок кода Web1 отправляет Get запрос который мы сформировали с помощью кнопки.
Внутри первого блока условия проверяем код ответа. Если мы получили код ответа 200 (нет ошибок), выполняем следующее условие. Иначе выводим ошибку.
Второе условие проверяет Содержимое ответа. Содержимое мы сформировали сами в программа NodeMCU.
On — реле включено
OFF — реле выключено.
В текстовое поле Label1 выводим состояние реле.
Конечно данной программе далеко до идеала. Но я планирую за пару уроков ее улучшить и поделиться полученным результатом с вами
Понравилась статья пишите в комментарии.Подписывайтесь на мой канал на Youtube и вступайте в группы в Вконтакте и Facebook.
Спасибо за внимание!
Понравилась статья? Поделитесь ею с друзьями:
Источник
Контролируем устройства со смартфона голосом или кнопками
В этом уроке разберемся как управлять устройствами с помощью голосовых команд, приложения на смартфоне и NodeMCU.
О проекте
Управление устройствами с помощью голосовых команд в настоящее время не является чем-то особенным. Вы можете купить контроллер у Google или Amazon, которые предоставляют множество функций и возможностей. Но сделать что-то свое — обычно интереснее и дешевле.
В этом уроке разберемся как управлять устройствами с помощью голоса, приложения на смартфоне и NodeMCU.
По сути, вам нужно будет запустить приложение Android на смартфоне, то даст нам возможность управлять другими устройствами с его помощью. В этом приложении вы сможете включать или выключать устройства с помощью кнопок и/или голосовых команд.
Комплектующие
Комплектующие, которые вам понадобятся, перечислены ниже. Все это можно купить на Aliexpress или в любом другом интернет-магазине.
- NodeMcu V3 ESP8266 китайская версия LoL1n v3.
- Релейный модуль с 8 реле (или отдельными релейными модулями).
- Смартфон на Android.
Также нам пригодятся сопутствующие детали — вентилятор, лампочки и т.п., которые мы будем включать или выключать со смартфона через приложение кнопками или голосом.
Описание
Если вы знакомы с Arduino (или NodeMCU) и реле, то вы можете пропустить этот шаг. Для тех, кто не в теме, мы постараемся объяснить вкратце как эти вещи работают.
Во-первых, NodeMCU можно считать микроконтроллером с поддержкой Wi-Fi благодаря чипу ESP8266. На следующем шаге мы покажем вам как мы можем использовать Arduino IDE для работы с NodeMCU.
Во-вторых, релейный модуль используется для отделения управляющего сигнала низкого напряжения постоянного тока от NodeMCU и вашей линии переменного тока. Для каждого реле есть 3 выходных контакта. Обычно COM-контакт подключается к NC (нормально замкнутому) контакту. Когда подается управляющий сигнал, катушка реле переворачивается, так что контакт COM подключается к контакту NO.
На релейном модуле опто-транзисторы используются для защиты NodeMCU от нежелательного перепада от линии переменного тока при переключении реле. Сигнал LOW входа на модуле реле активирует соответствующее реле. И наоборот, логика HIGH отключит реле.
Вы должны убрать перемычку между VCC и JDVCC на плате реле, чтобы отделить источник питания.
Подготовка программного обеспечения
NodeMCU в данном проекте из Китая, поэтому используется USB-чип CH341. Нужно установить драйвер для CH341. Драйвер вы сможете скачать ниже, распаковать и установить на свой компьютер.
Далее, для использования с Arduino IDE нам нужно добавить библиотеку плат. Откройте Arduino IDE:
- Инструменты -> Плата -> Менеджер (Tools —> Board —> Board manager).
- Найдите «esp8266 by ESP8266 Community» и установите.
- Файлы -> Настройки (Files —> Preferences).
- Заполните поле Additional Board Manager URL:
http://arduino.esp8266.com/stable/package_esp8266com_index.json - Инструменты -> Плата -> NodeMCU 1.0 (Tools —> Board —> NodeMCU 1.0).
В прикрепленном файле Arduino измените параметры соответствующим образом:
- SSID к вашему Wi-Fi
- пароль к вашему Wi-Fi
Вы также можете изменить контрольный пин на NodeMCU.
Скачать код проекта:
Приложение для смартфона
Мы используем MIT App Inventor (ссылка) для создания приложения для телефона на Android. Вы можете зарегистрироваться бесплатно с помощью учетной записи Gmail. Если вы просто хотите использовать приложение, скачайте zip-файл, разархивируйте и установите home3.apk на свой телефон.
Команда для каждого выходного контакта очень проста:
- включить красный / выключить красный
- включить зеленый / выключить зеленый
- включить синий / выключить синий
- включить желтый / выключить желтый
- включить оранжевый / выключить оранжевый
- включить коричневый / выключить коричневый
И если вы хотите изменить команды — войдите в MIT App Inventor и измените home3.aiaas, согласно картинкам ниже:
- Проект -> Импорт проекта (.aia) (Project —> Import project).
- Переключиться на «Блокировать и изменить команду» (lock and modify command).
- После внесения изменений выберите: Build -> App (сохранить .apk).
- Установите ваше приложение
Собираем проект
Как вы можете видеть на картинке, NodeMCU работает с напряжением 3.3В. Так что на борту есть регулятор напряжения. Вы можете включить его через USB-порт для подачи постоянного тока 5 В или подключить VIN-контакт NodeMCU к источнику питания с диапазоном максимум от 6 до 20 В.
На плате реле снимите перемычку между VCC — JDVCC. Поскольку реле 5В, вам необходимо подать на него напряжение 5В или ниже, но не ниже 3,3В. Если нет, реле не будет активировано.
В первом сценарии используется внешний источник питания 5 В. Для работы NodeMCU и всех реле одновременно должно быть не менее 1,5 А.
- Подключите источник питания к JD-VCC и контакту GND на плате реле.
- Подключите источник питания к VIN и GND NodeMCU
- Подключите выходные контакты от NodeMCU к плате реле (D0 D1 D2 D5 D6 D7)
- Подключите 3,3 В NodeMCU к VCC релейной платы (для меня это работает, но в некоторых случаях 3,3 В недостаточно для активации реле; вы можете использовать VIN NodeMCU для VCC платы реле, но разделение питания больше не доступно; это не будет проблемой, если вы используете только реле для управления лампочкой).
Во втором сценарии NodeMCU получает питание через USB-кабель от батареи. Внешний источник питания используется для релейной платы. Вместо 3,3 В вы можете подключить VIN NodeMCU к VCC релейной платы.
Итоговый результат
Откройте приложение, которое вы только что установили на смартфон — Home DL (название можно задавать самому). Вы можете изменить это имя с помощью MIT App Inventor.
-
- Откройте программу в Arduino IDE.
- Измените Wi-Fi ssid и пароль на ваши данные.
- Загрузить её в NodeMCU.
- Откройте Serial Monitor и дождитесь показа значения локального IP, запомните значение.
- Пока приложение на вашем телефоне открыто, нажмите кнопку «Установить IP».
- Запишите IP-адрес в текстовое поле и нажмите «Сохранить».
- Перезапустите приложение.
Теперь вы можете нажать на любую кнопку для управления соответствующими устройствами или нажать на значок динамика и произнести свою команду.
Источник