Comments 54
Неплохо, но хотелось бы видеть что-сложное. Все визуальные языки/средства показывают красивые способы написать «хелловорлд» но пасуют на реальных задачах.
Вот это — базовая схема станции. Тестировал двое суток. Живёт:)



Сигналы формировал из NodeRed, подписка и управление MQTT с сотового телефона.

Так что надежда есть, что не только «хелло ворлд» будет.

Расскажите это тем, кто написал управление Большим адронным коллайдером на LabVIEW.


Про ПЛК вообще молчу.

Эпично. Плюсанул.
Уже сколько раз пытался освоит подобные графические стреды программирования, например Nodered, но из-за бекграунда программиста все скатывается к коду.
Что то похожее по железу работает, но реле на выходах заменил SSR на 6А.
Как показала эксплуатация, китайские реле подгорают, если нагрузка вообще не реактивная (а с китайскими лампочками та еще лотерея)
Я не осваивал среду в данном случае. Я её написал и запихал в ESP8266. Разумеется, что собственно рисовалка выполняется в браузере. Но все равно — кроме ноутбука ничего для «программирования» не надо.

Лично мне очень нравится NodeRed. Пробовали его? На компе, на мой взгляд это самое лучшее для рисования программ. nodered.org

>>> Пробовали его?
Конечно. Связка Nodered + HomeAssistant = классика.
Как пример, ниже скрин моей типичной «автоматизации», в частности — если в туалете включили свет, но не выключили через 18 минут, его надо погасить и сбросить нотификацию в историю.
Вход и выход логики коннекторы нодред-homeass, а вся логика — в блоках javascript кода.
Наверняка можно было ее блоками накидать, но как писал выше — лень с учетом бекграунда программера.
image
Очень здорово, минималистично и разумно. Интересно, почему не поддержали DS18B20? И еще вопрос — прошивку и трассировку публиковать или продавать не планируете? сейчас у меня модули автоматизации загородного дома живут на другой прошивке, там MQTT без SSL и это начинает понемногу напрягать.
ну тут-то есть как-то. И не только тут, в других проектах встречал
SSL поддержка в ESP8266 есть и работает (я тестировал на www.cloudmqtt.com).
WEB у меня без защиты, потому что нужен только при настройке.
DS18B20 не поддержал, потому что не подумал о нём и в наличии нет:) Будет время — попробую.

Насчет публикации — пока не планирую. Там такая жудь — комментариев нет почти. Надо ещё причёсывать и причёсывать код.

Если продавать — то мне кажется, лучше готовую плату.
Минус в том, что эта прошивка годится только для данной комбинации ног. И ног у ESP-07 (она на нем сделана) больше нет. Да и флеш под завязку. Какой смысл тогда брать просто прошивку, если плата с компонентами обойдется в районе 800-1000 руб? Самому разводить? Так тоже самое и получится.

Если развивать проект коммерчески — то, как мне кажется, надо сделать линейку устройств. У меня есть поддержка прямого обмена между ESP8266 по UDP. Один модуль собирает данные, второй — рулит реле. Как-то так.

Но я совсем не коммерсант. Если дадите пару советов по поводу коммерциализации — то скажу спасибо. Я даже не думал, что кто-то это захочет купить:)
Пока нигде. Комментов нет. код написан в припадке вдохновения. :) имена переменных на уровне — провёл пальцами по клаве. Так что в таком виде оно бесполезно для допилинга.
Эт вы ещё мои поделки не видели. любой код можно привести в порядок. основной функционал в самой веб-оболочке как для меня — сложен а под esp уж какнить допилим.
Вы все-таки выложите рабочую версию прошивки, исходников и схемы платы на гитхаб.
Сразу оговорюсь: я ленив. Очень ленив!
Ничего себе — ленивый! Забахал целую графическую IDE и ленивый…
Я последнее время только ESP32 использую (микропитон на нем есть, например). Также можно посмотреть на бесплатные возможности Mongoose OS — насчёт удаленного обновления прошивки вроде там было
mongoose-os.com/pricing.html
Я один пытался сложить ребус из жирных, заглавных букв в начале каждого абзаца?
Нет там ребуса) Просто я не знал как абзацы отделять. Тут мне на глаза книга попалась детская — 1967 года издания без обложки. Там так было — каждый абзац жирным. Ну я и сделал как там. Простите, что ввёл в заблуждение:)
Она стандартна и проста. Откроете в новой вкладке — будет большая:)

А чем обусловлен выбор управлением реле через биполярные транзисторы, а не через мосфеты?
Только тем, что они были в наличии. Разницы то никакой по сути. Схеме сто лет в обед — отработана на 200%.
Притягивающий резистор R10, правильнее будет ставить до резистора R7 а не после. (ну и по остальным входам соответственно) А то получается при замыкании контактов входа, на ножке контроллера будет ненулевое напряжение 0,3в из-за образовавшегося делителя. А в общем идея проекта замечательная.
10k на базу Q1-Q3 не многовато ли? Мне кажется их стоит уменьшить для увеличения помехозащищенности.
Для надежной работы в полевых условиях (куда не было доступа) мы делали аппаратный watchdog на attiny13 который обрубал питание для ESP8266. Да, есть внутренний но он как-то нечетко работает. Надежнее делать reset по питанию. Представляю что будет если контроллер зависнет с включенным насосом когда никого рядом нет.
У меня все проще. Я предполагаю поставить датчик уровня дополнительный «выше верхнего» и в случае, если вода его достигнет — рубить питание всей системы. Это очень простая и дешевая защита, а главное — очень надёжная.
Это разумное решение для защиты от глобальных последствий аварии. Но я бы его применил не «вместо» а «вместе». Оно же не спасет ваши растения от засыхания в случае зависания с выключенными реле.
Возможно, я потом так и сделаю, спасибо. Но сейчас менять уже поздно решение.
Да и не все так страшно. Если оно вырубится, то я по крайней мере буду знать, что проблема есть. А за день-два растения не засохнут:) Да даже за неделю — маловероятно.
Очень круто, но на задачах сложнее «включить насос» превращается в нечитаемую кашу. Проходили с NodeRED.
А как же Labview например? Я думаю что зависит от бэкграунда. Программисту легче читать код, электронщику — схему.
У вас есть примеры действительно сложных схем в Labview?
Я просто сталкивался с проектами уровня умного дома(где не пять лампочек и датчик движения, а действительно все системы интегрированы), и поддерживать логику можно было только в виде кода с продуманным разделением на модули. Все остальные способы превращались в полотно, в котором ничего нельзя найти и исправить
К сожалению сейчас нет. Последний раз занимался этим в 90-е годы для автоматизации исследовательских экспериментов в биологии. В Labview была (и наверное есть) развитая библиотека готовых модулей и можно было создавать свои (аналог процедур) что упрощало чтение диаграммы в целом.

Более чем. Мне приходилось писать и крупные вещи для академии, и софт для коммерческих железок (для аналитической химии). Можно еще вспомнить LHC, да и в целом LabVIEW в индустрии много кто использует.


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

Я подхожу к этому вопросу проще: стоимость модуля невелика и пытаться навешать на него много задач не стоит. Это ж по сути эмулятор электронной схемы. Этакая «программная ПЛИС» с более-менее удобным интерфейсом.
Да, как ПЛК. Там другая проблема будет со временем: централизованное хранение логики и ее обновление. Когда логики будет много, станет сложно лазить по устройствам и вспоминать, где хранится тот или иной кусок.
А зачем помнить всё?
Есть блок-комментарий. Подписывайте что где. Ресурсов он не жрёт процессорных. А информативность повышает.
Глюки с кнопочками это ничто по сравнению с возможными глюками от ЭДС самоиндукции.

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

Конечно интереснее было посмотреть на реальную практику использования на реальных устройствах.
Диодная защита и развязка по питанию — это всё что я мог сделать и сделал.
Реле запитаны от +5Вольт, сам модуль — от +3 вольт. КОнденсаторы есть. Диоды гасят ЭДС самоиндукции.

Не видел, чтобы схема перезагружалась при срабатывании реле. Плата — одна сторона выложена землёй, вторая — питанием.

Вот что будет при включении пускателей вблизи платы — это не знаю. Всё может быть.
Ничего не будет, год уже включаю пускатель, нагруженный кучей неоновых ламп (дроссели там, вот это все) в 10см от esp8266 никаких проблем не обнаружил
Вам хочется не только включать, но и отключать реле досрочно? Да как скажите. Рисунок ниже показывает как это сделать!

Обьясните, пожалуйста, этот фрагмент. Например, почему там И, а не ИЛИ? Как работает блок PULSE?

Pulse работает просто — при появлении на входе 1, то он формирует импульс «1» заданной длительности (в десятых долях секунды).

«И» — потому что реле включается единицей.

Когда на выходе r1cmd появляется 1 — то реле включается, так как на выходе PULSE — единица И на выходе r1cmd — единица. После истечения 600сек (задано в PULSE) — выход PULSE переключается в ноль и реле отключается (0 И 1 = 0).

Если же до истечения 600сек по MQTT опубликовать ноль, то он выключит реле, потому что поступит на нижний по схеме вход «И» (1 И 0 = 0).
В общем я выложил прошивку-бинарь и описание узлов в конце статьи.
Была бы интересна возможность централизованного управления множеством таких устройств по сети. Если откроете исходники — постараюсь допилить сам. Если проблема в публикации — попрошу вас отправить их в личку мне, потому что я смогу применить ваше устройство в своем случае только если удастся реализовать функционал с управлением по сети. Заранее спасибо
Only those users with full accounts are able to leave comments. Log in, please.