Шановні друзі, 10.05.2021р. наш магазин працює з 10:00 до 19:00.
В зв'язку з карантином вхід в офіс можливий лише в захисній масці. Дякуємо за розуміння.
(098) 067-12-26 Київстар (098) 067-12-26   Київстар
(066) 142-24-48 Vodafone (066) 142-24-48   Vodafone
(098) 067-12-26 Lifecell (063) 642-36-59   Lifecell
 info@arduino.ua
Графік роботи магазину:
Пн-Пт: 9.00 - 19.00
Сб: 10.00 - 19.00
Нд: вихідний
м. Київ, вул. Васильківська, 30
ст.м. "Васильківська"
Каталог

Машинка з дистанційним керуванням з Raspberry Pi

В золотий вік штучного інтелекту і технологій, нова область набирає обертів: групова робототехніка. Групові роботи мають безліч застосувань, таких як виконання завдань, пов'язаних з автоматикою, автономною навігацією або складанням карт на місцевостях, до

Универсальный ESP

Собрав достаточно самоделок на ESP и Arduino платах включая (термостат для террариумов, погодную станцию c бегущей строкой, клон Гайвер-лампы, 4WD робота и тд), мы столкнулись с повторением в каждом из проектов типичных вещей. А именно, функций,

Порівняльні характеристики міні-комп'ютерів сімейства Raspberry Pi

Порівняльні характеристики міні-комп'ютерів сімейства Raspberry Pi.

Реализация маршрутизатора на одноплатном компьютере Orange Pi R1

В данной статье я кратко опишу, как сконфигурировать маршрутизатор основанный на одноплатном компьютере под управлением полноценной операционной системы GNU/Linux. В качестве основной аппаратной платформы будет использоваться Orange Pi

Пульсоксиметр MAX30102: устраняем ошибку платы модуля

Рассказываю, как проверить плату модуля пульсоксиметра MAX30102 и при необходимости устранить ошибку платы. Это новая версия платы, на которую устанавливают как снятый с производства сенсор MAX30100 так и относительно новый MAX30102 потому что чипы
Напиши статтю і отримай знижку! Наши партнеры https://hacklab.kiev.ua/

Универсальный ESP

2021-04-21

Всі статті →

