ФОРУМ КУПИТЬ

Последние статьи

ВСЕ СТАТЬИ

MegaD-14-IN - расширяем перечень подключаемого оборудования

29/06/2015 10:44:32

С июля 2018 года начато производство нового модуля MegaD-14-IOR, который имеет ряд улучшений и новых возможностей. Подробнее.

Проект MegaD-328, принципы которого я описывал в статье "Готовый многофункциональный контроллер для Умного Дома", благодаря своим возможностям, уже получил в определенных кругах широкую известность и популярность. Относительно простое и недорогое устройство, которое даже можно собрать самостоятельно, с открытой прошивкой позволило решать достаточно обширный спектр различных задач. И многие это уже оценили. Но до недавнего времени контроллер MegaD-328 не мог раскрыть весь свой потенциал полностью, так как на сайте был доступен только один исполнительный модуль MegaD-7I7O (7 входов, 7 выходов). А ведь одна из ключевых особенностей контроллера заключается в том, что к нему можно подключать исполнительные модули с различными конфигурациями портов. И вот сегодня речь пойдет о новом исполнительном модуле, который открывает для проекта MegaD новые перспективы.

MegaD-14-IN
MegaD-14-IN (14 настраиваемых входов)

Итак, исполнительный модуль MegaD-14-IN, в котором все 14 портов являются входами, но не совсем простыми, а настраиваемыми...

И вот примерный перечень оборудования, которое поддерживается новым исполнительным модулем:

- Выключатели, кнопки и т.д.
- Извещатели (датчики протечки, датчики движения, пожарные датчики)
- Аналоговые датчики на портах P0-P5 (датчики освещенности, ультрафиолета, газа и т.д.)
- Цифровые температурные датчики DS18B20
- Цифровые датчики температуры и влажности DHT11/DHT22
- Считыватели ключей iButton (TM) DS1990A
- Считыватели ключей Proximity EM-Marine и VIZIT-RF (поддерживающих протокол Dallas)
- 1-wire Метки DS2401

Теперь обо всем более подробно.

Модуль MegaD-14-IN помимо клеммных колодок, необходимых для подключения оборудования, содержит блок из 14 джамперов. Джамперы позволяют для каждого порта задать аппаратный режим работы входа.

Верхнее положение - стандартный вход: выключатели, кнопки, датчики протечки, движения. Словом, все то, что имеет два состояния: включено/выключено, активно/не активно.
Нижнее положение - цифровые датчики DS18B20, DHT11/DHT22, считыватели iButton/EM-Marine, метки DS2401, аналоговые датчики. То есть все то, что работает по цифровым шинам или возвращает определенное значение.

Но начнем с простого. С подключения кнопки.

С кнопкой все очень просто. Ее подключение такое же как в модуле MegaD-7I7O. Всего два провода, которые никак не связаны с напряжением 220В. Поэтому в качестве проводников для кнопок можно использовать очень тонкие провода. Многие даже используют "витую пару" (UTP). Длина провода также может быть достаточно большой: 100-200 метров. Никакого питания кнопке, разумеется, не требуется. Полярность подключения не важна. Положение джампера - верхнее.

Подключение датчика протечки Астра-361 почти ничем не отличается от подключения кнопки. Необходимо только соблюсти полярность (коричневый провод на левую клемму, белый на правую). Стоит сказать, что в качестве датчика протечки можно использовать даже просто два оголенных провода. Чувствительность стандартного входа исполнительного модуля MegaD-14-IN достаточно высока. Положение джампера верхнее.
Аналогично подключается и датчики движения. Дабы не дублировать информацию, о подключении датчиков движения можно прочитать в статье "Сигнализация по Ethernet". С датчиками движения также имеет значение полярность подключения. В материале по ссылке об этом написано.

Ну а теперь самое интересное...


Всепогодный датчик температуры DS18B20

Проект MegaD-328 теперь поддерживает 1-wire датчики DS18B20. Наконец-то! - скажет читатель. Да, долгое время я сопротивлялся реализации поддержки DS18B20 контроллером MegaD-328. Но все меняется, и пользователям удалось убедить меня в необходимости внедрения этой функции. На фотографии выше вы можете видеть цифровой датчик DS18B20 во влагозащищенном корпусе от DFRobot. Такое исполнение значительно дороже, но позволяет использовать датчик на улице и во влажных помещениях.

Обратите внимание. Джампер для порта P10, к которому мы подключает датчик температуры мы перевели в нижнее положение.
Желтый провод - данные, подключаем к правой клемме порта.
Черный провод - землю и Красный провод - питание, подключаем к левой клемме порта.
Для тех, кто не знаком с технологией 1-wire, цифровые датчики DS18B20 могут работать без внешнего питания, используя так называемое "паразитное" от линии данных. В данном случае я подключил датчик именно так, с использованием паразитного питания. Производитель рекомендует в этой ситуации соединить вывод питания с землей, что мы и сделали (желательно это сделать как можно ближе к датчику). Не стоит беспокоится по поводу подключения датчиков температуры на паразитном питании. В этом режиме они работают ничуть не хуже, чем с питанием, а длина провода может быть весьма существенной и измеряться десятками метров. Зато подключение очень удобное - достаточно зажать пару проводов в клеммы порта MegaD-14-IN и вот уже датчик виден из браузера!
Обязательно подключать к датчку питание необходимо при измерении температур выше 100 градусов (например, в сауне). Для этого достаточно соединить красный провод к клемме питания +3.3В (расположена в левом нижнем углу, слева от блока джамперов) исполнительного модуля MegaD-14-IN.

Для P10, к которому мы подключили датчик, необходимо выбрать тип порта "DSen", а тип сенсора "1W".
К одному порту можно подключить один датчик. Это позволяет значительно упростить жизнь конечному пользователю, так как нет необходимости в поддержке адресации и в коммутации датчиков шиной. В реальных домашних условиях особенно для начинающих пользователей намного удобнее подключать датчики звездой. Один датчик - один порт. Да и программное обеспечение в этом случае и проще и более унифицированное. Ведь работа с датчиком температуры ничем принципиально не будет отличаться от работы с кнопкой или любым аналоговым датчиком.

