DS2406P универсальный элемент стандарта 1-Wire-net. Она содержит два независимых транзисторных ключа, с током потребления до 50 мА на предельном коммутируемом напряжении +13 В (для канала А) и до 8 мА на предельном коммутируемом напряжении +6 В (для канала B). DS2406P может быть использована также для контроля двух независимых датчиков дискретных сигналов типа "сухой контакт". (с).
Изучаем схему с сайта http://www.benuks.ru/
Схема аналогична этой. Только тут используется более "продвинутая" микросхема.
Освоим технологию создания плат (типа продинутый ЛУТ), мне понравилось вот это видео (пришлось даже ламинатор купить):
Качаем архив со схемами в формате layout4. Находим там схему и печатаем на листе тонкого глянцевого журнала, прогоняем результат с ламинатором.
То, что получилось у меня после печати и прогона в ламинаторе (160 градусов Цельсия):
Травим, получаем (снизу артефакты от первой печати с фотобумагой, сверху - плохой журнальный лист - тонер отскочил от него - подкрасил маркером):
Моем (бензин или ацетон) и сверлим отверстия (я собрал мини дрель - держатель в сборе в радио магазине, двигатель от детской машины).
Для покупки-сбора инструмента, освоение технологий, ушло пару-тройку рабочих недель. Цанговый патрон брал в местном радио-магазине, сверла здесь. Отличные сверла, рекомендую. Лудим, паяем плату.
Обратите внимание - в схеме надо делать перемычку для подачи 5 вольт на ds2406. Далее, я подпаял разъем rj11 и подключил к нашей сети 1wire . Заходим в директорию /mnt/1wire и смотрим - у нас должен появиться новый датчик. Подключив геркон к выводу "земля" и А (или B), а магнит приклеив к замку - получаем датчик закрытого\открытого замка:
root@truck:/mnt/1wire/12.***4B2000000# cat sensed.A 0 root@truck:/mnt/1wire/12.***4B2000000# cat sensed.B 1
B - можно использовать тут же, например, для датчика закрытой двери.
Стабилизатор с 18 на 12 вольт я впаивать не стал - в данном случае нам 12 вольт не нужно.
OpenHAB
Теперь нам надо показания датчиков открытия отобразить в OpenHAB. Я пытался использовать стандартный Contact item. Но по-видимому он еще не работает с 1wire. Поэтому пришлось прописать показания открытого замка как Number.
/* Active Group */ Group:Number:SUM Doors "Двери [открыто: %d]"(All) /* Contacts */ Number Main_Door "Входная дверь: [MAP(ru.map):%s]" <door> (Doors) { onewire="12.A234B4000000#sensed.B" } Number Main_Door_Lock "Замок в двери: [MAP(ru.map):%s]" <door> (Doors) { onewire="12.A234B4000000#sensed.A" }
1 - открытая дверь/замок, 0 - закрытая. Группа Doors (привет поклонникам Джима :) ) - показывает суммарное значение показаний item в группе - соответственно, количество открытых дверей.
ru.map пишем по аналогу en.map. В sitemap выводим просто группу.
Так как doors у нас через number, а иконка door завязана на Contact с показаниями open\close, то картинку door-open.png копируем в door-1.png, а door-close.png копируем в door-0.png.
Результат:
ps. Только я спросил про патч, сразу товарищи разработчики его наложили. Так что можете пробовать Contact item в ночном билде (я думаю это исправление войдет в версию 1.4, которая выйдет 9-го февраля 2014 года). Я пробовать не буду, так как меня пока устраивает на основе Numbers.
Комментариев нет:
Отправить комментарий