Как стать автором
Обновить

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

Почему не использовал Blynk?
Можно, конечно. Но есть три НО. :)
1. На тот момент (3 года назад) я не знал о его существовании. Кстати, в каком году он появился?
2. Я не слишком доверяю облакам. Да и у меня концепция построена иначе. Насколько я понял, но могу ошибаться, ведущим является Blynk. А мне надо было создать систему, где сервер является ведомым.
3. Этот проект создавался не как коммерческий, скорее как хобби-продукт. А мне интересно в таких случаях делать максимально самостоятельно. Хороший тренинг.
1. Blynk появился в 2015 году. Еще есть Domoticz 2012г, OpenHAB 2010г.
2. Не сервер Blynk подключается к IoT Hardware, а наоборот, Hardware подключается к Blynk. Сервер, на то и сервер, чтобы к нему подключались.
Сервер Blynk можно развернуть на своем компьютере.
Спасибо за информацию, но вы упустили пункт 3. Который всё объясняет.
Еще добавлю насчет Blynk. Пошел на маркет Гугла посмотреть на рекомендуемое приложение. Огорчили подобные отзыва:
Наконец работоспособность восстановлена, ура! Умный дом на даче вновь на связи. Подключение через Мегафон 4Г. Тюмень.

Зачем мне зависеть в таком важном деле от неизвестных мне лиц. А если их сервис упадет в сильный мороз?
Или РКН подсуетится :)
Сервер Blynk можно развернуть на своем компьютере.
Все здорово, только вопрос, зачем опять DHT? Он конечно самый дешевый и обкатанный, но есть куда более точные и надежные решения, тот же DS18B20, HTU21D, BME280 и пр. Вот тут хороший обзорчик на эту тему.
Основной скетч программы

Основной скетч программы это хорошо, но значительно интереснее было бы взглянуть на код «сервера управления» (который на PHP). А то как-то половинчато получилось — опубликована одна половина системы, а другая половина не опубликована.
А какая часть вас интересует? Если скрипт приема данных от метеомодуля, то это простой код, разбирающий GET-запрос по переменным и записывающий их в соответствующие таблицы базы данных.
Передача параметров от сервера к модулю идет в этом же скрипте простым выводом echo заранее сформированной строки. Тут даже JSON не использован, настолько все примитивно.
Меня бы устроил полный код вашего решения под свободной лицензией. Чтобы можно было его установить на хостинге и поэкспериментировать.
Вопрос интересный, никогда не думал в таком ключе. Подумаю.
Я думаю это многим будет интересно. Дело в том, что скетчи для Ардино уже «навязли в зубах» у всех, а простой, компактной, защищённой и расширяемой серверной платформы нет. Если есть желание, то вообще можете сделать нишевое решение и «прославиться» на этом поприще.
Было бы для чего, сейчас на простые термостаты не хватает запроса, до серверов ещё далеко.
И так есть Blynk, Domoticz, OpenHAB.
Вы сами себе противоречите. Как вы указали выше, OpenHAB появился в 2010 году, Domoticz в 2012 году. Если следовать вашей логике, то зачем было в 2015 году создавать Blynk?
Выбор DHT21 был обусловлен его наличием в моем рабочем столе :) К тому же эта модель датчика выполнена в корпусе для наружного размещения. Ведь один из датчиков расположен на улице.
У вас там компьютерный БП что ли? Который работает 24/7?
Может, это профдеформация, но я бы не ставил в систему управления отоплением ни БП от ПК, ни китайские реле, ни ардуину.
Применять настольные макетные модули для ответственной системы это не есть гуд. Вы можете сказать, что 3 года все работает.
НО! Что будет, если что-то из этого откажет? Перегрев, разморозка, пожар — выбирайте.
Я полностью с согласен с вашим подходом, но в данном случае это не коммерческий продукт, а просто хобби-система.
Насчет компьютерных блоков питания отчасти согласен, но на практике немало примеров их работы месяцами без каких-нибудь последствий. К тому же, в данном случае, они работают практически на холостом ходу, нагрузка исчезающе мала.
Да и какая может быть альтернатива компьютерному блоку питания за его стоимость?

К сожалению, то что это хобби система не снижает тяжести последствий при неудачном отказе без присмотра.
По поводу стоимости: комплектующие промышленного класса стоят больших денег (все относительно, конечно, кому-то 50-100к за шкаф управления начального уровня будет не много), но за эти деньги гарантируется работа и безопасность работы.