Но самое интересное заключается в том, что MegaD-328 может не только прочитать значение датчика температуры и передать его на сервер, но и работать в режиме "локального" или "удаленного" термостата. Как и в случае с АЦП-портами, мы можем настроить порт таким образом, чтобы контроллер сам следил за значениями температурного датчика и при необходимости включал или выключал нагрузку.
Как это сделать?

Mode: <> (контроллер будет следить за проходом температуры в обе стороны)
Val: 36.60 (пороговое значение)
Act: сценарий, например 8:3

В такой конфигурации (если P8 у нас является выходом), контроллер при температуре выше 36.60 градусов включит порт P8, а при температуре ниже выключит.
Команда "3" означает, что выход синхронизирован со входом. А это гарантирует, что при превышении порога выход будет всегда включен, независимо от того, в каком состоянии он находился до того (тогда как команда "2", например, инвертирует состояние порта). Подробнее о командах можно прочитать в базовой статье о MegaD-328.

Но ведь в данном случае мы имеем дело с модулем MegaD-14-IN. А значит у него нет выходов. Правда. Но правда и то, что у нас есть команда сетевого сценария Net. Таким образом мы можем отправить команду другому устройству на переключение порта, даже если у нас нет сервера!

192.168.0.15/sec/?cmd=8:3 будет означать, что устройство свяжется с другим контроллером, у которого есть выходы и также в нужный момент переключит порт. Что важно, в данном случае также применимы команды "3" и "4", синхронизирующие работу входа и выхода. Контроллер сам преобразует их в "1" или "0" при отправке другому устройству.

Но вернемся к подключению датчиков DS18B20. Влагозащищенные датчики требуются редко. А как подключать обычные датчики DS18B20 в корпусе ТО-92 ? Да точно также!

Берем обычный датчик DS18B20. У него три ножки:

Левая - земля. Соединяем ее с левой клеммой входа (синий провод на фото)
Центральная - данные. Соединяем ее с правой клеммой входа (белый провод на фото)
Правая - питание. Согласно рекомендациям производителя соединяем ее с землей.

Для наглядности и простоты я воткнул датчик в клеммную колодку. Можно использовать обычные клеммники из магазинов электротоваров, можно припаять провода непосредственно к датчику. Главное - никакой дополнительной обвязки не требуется!

Дополнительная обвязка не нужна и для цифровых датчиков температуры и влажности DHT11 / DHT 22

DHT11 / DHT22 также как DS18B20 подключаются непосредственно к любому порту исполнительного модуля MegaD-14-IN. Положение джампера нижнее. Но в отличие от DS18B20 этим датчикам требуется питание. Его можно взять тут же из специальной клеммы. Питание датчика 3,3 Вольта.

Настройка порта аналогична DS18B20 с той лишь разницей, что тип сенсора нужно выбрать DHT11 или DHT22. В данный момент функция локального и удаленного термостата для датчиков DHT не реализована. В остальном датчики полностью работоспособны. Стоит только заметить, что в работе этих датчиков есть одна особенность. Для получения текущего значения необходимо отправить запрос дважды с небольшой задержкой. Дело в том, что в момент взаимодействия с датчиком, считываются значения на момент предыдущего опроса. Это не ошибка в коде контроллера, это специфика работы самих датчиков.

Датчиками температуры возможности MegaD-328 и исполнительного модуля MegaD-14-IN не ограничиваются. К любому порту этого исполнительного модуля можно подключить считыватель ключей iButton (DS1990A или попросту "таблетки"). Раньше для работы со считывателем я использовал отдельный адаптер DS9490R и специальный скрипт, который постоянно опрашивал шину. Свой опыт я описал в статье, где рассказывал об автоматизацию калитки. Такое решение мне не очень нравилось. Это же совсем не забота сервера - в бесконечном цикле слать десятки запросов в секунду. Ведь программа owfs согласно своей идеологии ничего сама не делает. Это лишь шлюз к шине 1-wire. Поэтому обязательно нужна программа, которая висит в памяти компьютера и периодически проверяет, не появился ли какой-нибудь элемент на шине. Все принципиально меняется с контроллером MegaD-328. Именно он берет на себя всю черновую работу. Достаточно подключить двумя проводами считыватель к исполнительному модулю (внешнее кольцо - левая клемма, центральный контакт - правая). И как только ключ будет в считывателе, MegaD-328 стандартным способом через HTTP сообщит серверу адрес ключа. При этом контроллер отправляет информацию на сервер только в том случае, если прошла проверка контрольной суммы (CRC8). Если адрес ключа считался неверно, MegaD-328 автоматически заново считает информацию.

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

Настройка порта совсем уж простая. Необходимо только указать тип сенсора "iB".

Однако ключи таблетки ныне используются все реже. Сейчас куда более популярны беспроводные ключи Proximity EM-Marine. А поскольку выходной интерфейс у считывателей ключей EM-Marine как правило Dallas (он же 1-wire), то эти считыватели можно совершенно спокойно использовать вместе с MegaD-328, интегрируя технологию EM-Marine в общую систему Умного Дома минуя всякие специализированные контроллеры.

Схема подключения зависит от считывателя. На фото изображен один из самых распространенных и дешевых (стоимость в районе 500 руб) считывателей CP-Z2L.
Красный провод - питание +12В
Черный провод - земля - левая клемма
Белый провод - данные - правая клемма
Синий провод - для однократной передачи адрес ключа соединяется с шиной данных.

Настройка порта такая же как и для "таблеток" DS1990A. Считыватель прекрасно работает как с ключами EM-Marine, так и с ключами, продаваемыми под брендом Vizit RF (что, по всей видимости, одно и то же).
Важно! Не все считыватели беспроводных ключей корректно поддерживают протокол Dallas Touch Memory. Например, считыватель RD-3 от VIZIT не полностью совместим с 1-wire, а потому работать не будет.