Собрав достаточно самоделок на ESP и Arduino платах (данный проект https://github.com/Polinden/AlmightyEsp и соседи по репозиториям), включая:

  • термостат для террариумов;
  • погодную станцию c бегущей строкой;
  • клон Гайвер-лампы;
  • 4WD робота итд,

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

Для воплощения шаблона мы взяли простой, но столь полезный проект - реле на основе ESP модуля. Оба варианта подойдут:

Мы закупили большой запас таких устройств на Ali (одно устройство по цене хот-дога), и задача состояла в том, чтобы штамповать на их основе проекты (смарт-релешки) с минимальными усилиями.

Под смарт-реле мы понимаем то, что к определенным разъемам плат ESP будут подключены реальные реле для управления нагрузкой, например:

Ваша задача - разъемами или паяльником подключить проводки от реле к правильным ножкам ESP (масса обучалок Вам в помощь) и записать на склеротичке ряд цифр - к какой ножке (GPIO) подключено каждое реле.

Все дальнейшее должно стать простым, как угол дома.

В качестве реле минимальной стоимости подойдет и это:

Плата уже подключена на заводе к GPIO. На наш взгляд, это - самая дешевая, но не самая тупая смарт-розетка (конечно, добавьте корпус и БП на 5В). Но для чего-то покруче, можете взять несколько любых совместимых реле и подключить их ко множеству подходящих GPIO. Вы получите мега-реле без проблем.


С механической частью мы закончили. А что дальше? Возникает вопрос, какие же минимальные функции Вам нужны почти в любом подобном проекте.

Вот они:

  • возможность подключиться к новому Wi-Fi, куда бы Вас не занесло без перепрограммирования
  • предоставление устройством интерфейса для настройки такого беспроводного подключения
  • внутренний WEB сервер (портал устройства), который встречает Вас, если Вы зайдете в браузере на его страничку (введете IP устройства)
  • API для того, чтобы включить или выключить реле вручную или по расписанию из браузера или интернет устройств
  • так как само устройство не является часами, то время оно должно получать с сервера NTP
  • устройство должно быть многопользовательским
  • любой пользователь должен видеть на WEB страничке устройства его актуальное состояние, то есть, какие реле и расписания подключены или выключены
  • устройство способно принимать и отправлять сообщения на сервер MQTT с целью полноценной интеграции в Smart-Home и IoT систему (смотрите Комментарий 1 ниже)
  • устройство может само получать и отправлять информацию, используя API сетевых устройств, например отправлять/получать данные с REST-сервисов, например загружать прогноз погоды для своих целей
  • наконец, устройство должно в последующем обновляться "по воздуху" (смотрите Комментарий 2 ниже).

Комментарии:

1.Мы боремся за минимальную цену и сложность устройства. Если не обвешивать ESP плату, то сама она не может быть мега-мозгом Вашего дома. Поэтому, создавать на ней сложные расписания на неделю (для теплиц, коттеджей итп.) или сложную логику не стоит. Правильный путь - сложные расписания должно храниться в интеграторе, управляющем всем Smart-Home и передающем задачи "своре" устройств через MQTT брокера. В такой системе возможно по взмаху дирижера (интегратора) своей дирижерской палочкой (MQTT) играть на всех устройствах симфонию рассвета: включая чайники, музыку, поднимая шторы и прогревая авто ранним утром...

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

И вот, получился наш небольшой проект (пока-лишь тестовая версия).Благодаря которому Вы сможете собрав устройство:

  • скачать себе данный архив программы (скетча для заливки а плату);
  • применить незначительные настройки, указав, в частности:
    • Имя устройства (используется для коммуникаций);
    • Пароль к обновлению "по воздуху" (aka "OTA");
    • Число и список пинов (GPIO), к которым Вы подключили реле (одно или много);
    • NTP сервер и Ваш часовой пояс (TIMESHIFT в секундах);
    • Адрес MQTT сервера (все это в файле settings.h);
    • Количество реле (в HTML файле index.html.h).
settings.h index.html.h

#define DEVNAME "MishRelay"

#define OTAPAS "admin"

#define PINS_NUM 2

#define PINS_AR {5,4}

#define NTPSERV "europe.pool.ntp.org"

#define TIMESHIFT 7200

/*

NUMBERS OF RELAYS

*/

var NumRelays=2;

Итог

Собственно и все. Выбирайте в Arduino IDE опции заливки программы (следуя обучалкам, например, от уважаемого А.Гайвера https://alexgyver.ru/lessons/arduino-ide/) и загружайте ее по проводам в плату (только в этот раз).


Не отключая проводов проверьте работу. Для этого загляните в доступные сети WiFi с телефона (например). Там появится имя Вашего устройства. Соединившись с ним, как с роутером, Вы "упадете" в страничку конфигурации подключений. В ней Вы настроите Ваше устройство для работы домашней сетью WiFi. Подробности на странице используемой нами библиотеки: https://github.com/khoih-prog/ESPAsync_WiFiManager

После этого устройство должно нормально соединиться с Вашим домашним интернетом и в Arduino IDE (монитор порта) Вам придут строки текста о предоставленном ему IP.

Заходите по этому IP на страничку устройства и видите, что-то подобное:

Это - элементарный собственный WEB-портал устройства и минималистичные функции расписаний. Так как более подвинутые и логически обусловленные действия лучше реализовать в интеграторе, как мы и советовали. Масса зрелых проектов в помощь:

Располагайте Ваше устройство в нужном месте. Функция обновления по воздуху позволит апгрейдить его когда будет нужно, без демонтажа. Подробности на страничке используемой нами библиотеки https://github.com/jandrassy/ArduinoOTA.

При надлежащем опыте новое устройство (приехавшее с Ali) за 15 минут превращается в готовое многофункциональное реле для умного дома. Напомним, что кроме механических функций (вкл/выкл) устройство может доставать и отправлять в интернет информацию, например, путем REST запросов. Мы оставили эту возможность в виде helper-класса ReqestSHelper. Тут уж Вам придется допрограммировать самостоятельно, так как мы не в курсе Ваших желаний. Вы можете, например, получать из сети информацию о времени рассвета и Ваше реле может реагировать в зависимости от этого. Подобные примеры есть других наших проектах.

А вот поддержка MQTT включена сразу без усилий для Вас. Реле после соединения с MQTT сервером начнет информировании другие IoT-устройства о своем состоянии и получать от брокера MQTT (мы пользуемся https://mosquitto.org) команды включения-выключения. Если данная функция Вам не нужна, просто закоментируйте строку #include "MQTT.h" (файл Pattern_ESP.ino). Но если все оставить, как есть, то:

  • при старте нового устройства Вы, одновременно с настройкой пароля к WiFi, можете указать ip адрес MQTT сервера
  • если этого не сделать, то поддержка MQTT будет выключена
  • если соединение с брокером MQTT установится, Ваше реле будет посылать сообщения о включении/выключении в тему "erelay1"
  • устройство подписывается на тему "erelay2" и реагирует на сообщения в формате "n=on" / "n=off" (где n-номер реле) включая и выключая n-ое реле
  • названия тем, как и другие настройки соединения находятся в файле settings.h

ВНИМАНИЕ

Если Вы хотите сбросить настройки и обнулиться, чтобы при старте заново открылся конфигурационный портал, то просто нажмите на reset кнопку на плате ESP два раза с паузой не менее 2 и не более 20секунд. После этого реле снова заработает, как WiFi сеть, подключившись к которой Вы попадете на страничку конфигурации и тд.

ИТАК...

  • мы получили "жирное реле", в котором остались еще ресурсы для прочих задач (типа опроса датчиков)
  • реле синхронизировано с точным временем по сети
  • реле управляется со смартфона (вообще любого браузера)
  • оно может управляется по сети REST запросами (можно натянуть любое web-лицо)
  • устройство само публикует свое состояние в MQTT брокере и подписано на публикацию управляющих команд, то есть реле может управляться другими IoT устройствами
  • настройка соединения с WiFi выполняется интуитивно просто и может быть сброшена кнопкой без перепрошивки
  • если все же нужна перепрошивка ПО, то оно выполняется "по воздуху" без отключения устройства

Желаем нашему реле развиваться и размножаться!

Ваша оцінка статті:

Відмінно
Добре
Задовільно
Погано
Дуже погано

Загальна оцінка:

Оцінка "Универсальный ESP"
5 з 5
зроблена на основі 1 оцінки 1 клієнтських відгуку.

Дякуємо Вам за звернення! Ваш відгук з'явиться після модерації адміністратором.
Миша
23.04.2021 09:54:35
Повторили, работает отлично
оплата картами Visa і MasterCard