|
|
www.lissyara.su
—> статьи
—> Очумелые Ручки
—> Компьютерные
—> 1-Wire
Изготовление простейшего контроллера шины 1-Wire для создания системы мониторинга температуры.
Автор: Капитан.
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
Автор не несёт ответственности за возможные негативные последствия вызванные попытками применить на практике материалы данной статьи!
Железо
Датчик подключается к COM порту компьютера. Мы будем собирать его навесным монтажом в корпусе разъёма DB9.
Возможные грабли:
Перед закупкой деталей убедитесь, что COM порт вашего сервера мониторинга имеет стандартное питание 9 В. Померьте напряжение между 4 и 5 контактом. Убил кучу времени пытаясь завести схему на сервере Hewlett Packard с 5-ти вольтовым портом. У стандартного порта напряжение между 4 и 5 контактом будет примерно 10-11,5 вольт
Для стандартного порта схема простейшего контроллера выглядит следующим образом:
По сути - это просто преобразователь уровней.
Для сбора схемы с одним датчиком были закуплены в «Чип&Дип» следующие детали:
1.Диод Шоттки - 1N5818 – 2шт.
2.Стабилитрон на 3,9 В - BZX55C3v9 – 1шт.
3.Стабилитрон на 6,2 В - BZX55C6v2 – 1шт.
4.Резистор на 1,5 КОм – 1шт.
5.Датчик температуры DS1820 – 1шт.
6.Корпус разъема DB9 – 1шт.
7.Разъем DB9 мама (Female) – 1шт.
Всё это дело обошлось примерно в 420р. По ценам января 2011 года.
Самая дорогая деталь – сам датчик (~280р.). Если необходимо наблюдать за температурой в нескольких точках, можно купить несколько датчиков и соединить их параллельно. Каждый датчик имеет уникальный идентификатор.
Маркировка датчика DS1820
Маркировка полупроводников
Штриху на корпусе соответствует катод.
Я советую сначала скрутить все детали “в воздухе ” с помощью пинцета или маленьких плоскогубцев
Лишние концы выводов деталей лучше откусить уже после пайки.
Выводы, которыми схема будет припаиваться к разъёму, откусываем в последнюю очередь
Сам разъём
Возможные грабли:
В советском радиолюбительском жаргоне используется слово МАМА для обозначения разъема с дырочками и, ПАПА – разъём со штырьками. Буржуины, соответственно, используют обозначения МУЖСКОЙ и ЖЕНСКИЙ пол. Так, что обозначения в каталогах F и M это не Father и Mother, а Female и Male. Будьте внимательны при заказе радиодеталей дистанционно! ;-)
Для удобства монтажа я откусил неиспользуемые контакты разъёма
Припаиваем схему к контактам разъёма
Размещаем всё в корпусе
Напаиваем датчик на кабель
В качестве кембриков я использовал изоляцию от более толстого провода. Третий вывод я не использовал.
Я использую один датчик, поэтому просто втянул его в кабель, потащив за проводники с обратной стороны
Для придания эстетического вида можно использовать и термоусадку. Если красивость не важна, никто не запрещает использование изоленты.
В работе это выглядит примерно так
Если кто собирается вешать несколько датчиков в разных местах или экспериментировать с разными устройствами, рекомендую размещать схему вот в таком разъёме-переходнике
Это позволит более оперативно производить различные коммутации. Такой переходник знаком техническим специалистам телекоммуникационных компаний. Без такого к "кошкиной" консоли не подберёшься. ;-)
Теперь софт
В портах FreeBSD программы Digitemp нет.
Придётся ставить вручную из исходников. Исходники можно скачать с сайта разработчиков по адресу:
http://www.digitemp.com
Для компиляции понадобится gmake, если не установлен, собираем из портов
#cd /usr/ports/devel/gmake
#make install clean
#rehash
| Начинаем ставить Digitemp.
#mkdir /usr/temporaly_source_code_folder
#cd /usr/temporaly_source_code_folder
#fetch http://www.digitemp.com/software/linux/digitemp-3.6.0.tar.gz
#tar -xzvf digitemp-3.6.0.tar.gz
| После разархивирования у нас появится папка /usr/temporaly_source_code_folder/digitemp-3.6.0
#cd digitemp-3.6.0
#gmake ds9097
| После компиляции в папке появится исполняемый файл digitemp_DS9097. Проверяем:
Программа выведет встроенный Help. Всё ОК.В принципе, кроме этого файла нам больше ничего и не нужно.
Создаём рабочую папку нашей системы наблюдения за температурой.
#mkdir /usr/local/etc/digitemp/
#cp digitemp_DS9097 /usr/local/etc/digitemp/digitemp
#rm –r /usr/temporaly_source_code_folder
#cd /usr/local/etc/digitemp
| Контроллер присоединён к COM1, выполняем его инициализацию.
# ./digitemp -i -s /dev/cuau0
| Будет выведена информация о найденных датчиках и создан файл конфигурации .digitemprc примерно следующего содержания:
TTY /dev/cuau0
READ_TIME 1000
LOG_TYPE 1
LOG_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F"
CNT_FORMAT "%b %d %H:%M:%S Sensor %s #%n %C"
HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
SENSORS 1
ROM 0 0x28 0x4B 0xD1 0xC7 0x02 0x00 0x00 0xF0
|
Как видно, у меня один датчик. Нумерация датчиков начинается с нуля.
Пробуем снять показания.
#/usr/local/etc/digitemp/digitemp -a -c /usr/local/etc/digitemp/.digitemprc
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Jan 27 12:51:38 Sensor 0 C: 23.62 F: 74.53
| Что и требовалось . . .
Практическое применение схемы для формирования графиков изменения температуры описано в статье:
http://www.lissyara.su/articles/freebsd/programms/mrtg+digitemp/
Система оповещения о превышении температуры на основе Nagios описана в статье:
http://www.lissyara.su/articles/freebsd/programms/nagios+digitemp/
Лирическое отступление
Шина 1-Wire (один провод) была разработана в недрах капиталистической фирмы Dallas Semiconductor в 90-х годах прошлого века. Она представляет из себя сеть, с одним ведущим устройством (мастером) и несколькими ведомыми. На самом деле для осуществления связи используется минимум два провода: линия данных и земля, из-за этого в некоторых русскоязычных источниках я встречал термин "двухпроводная шина". Предусматривается и возможность дополнительного питания устройств по отдельному проводу (3-й вывод датчика). Однако ведомые устройства умеют накапливать энергию импульсов данных во встроенных ёмкостях (паразитное питание). Существуют и устройства со встроенными аккумуляторами. Стандарт предусматривает передачу данных на расстояния до 300-м (в рассматриваемой схеме конечно меньше) со скоростью 16,3 Кб/с. Фирма гарантирует уникальность идентификатора каждого устройства. Самым распространённым устройством, с которым, наверняка, каждый сталкивался, является DS1990A в корпусе MicroCAN - домофонная таблетка. Таблетка содержит внутри только уникальный код, который отдаёт по запросу. С помощью DS9097 его можно читать, однако соответствующего софта под FreeBSD я не нашёл :(
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?f=14&t=31135.
размещено: 2011-02-03,
последнее обновление: 2011-02-16,
автор: Капитан
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"a
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1
Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat
Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat
Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills
Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
2009-11-16, lissyara
UFS->ZFS
Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
2009-11-13, gx_ua
fusefs-ntfs
Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
|
Комментарии пользователей [19 шт.]