И это еще не все. Поддержка протокола 1-wire, датчиков DS18B20 и ключей DS1990A теоретически означала возможность считывания адресов меток DS2401. Для пробы я подключил метку прямо к клеммной колодке порта. Левая ножка - земля (левая клемма). Центральная ножка - данные (правая клемма). Правая ножка не используется. Разумеется, контроллер без проблем считал адрес с этой микросхемы. Где это можно использовать? Ну, например, в охранных системах, сдублировав метки с концевиками окон или дверей, соединенных общей шиной. В этом случае по адресу метки можно определить какая "зона" сработала или какая дверь открылась. В данный момент прошивка поддерживает единовременное считывание только одной активной метки на шине. Но есть наработки по реализации 1-wire Search Algorithm, позволяющего считывать и отправлять на сервер адреса всех подключенных к шине "активных" элементов.

Наконец, к исполнительному модулю MegaD-14-IN можно также подключать и любые аналоговые датчики. Функция ADC (АЦП) доступна для портов P0-P5. Положение джампера - нижнее. Необходимо только убедиться (для датчиков с питанием выше 3,3В), что выходное напряжение не более опорного напряжения контроллера 3,3В. При необходимости напряжение можно ограничить резистором.
На фото Analog Grayscale Sensor. Питание +3,3В из исполнительного модуля. Земля - левая клемма порта P3, сигнал - правая клемма порта P3.

Тип порта ADC. Для данного типа порта также доступна функция "термостата", описанная выше для DS18B20, когда при превышении определенного значения можно переключать выходы.

Таким образом исполнительный модуль MegaD-14-IN позволяет на практике использовать идеи и решения, которые заложены в прошивку контроллера MegaD-328.
Описанные в тексте возможности актуальны для версии прошивки 3.34 beta 7 и выше.

 

Автор: Andrey_B
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.



Добавить комментарий:

(необязательно, не отображается на сайте)


Сортировка комментариев: Последние сверху | Первые сверху

2021-03-31 15:44:18 | Andrey_B
Марат, думаю Астра-361 или SW005 сработают, так как у них существенно выше чувствительность. А вообще интересный вопрос. Проведу как нибудь дополнительные эксперименты.


2021-03-31 14:19:02 | Марат
Вопрос по датчику протечки.

Для теста сделал датчик в виде оголенных проводов, подключил в свободный порт, окунул провода в ведро с водой - сработало.
Сделал подобие корпуса, поставил на полу в подвале, где ожидал подтопление (в одном углу каждый год весной затекает немного талой воды, дом недостроен). Оказалось, что датчик не срабатывает на талую воду. Как я понимаю не тот химический состав? Сначала думал ее мало, но потом я собрал ее в ведро, эффекта не дало.

Покупные датчики тоже не будут работать или у них другая логика в отличии от двух оголенных проводов? Есть ли другой споспоб для талой воды?


2019-08-31 16:36:17 | Andrey_B
Роман, возможна.
Вот здесь все описано.


2019-08-31 09:46:40 | Роман
Возможна ли идентификация пользователя при применении ключа таблетки или ключа EM-Marine?


2019-04-11 22:37:48 | Andrey_B
Илья, еще раз, джампер должен быть в режиме цифрового порта. В MegaD-14-IOR это _левое_ положение джампера. Там же на плате даже подписано.
Ну а к MegaD-8I7O-SD никакие драйверы конечно вообще нельзя подключать. Там порты для коммутации только 220В переменного тока!


2019-04-11 21:12:52 | Илья
Очень извиняюсь, у меня 14IOR, джампер вправо. Пробовал ещё на 8170SD, на порты с диммированием. Там вообще пусто, даже платка не горит.


2019-04-11 21:00:36 | Andrey_B
Илья, конфигурационный джампер в режиме цифрового порта?


2019-04-11 20:52:59 | Илья
Подключил D4184 к 14-in, port P10, режим out. PWM - Данные, GND - земля. VOUT+/- на ленту, VIN+/- на блок. В итоге лента горит, но на команды меги не реагирует. Если от меги отключить - то лента не горит. Куда ковырять? Инофрмации по подключению D4184 не нашёл, только по драйверу RGB.


2018-08-24 16:24:37 | Andrey_B
"Вход" бывает разным.
Если это "цифровой вход", то при 3В он будет включен (ON), а при 1,5В может болтаться ON/OFF.
Если это АЦП, то его значение будет пропорционально напряжению.
К "стандартном входу" такие датчики подключать нельзя.


2018-08-24 00:44:47 | Андрей
А можно на вход подать 1,5-3 вольт от датчика? Кажется встречал такие датчики протечки.


2018-04-16 13:07:51 | Дмитрий
Андрей, а что внутри этого модуля?


2018-04-14 10:54:10 | Andrey_B
Сергей, актуальная информация содержится в описании контроллера.
Например, здесь для MegaD-2561. В сопутствующих же статьях не всегда удается поддерживать актуальность, так как их написание происходило в разное время и отражало возможности контроллера на момент публикации.


2018-04-13 21:47:22 | Сергей
Просто описание не меняется, а функции добавляются. И как их совместить с 328 не всегда понятно. Спасибо за разъяснение.


2018-04-13 19:35:22 | Andrey_B
Сергей, все остальное - это что?
MegaD-328 (в отличие от MegaD-2561) не поддерживает работу с несколькими датчиками DS18B20, подключенными шиной. А по части меток DS1990A, DS2401 (режим iB), то адрес передается на сервер, как только метка появляется на шине. Но если их будет две одновременно, то MegaD-328 передаст адрес только одной из них. У MegaD-328 (в отличие от MegaD-2561) нет возможности считать адреса всех 1-wire устройств на шине.


2018-04-13 17:47:45 | Сергей
Понял. Просто у меня 328, там я так понимаю 1wbus нет (в смысле только один прибор может найти), но я так понимаю всё остальное фунциклирует?


