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

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

Хее встроенный UART. Ну, мона. Тока у 320-чки ведь USB есть)
У мя такой же девайс, к нему хабик на 7 портов — и почти весь занят всякими шняжками.
да, если жалко гарантию — есть возможность поставить USB хаб и дополнительную схемку для USB2UART. НО — нужно будет ставить дополнительный драйвер, что может вызвать некторые сложности.
Да и на межке усб мона сделать. Тот же CDC класс. Роутер будет видеть его как компорт/модем.
Ага, то есть поставить дополнительный драйвер — это может вызвать некоторые сложности, а наставить оптронов и симисторов — это по 100 рэ пучок ;-).

Или это в DD-WRT такие проблемы с драйверами? Используйте современный OpenWRT на современном ядре, там проблем быть не должно.
НЛО прилетело и опубликовало эту надпись здесь
Вместо оптодрайвера можно поставить твердотельное реле, будет красивее, но дороже. Зато греться будет меньше.

Вместо UART непонятно откуда и не самой мощной AVRки, можно взять за примерно $50 модуль на cortex-m3, уже с Ethernet внутри, и все сделать на нем.

Чтобы включать-выключать розетки и прочее, надо, чтобы управление между розеткой и командным пунктом было цифровым, с обратной связью, то есть например пихнуть туда какую-нить тиньку или пик мелкий + твердотельное реле + кнопку, а связь делать по низковольному I2C, one-wire или чему-то подобному.

Исполнительная плата должна уметь отдавать свое состояние на мастера.
Тогда уже можно будет туда и блоки 433МГц подтыкать, и ZigBee, или модуль какой-нить на 2,4ГГц, для беспроводного управления.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Вот как раз нифига — например, модули от пропокса идут в виде мезонинного модуля, который можно воткнуть в DIP. Либа для создания внутри веб-сервера и example для этого — в комплекте либо легко находится.

Если посчитать стоимость роутера, то по цене тоже можно конкурировать легко, а гибкость решения — гораздо выше.

Езернет нужен как минимум для унификации общения с окружающим миром и дистанционного управления через интернет — ведь именно это цель устройства?..
НЛО прилетело и опубликовало эту надпись здесь
Я не спорю с тем, что в данном конкретном случае дешевле было сделать так, как сделано.
Просто это решение плохо масштабируется и плохо копируется (а если у кого-то нет роутера? а если он без UART? итд..).

Есть люди, которые хотят сделать прямощас и быстро, тогда они берут ардуину, подключают к ней три модуля, все это проводочками к макетке, и получают «но ведь зато работает!» Потом бьются в довольно очевидные грабли «как как выключить на месте кнопкой?», «а как проверить состояние?», «а еще хочу термометр, а он не лезет в идеологию „один выход — одно устройство“ (я утрирую, конечно же).

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

В данном случае автор вполне осилил собрать контроллер, и вполне осилил собрать силовые модули, а значит, при необходимости, мог бы легко собрать и какую-нибудь attiny13+кнопка+one-wire наружу, и все это вставить в каждый модуль. Сделать адреса, протокол общения.

Он бы получил:
— независимость силовых модулей от применяемого центра управления
— возможность индивидуального управления модулями кнопкой на модуле
— возможность вешать их гроздями на одну шину
— возможность менять управляющий центр как угодно, в том числе и сделать транслятор UART->one-wire, и дальше программно в роутере
— возможность позже сделать stand-alone центр управления на модуле от пропокса или кого угодно еще, со своим Эзернетом, блек-джеком и алгоритмами работы
— возможность присобачить любой радиомодуль и тем же протоколом управлять
— при необходимости собирать данные, просто бы собрал еще один модуль, который вешается на шину и:
— рипортит температуру за окном (отдает данные обратно)
— говорит, есть ли что-то в почтовом ящике (делает это по радио)
— меняет нагрев котла (переходим от on-off к плавному регулированию)

При этом всем модуьлная структура позволяет делать это плавно, а не выкинуть то, что есть и сделать по-другому.

Почему автор сделал так, а не иначе?
Не знаю, возможно, ему нужнее было попрактиковаться в программеже атмеги, возможно, не имел дела с USB/Ethernet и это кажется страшным и сложным, возможно, что-то еще (денег было только на пиво и один контроллер :))

