1wire

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.


Содержание

[править] Компоненты

Для сборки термометра понадобятся следующие компоненты:

  • Термодатчик 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-порта, тип — мама.
  • Корпус для разъема.


[править] Рабочая схема

rs232.png

Сопоставление номеров контактов
Название 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

[править] Дополнительная информация

[править] Благодарности

Спасибо Юрию Мельничуку за предоставленное оборудование.

Источник — «http://xgu.ru:81/wiki/1wire»