2018-04-10 18:39:50 | Andrey_B
Сергей, вот здесь все написано. Режим порта "1WBUS".


2018-04-10 15:51:58 | Сергей
А передает на сервер или можно его узнать запросом? Допустим у меня на сервере есть задание для cron'a, который собирает температуру с локальных датчиков (по 1w) и заносятся в базу. Но индификатором для них как-раз и является данный адрес. Мне нужно знать его. Можно ли, в каком нибудь ответе от устройства, его узнать? И при появлении на устройстве, на порту с включенным 1w, что бы он передавал его на сервер (ну у Вас это megad.php)?


2018-04-10 15:04:59 | Andrey_B
Сергей, контроллер отображает уникальный адрес каждого датчика или метки, записанный производителем.


2018-04-10 13:50:53 | Сергей
А вот что-то не пойму, при подключении нескольких DS18b20 или меток, то как их распознать? Просто давно не был здесь (поставил и работает). И нигде не смог найти. Может при появлении метки передается её номер?


2018-02-02 11:20:27 | Andrey_B
Евгений, в любой операционной системе эту задачу можно решить двумя способами: либо скрипт должен быть запущен постоянно и периодически опрашивать порт, либо скрипт должен запускаться из планировщика (в Windows он, разумеется, тоже есть). Да, для опроса устройства и записи значений в БД Web-сервер в общем-то не нужен.


2018-02-01 20:29:59 | Евгений
Подскажите, пожалуйста. Имеется 14in, подключен датчик DS18B20. Через запрос в браузере могу посмотреть его показания в данный момент. написал скриптик, чтобы он это значение в бд записывал. А дальше что ? Как его настроить на опрос раз в 5 минут ? Пользуюсь ospanel на windows


2017-03-04 11:21:50 | Andrey_B
Василий, цифровые датчики можно подключать на один порт, если у датчиков действительно отличаются адреса.
Так, например, на один порт можно подключать несколько DS18B20.
На один порт можно подключать несколько DS2401. Это 1-wire метка, которую можно применять с герконами и прочими "сухими контактами". DS2401 вешается последовательно с кнопкой и при замыкании контакта оказывается "в сети". Настройка порта для такой функции DSen->iB. Данная функция работает только с цифровыми портами (портами в режиме цифрового входа, для MegaD-14-IN нижнее положение джампера).
На один порт можно подключить несколько I2C устройств разного типа, например, легко можно повесить HTU21D, TSL2591, BMP180 на одни и те же порты. Иногда есть возможность изменить существующий адрес по умолчанию, перепаяв резистор на плате датчика, но в прошивке поддерживаются только адреса по умолчанию для I2C-датчиков. Это, впрочем, можно решить с помощью I2C-PHP. Изменение аппаратного адреса имеет смысл, если очень хочется повесить на один порт I2C-датчики одного типа.


2017-03-03 17:35:26 | Василий
А можно подключить на один канал разные виды датчиков но из одного места тогда в принципе будет понятно откуда он сработал. Грубо говоря комната1 с блоком датчиков (дым, температура, геркон, присутствие). такой же блок в другой комнате. Или оно так не работает.
Просто я думал если датчики цифровые или 1-wire то у них как бы есть что-то наподобие id устройства на ветке за счет чего можно определить где именно он находится.
Тогда очень много выходов получается нужно будет задействовать, даже если герконы не считать.
Ну то что счетчики и приводы лучше на отдельный порт это в общем то понятно.


2017-03-03 15:27:06 | Andrey_B
DHT22 несколько на один порт нельзя.
ИК-извещатели теоретически можно. Но нельзя будет понять какой именно сработал.
Пожарные извещатели можно. Не более 4. Но нельзя будет понять какой именно сработал.
Датчик протечки можно, но нельзя будет понять какой именно сработал.
Счетчики? На один порт? И что порт будет считать?
Геркон можно, но нельзя будет понять какой именно сработал.
Приводы кранов можно подключать к модулям, у которых есть выходы (MegaD-7I7O, MegaD-14-R), но в этом случае все краны, подключенные к одному будут включаться/выключаться одновременно.


2017-03-03 12:45:12 | Василий
Добрый день. Подскажите пожалуйста на чем можно реализовать данную вещь?
что из этого можно паралелить чтобы использовать один вход.
темп+влажность 7-8шт
присутсвие 5-7шт
датчик дыма 5шт
датчик протечки 6шт
показания Электросчетчик 1шт
показание воодосчетчик 2шт
геркон 15-20шт
приводы кранов 5шт
освещение 6 групп я правильно понимаю что в теории если на одной группе несколько источников то необходимо выход под каждый источник так как иначе он будет управлять всей группой сразу.
Прокладываться будет UTP звездой на конце ее планировал либо группу датчиков либо если так нельзя то вешать на каждую пару по датчику.


2017-02-08 15:23:39 | Andrey_B
Павел, конечно, можно.


2017-02-08 12:12:22 | Павел
Землю с датчиков DHT-22 и DS18B20 же не обязательно подключать непосредственно к каждому входу контроллера 14-IN? Можно просто на общую шину?


2017-02-08 06:58:55 | Sensei
Продублирую вопрос, народу может интересно.
Возможно ли подключить NFC reader, чтобы использовать nfc метки?
Очень удобный стандарт который уже присутствует в банковских картах, метро, телефонах, кольцах.


2016-12-05 09:56:41 | Andrey_B
Михаил, я не эксперт по OpenHAB, но не вижу каких либо причин, мешающих работе со считывателями в OpenHAB.


2016-12-05 06:57:39 | Михаил
CP-Z2L (EM-Marine) будет отображаться в openhab или требуется только Ваша версия сервера?


2016-10-05 23:46:40 | Andrey_B
Dark, теоретически подключить можно, но нужно тестировать. Без тестирования гарантировать совместимость не могу. Может быть, закажу подобную штуку ради проверки.


2016-10-03 23:05:07 | Dark
Добрый вечер! Подскажите, как правильно подключить это устройство: https:/ru.aliexpress.com/item/5V-DC-4channel-RF-Receiver-Transmitter-Module-Output-DC5V-4CH-high-Level-TTL-Transceiver-Module-Relay/32233194256.html?spm=2114.10010208.1000013.9.72DqnT&scm=1007.13339.33317.0&pvid=c44535a3-2417-4624-8204-ea15a3953c02&tpp=1 к mega14in, спасибо!


2016-09-10 16:25:07 | Andrey_B
Михаил, работа индикации в исполнительном модуле никак не зависит от прошивки. Она реализована аппаратно. Для MegaD-14-IN она работает ТОЛЬКО при замыкании контактов при верхнем положении конфигурационного джампера (режим "сухого контакта").


2016-09-10 13:36:09 | Михаил
При работе порта в режиме OUT лампочка индикатор не загорается, когда как в режиме IN всегда загорается при поступающем сигнале. Может быть добавить в прошивку чтобы при включении порта в режиме работы OUT тоже светодиод-индикатор горел? Спасибо.


2016-08-04 10:46:52 | Andrey_B
MegaD-14-IN может точно "отдать" 500мА. Поэтому на него можно повесить 25 датчиков, потребляющих по 20мА.


2016-08-03 17:18:51 | Andrey_B
Андрей, то, что считыватель греется - это нормально.
По поводу длины провода. Эксперименты не проводил, поэтому точной информации дать не могу. Попробую запланировать такие испытания. На всякий случай проверьте напряжение на конце провода. Может быть, не хватает.


2016-07-30 17:26:01 | Руслан
Хочу запитать от MegaD-14-IN несколько датчиков движения (плюс на +12В, минус на GND). Ток потребения датчика =20 мА. Можно ли так сделать? Вообще, какую суммарную нагрузку можно подключать к этим клеммам питания на Меге?


2016-07-25 09:15:03 | Андрей
Присоединяюсь к вопросу Алексея про длину длину провода. Подключил вчера и не работает считыватель, длина около 8 метров(витая пара). И еще он немного нагревается, так и должно быть?


2016-07-24 14:45:04 | Алексей
Подскажите,на какой длине провода нормально работает считыватель CP-Z2L? Подключаю к модулю напрямую - работает. Подключаю через неэкранированную витую пару порядка 10-15 метров - не работает. Провод без обрывов, в режиме кнопки работает.


2016-06-09 11:27:03 | Andrey_B
На входах исполнительных модулей MegaD присутствует, в зависимости от типа модуля, напряжение от 3,3 до 12 В. Поэтому и нужно соблюдать полярность при подключении датчиков - OUT датчика на IN модуля, GND на GND.


2016-06-08 22:42:17 | Виталий
С датчиками ясно. А вот на стороне контроллера, какая разница с какой стороны замкнутся контакты?


2016-06-08 15:13:41 | Andrey_B
Полярность для кнопок ("сухих контактов") значения не имеет, так как у них нет полярности. По поводу датчиков. Выход датчиков представляет собой транзисторный ключ на транзисторе проводимости n-p-n, то есть элемент, работа которого зависит от полярности приложенного напряжения. На коллекторе должен быть +, на эмиттере -


2016-06-08 03:13:15 | Виталий
Андрей, подскажите; почему нужно соблюдать полярность при подключении кнопок или датчиков протечки, наличия 220В?


2016-06-04 11:41:20 | Andrey_B
Александр, подключать цифровые датчики к MegaD-7I7O можно, но для этого нужно немного переделать входы. Как это сделать я писал на форуме. Хочу заметить, что переделанные таким образом входы будут хорошо работать с любыми цифровыми датчиками, но максимальная дальность при подключении кнопок ("сухих контактов") резко уменьшится. Также при заказе можно запросить переделку входов в "заводских" условиях.


2016-06-04 05:21:47 | Александр
Можно ли считывать DHT-11..22, BMP180, HTU21D через 7I7O модуль?


2016-04-25 10:27:13 | Andrey_B
Фмут, в режиме "кнопки" входы защищены опторазвязкой. В режиме "цифрового датчика" защиты нет, так как в этом режиме ее трудно или невозможно предусмотреть из-за широкого спектра различных датчиков, которые могут быть использованы с этим модулем.


2016-04-25 08:33:14 | Фмут
А как порты защищены от внешнего воздействия? Перенапряжения или большого тока? Есть схема модуля?


2016-03-29 11:24:33 | Andrey_B
Андрей, вы можете сделать предзаказ и тогда вы точно сможете получить устройство. Так получалось, что количество предзаказов превышало объем производства, поэтому в свободную продажу эти комплекты не поступали. Но сейчас объем производства увеличен, поэтому, думаю, скоро устройство появится в наличии. Но, повторюсь, вы всегда можете оформить предзаказ. Это не только не потребует предоплату, но вы сможете получить комплект с 3% скидкой.


2016-03-29 09:49:24 | Андрей
А устройство MegaD-328-IN Kit вообще когда-нибудь будет в продаже?. Сроки поставки на сайте ПОСТОЯННО переносятся! Зачем вставлять в прайс-лист устройство которое не возможно купить??? Сделал проводку в расчете на это устройство - теперь получается надо искать что-то другое и все переделывать!


2016-03-05 12:34:50 | Andrey_B
Igor78, вы правильно поняли. Особенности в том, что порт будет подтянут к +3,3 через резистор 4,7 кОм. В некоторых случаях, в зависимости от того, что конкретно будет подключаться к порту, это нужно учитывать.


2016-03-03 09:37:27 | Igor78
Андрей, а правильно я понял, что при нижнем положении джемпера, и установки порта в режим OUT (SW или PWM) мы получаем не вход, а выход аналогичный прямому выходу с контроллера (3.3 V)? Если это так, то есть ли какие-то особенности его использования в таком режиме по сравнению с прямым подключением в порту контроллера? И еще вопрос: в чем отличие версии 6.2 от версии 6.1?