Но начиная с какого-то уровня сложности, модульность и продуманное фиксированное API сильно облегчает жизнь впоследствии, хотя и требует бОльших затрат на старте (времени и денег).

Все ИМХО.
Прекрасно понимаю, что ванвайер это круто и к тому же есть промышленные протоколы RS4** для общения между устройствами. У меня к тому же контроллеру допилены 2 датчика для получения температуры по ванвайеру и реализована обратная связь для вывода всего этого в роутер чтобы рисовать на прикрученых к вебсерверу графиках. Но не нужно это делать все в пределах статьи. А еще можно было, конечно, наслоить функционалом оптодрайверы для «памяти» состояния и прочими фишками. Насколько бы тогда сократилась аудитория читающих статью?? Насколько бы это стало интересным? Я просто постарался написать предельно просто с минимум затрат и знаний.
нужно еще к исполнительным устройствам добавить излучатели ИК сигналов, чтобы с сотового телефона управлять всякой бытовой техникой вроде телевизора, blueray, спутникового приемника, кондиционера. Вот здесь было marsohod.org/index.php/projects/144-smarth
Только там, использовался bluetooth а не wi-fi. Конечно wi-fi круче.

Нужно развивать идею в сторону управления нагрузкой по радио, чтобы не приходилось тянуть провода к каждой розетке. Вижу это как-то так:
Роутер -> контроллер -> передатчик (433 MHz или 2,4 GHz) -> приемники -> блоки управления нагрузкой.
В случае с розеткой — да, беспроводной протокол интересно, так как можно питание дать сразу от розетки.
В случае если это какой-то выносной датчик — провода в паре с низковольтной шиной может быть интереснее:
— провода более помехойстойчивы
— «заводские» беспроводные модули (да и в принципе беспроводные) стоят таки заметных денег, при том, что тот же one-wire стоит заметно дешевле
— дистанционная подача питания на модули по той же или параллельной паре проводов — тоже немаловажная фича (в зависимости от шины можно использовать от 2 до 4 проводов, что в случае с витой парой вполне подъемная задача в плане маскировки проводки даже при уже сделанном ремонте, а гибкости дает поболе)
НЛО прилетело и опубликовало эту надпись здесь
Тоже вариант. Меня смущает только скорость работы.
НЛО прилетело и опубликовало эту надпись здесь
У меня ардуино вполне переключает реле (5V).
А так, хорошая идея про модем, спасибо!
Переключать релюшкой 2 кВт нагрузки — не самая лучшая идея. Особенно, если нагрузка вдруг окажется индкутивной (двигатель, трансформатор).
Смотря что и как переключать. :)
Было дело паял простенький блок управления лифтовым оборудованием (схемотехнику рассчитывал не я, только паял готовый вариант). Я не знаю какая конкретно там нагрузка, но выключатель коммутировал десяток 16А релюшек (в каждой — по 2 спаренных контакта).

Я это к чему — реле на самом деле вполне интересная штука, и даже более предсказуемая, чем оптопара. Опять же охлаждение для оптрона надо, а релюха скоммутирует контакт и будет себе сидеть в ждущем режиме. Просто для распределения нагрузки иногда достаточно поставить 2-3 релюхи параллельно — и коммутация будет норм. Даже для больших токов. Запас только по номиналу взять и ок.
И еще кондер противоискровый. Штука простая, но сиииильно полезная.
Следует отметить еще, что при данной схеме установка вывода порта в «1» выключает нагрузку, и наоборот. Это не является недостатком, просто главное самому не запутаться.
И не врубился, что означают буквы n и f в командах вида do.pl a1n? oN и ofF?
Вообще да, n — on, f — off.
Команда f включит нагрузку, команда n — выключит.
Вообще управление отдельным битом порта можно сделать проще, без проверки текущего состояния:

PORTA &= (1 << num); // вывести единицу на пин номер num
PORTA |= ~(1 << num); // вывести ноль
n — включит f — выключит
if (num=='0') {
if ( (PINA.0==0) && (is=='n') ) {
putchar('N');
PORTA=PORTA+1;
}
if ( (PINA.0==1) && (is=='f') ) {
putchar('F');
PORTA=PORTA-1;
}
}

когда is=='n' то PORTA+1
когда is=='f' то PORTA-1

Может быть вас смущает putchar('F'); это обратная связь ( должна быть обратной связью, но не реализована )
PORTA+1 выставляет единицу в порт, ток через светодиод оптрона не течет (на обоих его выводах +5 вольт), нагрузка вырубается. Так?
Светодиоды одной ногой на GND. :)
Теперь ясно. Тогда поправьте схему, там светодиоды подключены к Vcc. Кстати, это правильнее, так как для порта AVRки допустимый втекающий ток больше вытекающего.
done :)
Ага, круто! Еще светодиод переверните катодом к земле :)
НЛО прилетело и опубликовало эту надпись здесь
У вас контроллер с ума не сходит при старте роутера? Там ведь ядро усиленно в консоль флудит.
Да, флудит, ведь это отладочная консоль. Поэтому и сделано вначале основной команды "!port" — такая комбинация в отладочной информации не встречается :)
Можно отключить вывод отладки в консоль в загрузчике.
Правда если железка умрет то потом фиг ее восстановишь без JTAG
Не понимаю как связаны отладочный вывод ядра и функциональность загрузчика.
Как я помню загрузчик ядру передает параметры, в которых как раз есть указание порта куда сыпать логами. И это поидее отключаемо.
Да. Но это никак не помешает восстановить систему через UART в случае краха.
НЛО прилетело и опубликовало эту надпись здесь
zero crossing переключается в момент перехода синусоиды сетевого напряжения через нуль, это снижает помехи. Можно реализовать детектор нуля и на контроллере программно, но здесь этого нет.
НЛО прилетело и опубликовало эту надпись здесь
да
НЛО прилетело и опубликовало эту надпись здесь
Вобщем тут у меня какая мысль появилась, пусть даже помехи и будут. Ведь симистор пропускает до момента смены полярности. => 50 раз в секунду нам необходимо чтобы горел светодиод, а при помехах думаю колебания возникают гораздо чаще, поэтому можно пренебречь. Да и для большинства эл. приборов даже потеря 1 такта не будет критичым. Верно?
Имеете в виду зажигать светодиод кратковременно, в начале каждого полупериода? Так делают, но в двух случаях:
1) когда стараются ограничить потребление управляющих цепей;
2) когда нужно организовать фазовое управление мощностью нагрузки. Тогда момент открытия симистора сдвигают по времени.
Здесь не вижу смысла так делать, только схема усложняется. Нужно на контроллер завести синхросигнал от сети (а про развязку не забыли?), нужно программно это все обрабатывать, нужно быть очень осторожным в случае реактивной нагрузки, когда ток и напряжение не совпадают по фазе.
Следующий этап —

1) берем модули блютус goo.gl/xrNFd, к ним мегу, (придется правда сделать схему питания от 220в) такой блок управления и выдаем каждому устройству в квартире.
2) пишем блок управления через блютус

:))

И прощаемся с управлением через интернет. Или придется ставить блютуз-модуль в роутер. И поддерживает ли блютуз топологию сетей с несколькими ведущими модулями? Если да, то поддерживают ли ее именно то устройство, что по ссылке?
Зачем, это ж RS232 ;)
Хотя такой модуль не пойдет в роутер, он умеет помойму только как «клиент». В роутер придется чтото «магазинное» юсбишное ставить. Дайбог в дире есть юсб порт. Опять же упирается все в поиск драйвера для 2.4 ядра под этот донгл.
И еще, модули дешевые и дальность у них помойму до 5 метров, а если стена и того меньше( на диалэкстриме есть, там отзыв о тестах ).
Единственным плюсом применения bluetooth я вижу возможность управлять устройствами напрямую с мобильника. Но тогда в сети будет два ведущих: мобильник и модуль, связанный с роутером. Как быть?
Выход один — иметь 1 головной центр, который будет управлять всеми устройствами в подчинении и только он! Тк это безопасно, иначе соседи устроят дискотеку у вас в доме. Более того уже есть готовые протоколы беспроводного управления и не нужен никакой блютуз, они проще и работают по своей специфике эффективнее.
Согласен, но в статье то речь я так понимаю о том что моно собрать у себя дома — for fun так сказать, а не о мега — секьюрити — производственных — решениях :)
Если на автоматическое управление повесить только лишь светоприборы — то последствия только лишь счет за эл. энергию в худшем случае. А кто знает что кому надумается подключать :)
Ну если о том что можно сделать пару с пассивным блютус устройством без PIN то в принципе так- же можно говорить о том что можно заэксплоитить роутер или еще что то :), ладно я не спорю.
Верно, вот вы, если верить вашим словам, повесили на него бойлер. Не страшно? Как вообще с надежностью? Я имею ввиду, сколько различных watchdog'ов реализовано и т.п.?
Не так опасно, тк внутрений датчик температуры не отключен. Управляется только лишь внешняя нагрузка для экономии. Домой пошел — включил. Утром ушел — выключил.
А если на месяц в отпуск или в командировку — оставите вашу тулзу управлять электричеством? Если нет, то это не совсем home automation, скорее поделка выходного дня, такое очень просто сделать, чтоб оно под присмотром «управляло» и руками его поправлять ;-). А если да, то тут наскоком не обойдешься, нужно реально о надежности, защите и восстановимости думать.
Да, всему есть куда развиваться. А вообще, если какаято последовательность действий облегчает вам жизнь, то, думаю, автоматизация удалась ;)
Единственный плюс от bluetooth — это то, что модули BT можно купить в различных формах, интерфейсах и функциональностях по сто руб стакан на ближайшем рынке. Никакие из специализированных протоколов/технологий не имеют такой массовости и доступности.

Возможность же управлять «с мобильника через bluetooth» на самом деле не так проста, как кажется. Bluetooth — это набор application протоколов, и далеко не каждый может быть реализован в конкретном мобильнике и не к каждому может быть доступ через API, так чтобы можно было написать свою программу для управления.
Блютус — насколько знаю нет но устройство поддерживает и мастер и слейв режим. Речь у меня идет о развязке по сути между роутером и девайсами с помощью блютус — не всегда все можно сгруппировать с роутером или провести провода во все места. Например нагреватель у вас в ванной свет для цветов на балконе итп.
Есть куча беспроводных решений, приспособленных для дистанционного управления лучше, чем bluetooth, и их здесь в комментариях уже перечислили (LPD, ZigBee, X10). А блютус оставьте для hands-free гарнитур.
Да я согласен — вопрос только например цены и доступности модуля для решения for fun. Да и действительно — интересно например попробовать управление с мобильного (пользы может и нет, но чисто интерес).
НЛО прилетело и опубликовало эту надпись здесь
Прошу прощения, LPT. Естественно я имел в виду это LPT
НЛО прилетело и опубликовало эту надпись здесь
Это троллинг.
почему бы не использовать modbus вместо своего самописного протокола?
Да конечно можно, но от своего удовольствия больше :)
К каждому устройству идет дополнительный провод и устройство на оптодрайвере. Провода нужно как-то крепить к стене или прятать в стену, что влечет за собой смену обоев...


а прямо по проводам сети 220 не получится сигналы гонять? вороде бы даже десятки мегабит на таких технологиях выжимают. (первая попавшаяся ссылка из гугла)
там обсуждают продачу питания по витой паре, для этого кстати давно уже Power over Ethernet придумали.

а я говорю о передаче сигнала по тем проводам 220, которые уже проложены в каждом доме, к кайдой розетке и выключателю.

возможно это проще/дешевле чем тянуть к каждому такому устройству новые провода.
Ну вот X10, упоминаемый выше, так и делает. Не помню однако, чтобы видел устройства X10 в розничной продаже в «родном колхозе». Делать самому высоковольтный модулятор/демодулятор наверное тоже не самое простое.

В этом отношении массовые беспроводные интерфейсы вроде BT или ASK 433MHz выглядят более привлекательно.
Доброго времени суток. У меня возник вопрос касательно расчёта током гранича всю день резистора для цепи затвора симистора. Вот тут подробнее, https://toster.ru/q/325764

Хочу понять, почему и изходя из чего выбирается тот или иной токо ограничивающий резистор.
Силовой симистор BTA16-600B, оптопара с симисторным выходом MOC3052.
Задача открывать силовой симистор в произвольное время. Силовая Нагрузка потребителя сопротивлением 30 Ом.
Задача как полное открытие 100% мощности так и неполное 1% мощности, плавно регулируемое мк за счёт обратной связи детектора нуля. Подскажите как считать? Повторюсь что вот этот же вопрос на тостере https://toster.ru/q/325764
Вот блин, почему тогда еще не придумали sonoff или esp*шки ))
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации