В предыдущем проекте я уже рассказывал как можно управлять реле по 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.
HTTP.on("/rele", handle_Rele);
...
void handle_Rele() {
String restart = HTTP.arg("status");
if (restart == "1")
{
digitalWrite(RELE, HIGH);
HTTP.send(200, "text/plain", "On");
}
if (restart == "0")
{
digitalWrite(RELE, LOW);
HTTP.send(200, "text/plain", "OFF");
}
}
On - реле включено
OFF - реле выключено.
В текстовое поле Label1 выводим состояние реле.
Конечно данной программе далеко до идеала. Но я планирую за пару уроков ее улучшить и поделиться полученным результатом с вами
Исходники проекта для MIT App Inventor TwoButton.aia
Приложения Android TwoButton.apk
Понравилась статья пишите в комментарии.Подписывайтесь на мой канал на Youtube и вступайте в группы в Вконтакте и Facebook.
Вернуться в раздел: Проекты на NodeMCU, ESP8266, ESP-01 Дата публикации 24 декабря , 2018
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.