1wire
Материал из Xgu.ru
Содержание |
[править] Компоненты
Для сборки термометра понадобятся следующие компоненты:
- Термодатчик DALLAS DS1820 — датчиков можно прицепить несколько параллельно.
По описанию каждый сенсор имеет собственный 64 битный ID, что позволяет использовать одновременно 100 сенсоров на шине, длиной 300 м
- Стабилитроны на 3.9V, 6.2V, 5.6V, самой минимальной мощности.
- Диод Шоттки, например 1N5818 - 2шт.
- Диод 1N4148 — 1шт.
- Резистор 1,5кОм, 0,25Вт — 1шт.
- Конденсатор 10мкФ, 16V — 1шт.
- 9-контактный разъем COM-порта, тип — мама.
- Корпус для разъема.
[править] Рабочая схема
Название | DB-25 | DB-9 | DS18B20 |
---|---|---|---|
DTR | 20 | 4 | Data (PIN 2) |
RXD | 3 | 2 | GND (PIN 1) |
GND | 1 | 7 | 5 |
[править] Инициализация шины
При первом включении надо сделать опрос устройства на шине:
$ digitemp_DS9097 -s /dev/ttyUSB0 -i DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane GNU Public License v2.0 - http://www.digitemp.com Turning off all DS2409 Couplers .. Searching the 1-Wire LAN 101DB9600108001B : DS1820/DS18S20/DS1920 Temperature Sensor 28F728640100001A : DS18B20 Temperature Sensor ROM #0 : 101DB9600108001B ROM #1 : 28F728640100001A
[править] Опрос датчиков
Опрос всех датчиков:
%$ digitemp_DS9097 -a -q -o "%.1C" 27.4 26.2
Опрос конкретного датчика с номером 1 (вместо -a указывается -t 1):
$ digitemp_DS9097 -t1 -q -o "%.1C" 26.1
[править] MRTG
Пример настройки MRTG. Подразумевается, что используется всего два датчика:
[править] mrtg.cfg
Directory[_]: digitemp Target[temperatura]: `/usr/local/bin/digitemp` MaxBytes[temperatura]: 800 YLegend[temperatura]:градусы C x 10 LegendI[temperatura]: Серверная LegendO[temperatura]: Кондиционер XSize[temperatura]:600 XScale[temperatura]: 1.5 YScale[temperatura]: 1.5 YSize[temperatura]:300 ShortLegend[temperatura]: C (x 10) Title[temperatura]: Температура в серверной, на выходе кондиционера Options[temperatura]: growright, gauge, nopercent, integer, unknaszero #Colours[temperatura]: GREEN#00eb0c,BLUE#0000ff,GRAY#AAAAAA,VIOLET#ff00ff PageTop[temperatura]: <H1>Температура Серверной</H1>
[править] /usr/local/bin/digitemp
cd /opt/digitemp-3.5.0 ./digitemp_DS9097 -t0 -s /dev/ttyS0 -q -o "%.1C"| sed s/\\.// ./digitemp_DS9097 -t1 -s /dev/ttyS0 -q -o "%.1C"| sed s/\\.// echo 1000
[править] Дополнительная информация
[править] Благодарности
Спасибо Юрию Мельничуку за предоставленное оборудование.