2016-02-25 16:34:48 | Andrey_B
Никита, к одному MegaD-14-IN можно подключить 14 датчиков.
Чисто технически можно подключить и шиной, но для этого нужно модифицировать прошивку. Для реализации этой функции не хватает памяти в микроконтроллере, поэтому из модифицированной прошивки придется что-то убрать, например, работу с DHT11/22.
Еще можно воспользоваться штатными средствами типа DS9490R. Я правда не знаю поддерживает ли этот адаптер OpenHAB.


2016-02-25 14:59:41 | Никита
Andrey_B То есть для измерения температуры с Mega-D нужно витую пару (420,5) кинуть звездой к каждому датчику? Одного Mega-D-14in хватит для 7 или 14 датчиков? А без пайки можно с шины с 7-14 датчиков как-то считать показания в openhub? Есть какие-нибудь устройства?


2016-02-25 11:53:32 | Andrey_B
Никита, в данный момент один датчик - один порт.
В дальнейшем, думаю, эту проблему можно будет решить. Возможно, уже на новом микроконтроллере.


2016-02-25 10:02:22 | Никита
Подскажите, к этому прибору датчики DS18B20 подключаются по 1 датчику на порт? Или шиной на один порт? Как можно с помощью Ваших разработок подешевле и попроще организовать измерение температуры воздуха в 10-12 точках и передать их на уровень OpenHUB?


2016-02-12 23:38:03 | Andrey_B
Александр, это поле Script в общих настройках Config. Не в настройках порта.


2016-02-12 22:09:50 | Александр
Андрей, а где вы прописываете, что при поднесении ключа вызывать именно test-md.php? Ведь в настройках порта стоит только тип DSen / 1B и нет поля для имени скрипта?


2016-02-12 21:46:48 | Andrey_B
Александр, скрипт вызывается только в момент передачи данных с информацией о ключе. Никакого бесконечно цикла нет. Скрипт получает данные напрямую и никакие логи не читает.


2016-02-12 20:45:52 | Александр
Андрей, подскажите, пожалуйста, по поводу считывателя Cpz-2l - как на сервере обработать момент, когда поднесен ключ? У вас на скриншоте вызывается скрипт test-md.php - где указывается имя скрипта? Правильно ли я понимаю, что на сервере все равно должен крутится скрипт в бесконечном цикле, читающий лог apache на предмет появления сообщений, как у вас на скриншоте?


2016-02-02 22:12:56 | Андрей
Эдуард, а в чем проблема добавить расширитель портов? Взять исходник и дописать.


2016-02-02 22:10:47 | Андрей
Не-не. Я пишу свой контроллер, с мультисетями 1-wire (до 8 сетей) с суммарным количеством устройств не менее 64. Прочий функционал - аналогичен, за исключением "автономных команд". Места в eeprom маловато. А на каждое 1-wire устройство надо 8 байт адреса, 3 бита на номер сети, 5 бит "конфига" (например для 2406 как ключа). Проще и лучше сервер резервировать ИМХО.


2016-01-31 21:07:32 | Эдуард
Я про 20 выключателей спросил к тому, что не хватает входов даже у 2-х исполнительных модулей 7+14. Еще же нужно и исполнительными уст-ми управлять. Получается нужно еще мегу 328 ставить?


2016-01-29 12:35:08 | Andrey_B
Эдуард, во-первых, устройство само сообщает о факте нажатия кнопки. Во-вторых, есть режим get=all, когда устройство сообщает состояние всех своих портов. Контроллер на базе atmega2561 будет дороже, чем atmega328, поэтому по стоимости, возможно, выйдет примерно одинаково, что 2561 + 2 исполнительных модуля, что два равнозначных комплекта на базе 328.


2016-01-29 10:28:00 | Эдуард
Подожду версии с возможностью подключения 2-х исполнительных модулей: 7i7o и 14i. И как можно считывать состояние кнопок освещения, когда этих кнопок более 20, включая несколько проходных выключателей?


2016-01-22 18:53:23 | Andrey_B
Igor2091, если вопрос заключается в том, можно ли сэкономить провода для земли и питания, то да, можно. Можно даже не использовать питание, тогда достаточно будет четырех проводов. Однако стоит сказать, что на длинных участках надежность такого подключения будет ниже. Надежность и стабильность на длинных участках можно достичь если использовать свитые провода витой пары (земля-данные). Отдельно подчеркну, что в текущей реализации прошивки, к одному порту можно подключить только один датчик. Подключение датчиков шиной будет обсуждаться в дальнейшем.


2016-01-22 16:10:32 | Igor2091
Правильно ли понимаю - для подключения трех датчиков DS18B20 в одной локации достаточно шлейфа из 5 проводов до контроллера ?


2016-01-12 12:16:24 | Andrey_B
Владимир, возможно, в следующей версии контроллера появится возможность подключения двух исполнительных модулей. Но реализовано это будет с помощью двух отдельных шлейфов. Тогда останется полная совместимость со всеми ранее выпущенными исполнительными модулями.


2016-01-12 05:47:32 | Владимир
Было бы очень замечательно подключать 2 модуля, прям вот очень хотелось бы. Шлейф сделать двойной как раньше на IDE порты и подключать, а то 2 полноценных устройства это отдельные кабели для ethernet отдельная мега, которая стоит отделных денег, поддерживаю Кирилла чтоб у меги была возможнось подключения 2-х модулей


2015-12-29 11:25:49 | Andrey_B
Кирилл, к одному контроллеру можно подключить только один исполнительный модуль. В вашем случае нужно использовать 2 или более полноценных комплекта. DS18B20 на один канал параллельно пока вешать нельзя, но не исключаю, что такая возможность появится в будущем.