Уверяю вас, возможные негативные последствия я постарался купировать косвенными методами.
Например, в случае отказа метеомодуля в постоянную работу включается электрокотел со своим штатным блоком управления. Это происходит автоматически. Мощности котла вполне достаточно для сохранения +10 в доме при любом морозе. Это гарантия защиты от разморозки, например, системы водоснабжения.
Кстати, а вы можете много назвать примеров использования оборудования промышленного класса в решениях класса smart home?

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

Не думаю, что самодельные устройства на базе ардуино массово потеснят системы управления, например, Siemens или Honeywell.
Судя по вашему скепсису, вы обладаете огромным опытом использования ардуин. Или это теоретическое предубеждение? Что вас конкретно смущает в ардуинах? Там используется такая же элементная база, как и в других устройствах. Выбирайте качественные модули, желательно оригинальные, а не из подвала дядюшки Лю.
В ардуино, как железки меня ничего особенно не смущает, при условии использования в оборудовании, находящемся под наблюдением. Ардуино, как софт+железо может «порадовать» неожиданными эффектами спустя какое-то время работы.

Я даже не про самоделки говорю, а о зоопарке систем управления домашней автоматизацией от «дядюшки Лю», да еще и с управлением из облака оттуда же.
Качество разработки и тестирования, естественно, не может даже близко конкурировать с Siemens, B&R или Mitsubishi Electric и прочими производителями промышленного оборудования.
Понимаете, мы тут обсуждаем езду на самокате, а вы говорите, что на Мерседесе ездить лучше. Конечно лучше и безопаснее, но речь идет не о мерседесах.
Скорее корректнее сравнивать самодельные машины из коробки и мотора от бензопилы с нормальным автомобилем
Именно так. Эта разработка никоим образом не пытается потеснить позиции того же Сименса. Это же хобби-проект.
Опубликуйте пожалуйста, полный скетч. Собираю себе нечто подобное.
Код слишком объемный для обзорной статьи. Но там нет ничего сложного, я дал вам удочку, но рыбу ловите сами.
Насчет компьютерного БП уже писали выше, я бы лучше использовал HDR-15-05 от Meanwell на DIN-рейку, он как раз сертифицирован на работу 24/7 и диапазон температур вполне индустриальный. Стоит всяко дешевле ATX блока питания и места занимает намного меньше. Вопрос с приемом сигнала Wi-Fi можно решить использовав модуль (например ESP-07) с разъемом для внешней антенны, самих антенн на Али полно. И, кстати, не совсем понятно зачем тут вообще Arduino? ESP8266 намного мощнее, а тут он просто как мост используется. У меня на ESP-12F сделана система с 4 реле, DS18B20, HTU21D, LCD дисплеем, WEB-мордой (очень простой, управление в основном через MQTT), RTC, SNTP, MQTT. Так же можно легко прикрутить отправку данных на сервер через JSON например.
P.S. Датчик DHT21 вовсе не наружного исполнения, он просто убран в пластиковый корпус с дырочками, внутри плата даже лаком не покрыта. Так можно с любым датчиком сделать и платку залить лаком, иначе там все рано или поздно сгниет(
За три года не сгнил :) Но он расположен в месте, исключающим прямое попадание влаги.
Я как-то давно делал связку из датчика влажности HIH-4000 (очень хороший датчик) и Onewire монитора батареи DS2438. Датчик чисто аналоговый, а в DS2438 есть АЦП для измерения напряжения батареи + интерфейс Onwire. Очень удобная хрень получилась, можно хоть за 20м от контроллера ставить, вот только цена кусается у обоих, особенно сейчас(
Насчет блока питания спасибо за подсказку. Но в нем нет 3,3В, которые мне потребовались для запитки ESP.
Почему была выбрана такая компоновка, то я об этом упоминал в статье. Исходил из того, что было в данный момент под рукой. Решение сделать систему возникло перед началом отопительного сезона, поэтому старался максимально упростить и ускорить процесс разработки, собирая систему из проверенных лично решений.
А так, вы полностью правы. Можно сделать гораздо компактнее.
MQTT не использовал по причине, описанной в подразделе «Метод обеспечения безопасности IoT» в этой статье.
MQTT я и не предлагаю, просто написал что у меня есть. С безопасностью там есть проблемы конечно. А Arduino у самого на управление террариумом уже 4 года стоит, тоже делал из того что есть за 2 дня) все никак руки не доходят до чего-нибудь более приличного…
Так напишите статью на хабр, было бы интересно взглянуть на ваше решение.
Как соберу все из соплей на мотнажке в нормальный вид (сейчас плату развожу) тогда попробую написать)
А что мешает отправлять трафик MQTT через https с помощью сертификата?
Ничего не мешает, только в этом решении применен иной принцип: инициатором связи с сервером (клиентом) выступает метеомодуль. В таком случае https не нужен.
Клиент отправляет публикует данные по своей инициативе в MQTT. Шифрование необходимо только для защиты данных при передаче. Как это противоречит Вашей модели?
На мой взгляд шифрование подобного трафика перебор. Гораздо важнее обеспечить защиту от внешнего вмешательства в работу метеомодуля. Поэтому метеомодуль становится инициатором обмена с сервером, передавая текущие данные. На этом этапе концепция ничем не отличается от MQTT. Только там эти участники носят названия издатель и брокер.
А дальше начинается важное отличие. В MQTT брокер может послать данные подписчику, на этом этапе данные могут быть подменены. Тем более, что подписчик знает, что брокер ему может посылать данные в любое время.
В моем варианте, метеомодуль игнорирует любые данные, которые не попадают в временное окно после отправки пакета на сервер.
Токи потребления там у контроллера по 3.3в — копеечные — простейший параметрический (понижающий) стабилизатор (можно даже без радиатора) — вполне себе потянет. А это малюсенькая такая штучка с тремя ножками.
Вы тоже невнимательно прочитали — я собирал из того, что было под рукой. Был БП от компа, а в нем уже есть 3,3 В. Вот и использовал.
Компьютерный блок питания не самое хорошее решение. Во первых сложно найти блок мощностью меньше 200Вт, во вторых на малой мощности(почти Х.Х.) у него крайне низкий КПД. Проще взять обычный блок питания(хотя куда там обычный? Там надо на DIN-рейку) на 5 вольт а для ESP-шки использовать простой линейный стабилизатор вроде AMS1117-3.3 и саму ESP-шку взять с разъемом под внешнюю антенну, если у вас настолько хороший шкафчик(наверно, ещё и надёжно заземлён?). Я даже для экспериментов сделал платку-переходник для ESP-шки для питания всего этого дела от 5В и сразу отпала необходимость где-то искать 3.3В. Можно даже запитать это всё от солнечной панели + аккумулятор 12В и DC-DC понижающий, тогда полная независимость от отключения электроэнергии и вообще её наличия.
Ну так еще и роутер надо запитать от ИБП, ну и что-бы провайдер все свое оборудование на ИБП держал, иначе работать то будет, но управление и контроль будут потеряны.
В таких случаях важна не доступность оборудования по сети а то чтобы оно работало и не потеряло своё текущее состояние.
Все верно, об этом я указывал в статье. Если метеомодуль не может соединиться с сервером по какой-либо причине, то он продолжает работать в ранее установленном режиме. И с периодичностью 5 минут пытается соединиться с сервером.
Эта ситуация изредка возникает из-за падения канала доступа в интернет.
Если по каким-либо причинам не работает сам метеомодуль, то, благодаря электромеханическим реле, автоматически восстанавливается подсоединение штатных блоков управления котлами через нормальнозамкнутые контакты.
В текущей версии есть вероятность аварийной ситуации. Она произойдет, если плата зависнет, но при этом управляющие сигналы на реле будут в состоянии ВЫКЛ. К счастью, пока такой ситуации не было. Но ее надо предусмотреть, поэтому, в том числе и под влиянием многих разумных комментов к статье, решил переделать систему на ESP32. Там целых 3 watchdog'a :)
Врятли стои менять шило на мыло. ESP32 вообще не для надёжных вещей, это лишь коммуникационный модуль. То что на нём можно многое сделать не означает что это нужно делать. Там способов выстрелить себе в ногу вагон и маленькая тележка, полно блобов с неизвестным содержимым, программирование похоже на ходьбу по минному полю. У язвимость самого модуля как такового тоже под вопросом.
Вач-дог достаточно чтобы один был, ардуинки вполне достаточно для ваших целей.
А что мешает попробовать? Тем более, что работающий вариант трогать не буду.
Любопытно, а какой чип вы считаете наиболее подходящим для IoT? Для питания от сети и для питания от акб?
IoT понятие очень широкое. против ESP32 не имею ничего против, просто она не для надёжных вещей — для неответственных потребителей IoT. Лампочку там включать, мониторить удалённо состояние климатических датчиков, от которых ничего существенного не зависит. Может на ней, как на аппаратной платформе, и можно написать что-то достаточно надёжное но это будет весьма сложно. Попробуйте для начала хотябы оценить надёжность системы на основе такой платформы и столкнётесь с тем что это будет невозможно по причинам отсутствия конкретных цифр, а в особенности надёжности самого ПО и ладно если это ещё возможно сделать для своего кода, то что делать с закрытыми частями «от производителя». Сейчас это пожалуй не более чем игрушка. Может, когда-то доведут её до потребного состояния.
ИМХО, для ваших целей, управления отоплением и подобных вещей лучше всего подошел бы промышленный контроллер, но цена… 200-300$ только за базовый с минимальной периферией. Зато эта штука с известной надёжностью и предсказуемостью.
солярный котел