2015-12-28 22:56:56 | Кирилл
Скажите, можно ли к одной меге подключить 2 исполнительных устройства? Скажем 7170 и 14IN? Или нужно в таком случае делать 2 паралельных меги?
Мой проект насчитывает 9 нагрузок (лампочки, вентилятор и сервопривод штор) и 17 передающих устройств (датчики и кнопки). Какая конфигурация оборудования сможет все это в себе уместить? Или может есть способ свести несколько датчиков в один канал?


2015-12-08 17:19:28 | Andrey_B
Павел, если говорить языком формальностей, то минимальная температура определяется минимальной температурой компонентов, которые применяются в устройстве. Для некоторых компонентов производители заявили работу от 0 градусов, поэтому формально минимальная температура для устройства 0 градусов. С другой стороны пользователи успешно используют устройства при температурах до -20 градусов. Поэтому скажу так, с очень большой долей вероятности, устройство без проблем будет работать при температурах по крайней мере до -15 градусов, но все же дать 100% гарантию не могу.
По влажности вопрос специально не изучался. Устройство, разумеется, не герметично, а значит максимальная влажность примерно такая же, как у любого электронного устройства общего назначения.


2015-12-08 15:42:47 | Павел
Добрый день! В каких условиях работают ваши контроллеры (диапазон температур, влажность)?
Будут ли они работа в неотапливаемых помещениях?


2015-12-07 15:05:58 | USA
Andrey_B, Ok, не учел то что ресурсы у Меги ограничены.

А планируется обеспечить возможность подключения к 14IN сразу нескольких DS18B20/DS2401 на шине к одному входу?
Чтобы к нескольким датчикам, расположенным в одном месте, тянуть только один кабель.


2015-12-07 12:02:47 | Andrey_B
USA, если мы говорим о чипе atmega328, то в текущий момент каждый байт памяти крайне дорогой ресурс. С другой же стороны, распарсить ответ на сервере - это сущий пустяк, это даже не строчка, а полстрочки кода. Я не вижу тут какой-либо проблемы вовсе. А использовать драгоценную память на то, чтобы отдать результат вот так, а не иначе просто жалко. Ведь эту память можно использовать на по-настоящему важные задачи.


2015-12-05 15:41:55 | USA
Андрей, вот у меня подключен датчик DS18B20 и я исполняю:
192.168.0.14/sec/?pt=1&cmd=get
Мне возвращается:
temp:40.68

А есть возможность получить просто значение 40.68 без префикса "temp:"?

P.S. В случае с DHT22 хотелось бы отправить запрос, в котором я говорю что мне нужна именно температура. А в другом запросе хочу получить именно влажность. Чтобы не парсить полученные простой командой get результаты, вытаскивая из них именно нужный мне параметр.


2015-11-04 21:37:06 | Andrey_B
Александр, датчик DS18B20 нельзя подключить к исполнительному модулю MegaD-7I7O, так как аппаратная реализация входов адаптирована для подключения кнопок, но не цифровых датчиков.


2015-11-04 14:35:32 | Александр
Как подключить датчик DS18B20 к MegaD-7I7O ?


2015-10-19 15:18:21 | Andrey_B
USA, чтение влажности доступно.


2015-10-19 13:25:16 | USA
Отлично! 14IN - то чего не хватало!

Да, экономически выгоднее 1wire сеть строить, но:
1. 14IN проще в освоении, внедрении и программировании.
2. Далеко не всегда топология шины удобна и позволяет дотянуться до нужных датчиков. Иногда проще кинуть до датчика отдельную ветку (звездой), чем подключать еще один 1wire контроллер и тянуть на нем отдельную шину.

P.S. Кстати, а чтение влажности с DHT22 сейчас в 14IN доступно?


2015-10-17 02:29:53 | Сергей
А аппаратную часть можно где-то увидеть?


2015-10-01 09:57:42 | Павел
Большое спасибо за модуль 14IN и поддержку DS18B20, это именно то, чего мне не хватало в проекте MegaD!


2015-07-16 13:05:59 | Кирилл
Андрей, а где посмотреть аппаратную часть для DS18B20? Я нашел только схему сDS2482-100, но она не будет работать с Вашей прошивкой, насколько я понимаю.


2015-07-11 22:30:48 | Andrey_B
Роман, спасибо, поправил.


2015-07-11 15:15:06 | Роман
Андрей,извините,что поправляю Вас,но это не классическая литература,а всё-таки техническое описание прибора.Исправьте,пожалуйста,описку в тексте(два раза присутствует "правая ножка" с землёй и питанием)"Берем обычный датчик DS18B20. У него три ножки:

Правая - земля. Соединяем ее с левой клеммой входа (синий провод на фото)
Центральная ножка - данные. Соединяем ее с правой клеммой входа (белый провод на фото)
Правая ножка - питание. Согласно рекомендациям производителя соединяем ее с землей."


2015-07-05 11:14:43 | Andrey_B
HC-SR501 работать будет. Питание датчика подключать к +12, выход - ко входу, переключенному в режим датчика (джампер внизу).
HC-SR04 не уверен. По документации питание +5В. В модуле на клемме такого напряжения нет. Будет ли работать от 3,3В - неизвестно. Нужно проверять.


2015-07-05 03:49:58 | Alexiy2
Андрей, подскажите пожалуйста, а с данной моделью будут работать инфракрасный датчик присутствия HC-SR501 и ультрозвуковой дальномер HC-SR04


2015-07-02 17:35:23 | Антон
Ура!
Отличный модуль! Теперь новичкам, как я, будет намного проще организовать систему!
Огромное спасибо за Ваш интересный развивающийся проект.


2015-07-02 12:22:01 | Andrey_B
Андрей, в данный момент предлагается только два исполнительных модуля с выходами MegaD-7I7O-SD (симисторный) и MegaD-7I7O-R (релейный). Вариант 14 OUT обсуждается, но в корпус 6-DIN такая конфигурация не поместится - нужно брать 9-DIN.
Баланс входов/выходов - штука очень индивидуальная и зависит от конкретного объекта. Например, есть 5 групп освещения (5 ламп и 7 выключателей), 5-7 датчиков движения, протечки, дыма, 4-5 температурных датчиков, пара считывателей, 2 клапана безопасности на воду/газ. Баланс входов в этом случае как раз тот, что нужен. А ситуация вполне реальная и распространенная.


2015-07-02 10:22:12 | Андрей
Если использовать MegaD-14-IN, который прекрасно закрывает все проблемы входов, что тогда использовать для управления (OUT) ? MegaD-7I7O? Пропорция между входами и выходами становится 21:7, что сильно разбалансировано. Нужен простой возможно дешёвый MegaD-14-OUT, тогда комбинация MegaD-14-IN+MegaD-14-OUT будет выигрышной по сравнению c 2 MegaD-7I7O + 1 wire .


2015-06-30 21:45:06 | Andrey_B
Андрей, аппаратная обвязка датчиков DS18B20 и кнопок принципиально отличается. Реализация в MegaD-7I7O настраиваемых входов как в MegaD-14-IN невозможна, так как для этого на плате и в корпусе нет места.
MegaD-7I7O специализируется на работе с выключателями, датчиками типа ON/OFF и любыми типами нагрузок. Это, скажем так, базовый исполнительный модуль. Их может быть на конкретном объекте достаточно много (так как подавляющее большинство задач решается именно с помощью этого модуля). MegaD-14-IN в доме нужен разве что один или два. Специально для температурного контроля (на дом достаточно 4-7 датчиков), аналоговых датчиков и всяких других спец. применений (считыватели ключей). Но оба эти модуля благодаря единому контроллеру вписываются в единую концепцию. Они работают с одним программным обеспечением. Такова идеология проекта. По-моему это удобно.
В ближайшем будущем планируется производство еще одно исполнительного модуля, в котором будет несколько стандартных входов (для кнопок), стандартных входов (для цифровых и аналоговых датчиков) и несколько релейных выходов. Этакий универсальный комбайн для каких-то небольших задач, требующих возможность подключения как можно более разнообразного оборудования. Но в нем входы не будут иметь опцию настройки, как в MegaD-14-IN. Опять же по причине того, что это не поместиться на плату и в корпус.


2015-06-30 20:20:45 | Андрей
Андрей, всё верно если сравнивать 14i c 1 wire, я же сравниваю 7i7o+1 wire с 7i7o+14i. Поэтому мечтой бы был 7i7o с поддержкой 1wire.


2015-06-30 18:09:28 | Andrey_B
Александр, к одному модулю, конечно же, можно подключать несколько датчиков, требующих питание. К сожалению питающая клемма одна. Связано это, прежде всего, с размерами корпуса. Но нет никаких проблем, к примеру, взять что-нибудь вроде нулевой шины (можно в корпусе, 3-х фазную, чтобы подключить к ней сразу +3,3В, +12В и землю - такие выпускает ИЭК) и таким образом обеспечить возможность питания нужного количества датчиков.
Посмотрите по артикулу SQ0801-0009. Они бывают разной размерности. То есть с помощью такой штуки можно разветвить питание.


2015-06-30 16:49:59 | Александр
Andrey_B, возможно ли подключение к данному модулю нескольких датчиков, требующих внешнее питание? Их все, в таком случае, необходимо подключить к одной клемме?


2015-06-30 14:33:05 | Andrey_B
Андрей, вот когда подключите к "1wire контроллеру" все то оборудование, которое описано в статье, да так, чтобы зажал в клеммах и все заработало, да так, чтобы можно было подключить на одну шину пяток-другой кнопок или охранных датчиков, да так, чтобы не опрашивать их десятки раз в секунду, боясь пропустить факт нажатия, когда идет процесс преобразования температуры одного из температурных датчиков, да так, чтобы можно было подключить пару считывателей и узнать какой из них сработал, да так, чтобы устройства могли управлять друг другом без сервера, да так, чтобы можно было получать состояние элементов и управлять ими даже без всякого ПО, даже без сервера, и так далее и тому подобное, вот тогда и поговорим об экономике, договорились?
Андрей, а вам не кажется странным сравнивать ужа с ежом? Ну да, у них обоих глаза есть и рот... Да только разные они... совсем.


2015-06-30 12:40:23 | Андрей
Чисто экономически 14 in проигрывает 1 wire контролеру , 5550 руб против 1500 руб (али), по крайней мере при ограничении 14 устройств.


2015-06-30 12:17:17 | Andrey_B
Андрей, стандартный вход, рассчитанный только на работу с кнопками/выключателям/датчиками протечки, движения и т.д. не предназначен для подключения DS18B20. К входам исполнительного модуля MegaD-7I7O нельзя подключить цифровые датчики.


2015-06-30 11:44:01 | Andrey_B
Ruslan, да, верно. Запитать DS18B20 можно от +3,3В, которые выведены на клемму исполнительного модуля. Действительно производитель рекомендует подключать питание к датчикам для измерения температур выше 100 градусов.


2015-06-30 10:36:59 | Андрей
Можно включить поддержку 1 wire в исп. модуль 7i7R


2015-06-30 10:29:30 | Сергей
Отлично! Поддержка 1-wire как со стороны кода, так и со стороны аппаратуры - то, чего не хватало.


2015-06-30 09:36:22 | Ruslan
Andrey_B, а если к датчику DS18B20 все же есть желание подключить внешнее питание, правильно ли я понимаю, что можно просто подключить провод, подающий питание на датчик, к клемме исполнительного модуля (+3,3 V), по аналогии с датчиками DHT11/ DHT22? Я, например, планирую поставить такой датчик в баню (в парную), где температура может быть 110-120 градусов, и подводка внешнего питания, вроде бы, желательна.


2015-06-29 19:56:43 | terzo
Поддерживаю. Круто! Будем ждать продолжения статьи.


2015-06-29 19:07:12 | Денис
Круто! Оказывается все же есть продвижение! Так держать!