О, думаю, наверно, речь о солнечном коллекторе.
Соля́рный — Связанный с солнцем.
Толковый словарь Ефремовой. Т. Ф. Ефремова. 2000.

СОЛЯРНЫЙ — солнечный.
Полный словарь иностранных слов, вошедших в употребление в русском языке. — Попов М., 1907.
В принципе, обычно такой коллектор котлом не называют. Да и слово «солярный» обычно употребляется в гуманитарном контексте — «солярный миф», «солярный символ».

Но ладно, вдруг автор решил блеснуть красивым синонимом.

Читаю дальше:
сэкономить солярку.
— ой.

Ну блин, всё-таки не стоит приплетать существующие термины к тому, что они не обозначают.

Котёл на солярке — соляровый или солярочный!
Котёл на солярке — соляровый или солярочный!

Дизельный котел, если проще.
Да, так часто и называют. Только и это всё-таки просторечное название, а не технический термин. Рудольф Дизель никаких таких котлов не разрабатывал — он изобрёл двигатель с воспламенением от сжатия, который и получил название в его честь.
Хорошо, хорошо, пусть будет котел на дизельном топливе :)
Но вы ошибаетесь в этимологии происхождения слова «солярка» применительно к топливу. Вот цитата из вики:
Название «солярка» происходит из нем. Solaröl — «солнечное масло» — так ещё в 1857 году называли более тяжёлую фракцию, образующуюся при перегонке нефти. Фракция названа так в связи с желтоватым цветом.
О происхождении слова «солярка» применительно к топливу я не говорил ни слова.
Так тема то о чем? ;) По умолчанию, в этой статье слово «солярка» относится к топливу.
А так, очень похоже, вы просто решили потроллить :)
тема о словосочетании «солярный котёл»
Попробуйте заново перечитать название данной статьи. Вы там находите словосочетание «солярный котел»?
Оно в тексте статьи находится. Причём 8 раз.
image
И что? Применительно к системам отопления словосочетание «солярный котел» вполне корректно. Происхождение слова «солярка» я вам указал.
Коль нечего сказать по существу, тролль начинает цепляться к словам, но все равно садится в лужу :)
Если не секрет: какая у Вас площадь дома и во сколько обошлись (и за сколько окупились) установка двух котлов и бензогенератора? Извините за оффтопик, но ставить управление на грамотно сделанную систему и на «исторически сложилось» — две большие разницы.
Отапливаемая площадь около 160 кв.м. Отопление делал сам, поэтому «исторически сложилось» в результате постепенного понимания что есть хорошо. Понятное дело, если исходить из нынешнего моего опыта, то сделал бы совсем иначе. Но кардинальными переделками нет желания заниматься.
По нынешним ценам мой электрокотел (9 кВт) стоит порядка 30-35 тыс., солярный (22 кВт) около 50 тыс.
Бензогенератор оставался от этапа строительства дома, поэтому его цену уже не помню.
А в зимний месяц сколько примерно получается расход солярки и счет за электричество?
За сезон уходит 1,3-1,5 тыс.литров солярки. За электричество в зимний месяц 7-9 тыс.руб. Но это на весь дом.
О наболевшем
Я правильно понял, система состоит из 3х блоков?:
MEGA — для управления реле
ESP8266 — для WiFi
Комп — для интерфейса

почему не использовали возможности ESP для управления реле?
почему не использовали возможности ESP для интерфейса?
Геморно, нестабильно(или для ESP-шки уже есть удобная IDE и стабильные библиотеки?). Если ESP-шка зависнет, это всего лишь связь.
По мне — Visual Studio вполне удобная IDE, но есть еще Atom, Eclipse,…
Я проблемы стабильности решил внешним сторожевым таймером.
Проблемы стабильности WiFi вроде решил реконектом раз в 5 мин.
habr.com/post/412889

Но я не призываю использовать ESP8266, т.к. действительно — не стабильно. Я портировал на ESP32, но пока не тестил.
Просто интересовался вашими взглядами.
Сейчас жду ESP32 буду делать новую версию на ней.
Все? или замена esp8266?
Да, всё полностью. Отдельная замена esp8266 не имеет смысла.
Вроде бы на эти вопросы я уже отвечал. И в статье, и в комментариях.
Мега не только для управления реле, но сбор данных с датчиков температуры, накопление, первичная обработка и отправка на сервер интегрированных данных.
Комп в системе использован только на этапе отладки. В рабочем режиме информация доступна через вебинтерфейс внешнего сервера.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории