Изначально написал пост к себе в ЖЖ, а потом подумал что быть может будет полезен читателям данного сообщества. Всё делалось в Ubuntu 12.04, но будет работать и в других линуксах (и даже винде, на сайте будет описано всё).
Меся назад по наводке камрада
dru4заказал себе набор ардуиновских датчиков. О наборе распыляться особо не буду, всё отлично описал камрад тут . Набор оказался просто шикарный, особо доставили датчики положения со ртутью ;). В общем крайне рекомендую заказать этот набор самоделкиным. У меня уже расписано использование доброй трети девайсов! Стоит каждую вложенную копеечку.
Для справки, краткое описание содержимого набора, с примерами кода для ардуино:
http://www.cutedigi.com/arduino/sensors-kit-for-arduino.html
И на самом DX http://club.dx.com/forums/forums.dx/threadid.1202308
После получения онного набора, я начал понимать ардуинщиков, ведь можно ничего не разводя плат и не паяя, буквально на коленке получить готовый девайс который будет делать то, что ты хочешь.
У меня как раз есть маленькая монтажная платка с FT232RL, и я решил забубенить себе температурный датчик. А то на работе народ ноет по поводу мощи кондиционера. Делается элементарно. Исходя из картинки:
![]()
"Схема"подключения датчика
Вешаем GND и +5 В на землю и питание соответсвтенно, а RX и TX платки с микросхемой FT232 заводим вместе на ножку Signal платки с датчиком. В результате должно выглядеть вот так:
![]()
Девайс собран в матраце с дырками
Делаем как на сайте http://martybugs.net/electronics/tempsensor/software.cgi (ищите там описание для винды, увы не юзаю - сказать ничего не могу) :
Инсталим:
apt-get install digitemp
Обратите внимание, что ссылку следует сделать вот так (пример с сайта не работает):
ln -s /usr/bin/digitemp_DS9097 /usr/bin/digitemp
После чего конфигурируем следующим образом:
sudo digitemp_DS9097 -i -s /dev/ttyUSB0 -q -r2000 -c /etc/digitemp.conf
Так термометр будет опрашиваться каждые 2 секунды. Если вы всё сделали правильно, то будет такая надпись:
dlinyj@dlinyj-System:~/tmp$ sudo digitemp_DS9097 -i -s /dev/ttyUSB0 -q -r2000 -c /etc/digitemp.conf
28EB8EB104000026 : DS18B20 Temperature Sensor
ROM #0 : 28EB8EB104000026
Усё, теперя можно юзать, например вот так:
sudo digitemp_DS9097 -a -q -n0 -o"%N %.4C %b %d %H:%M:%S" -c /etc/digitemp.conf
В результате вывод будет таким: вначале будет время с UNIX-формате, потом температура в цельсиях, и далее время в человеческом формате без года, вывод будет идти непрерывно. Для того, чтобы данные логались надо в конце добавить -l temper.txt - где temper.txt - это путь до файла логов. О том как сформировать строку, читайте в манах :).
![]()
Ну и ничего не красит пост, как хороший график :). График температуры снятого во время обеда (исходные данные получены форматной строкой выше):
![]()
Время по Гринвичу, +4 для Москвы
Вот так просто можносделать троллейбустворить свои поделки из говна и палок. Я в десять раз дольше писал этот пост, чем делал датчик и график.
З.Ы. Всё это можно сделать паяльником и без платок, но чутка дольше.
Меся назад по наводке камрада

Для справки, краткое описание содержимого набора, с примерами кода для ардуино:
http://www.cutedigi.com/arduino/sensors-kit-for-arduino.html
И на самом DX http://club.dx.com/forums/forums.dx/threadid.1202308
После получения онного набора, я начал понимать ардуинщиков, ведь можно ничего не разводя плат и не паяя, буквально на коленке получить готовый девайс который будет делать то, что ты хочешь.
У меня как раз есть маленькая монтажная платка с FT232RL, и я решил забубенить себе температурный датчик. А то на работе народ ноет по поводу мощи кондиционера. Делается элементарно. Исходя из картинки:

"Схема"подключения датчика
Вешаем GND и +5 В на землю и питание соответсвтенно, а RX и TX платки с микросхемой FT232 заводим вместе на ножку Signal платки с датчиком. В результате должно выглядеть вот так:

Девайс собран в матраце с дырками
Делаем как на сайте http://martybugs.net/electronics/tempsensor/software.cgi (ищите там описание для винды, увы не юзаю - сказать ничего не могу) :
Инсталим:
apt-get install digitemp
Обратите внимание, что ссылку следует сделать вот так (пример с сайта не работает):
ln -s /usr/bin/digitemp_DS9097 /usr/bin/digitemp
После чего конфигурируем следующим образом:
sudo digitemp_DS9097 -i -s /dev/ttyUSB0 -q -r2000 -c /etc/digitemp.conf
Так термометр будет опрашиваться каждые 2 секунды. Если вы всё сделали правильно, то будет такая надпись:
dlinyj@dlinyj-System:~/tmp$ sudo digitemp_DS9097 -i -s /dev/ttyUSB0 -q -r2000 -c /etc/digitemp.conf
28EB8EB104000026 : DS18B20 Temperature Sensor
ROM #0 : 28EB8EB104000026
Усё, теперя можно юзать, например вот так:
sudo digitemp_DS9097 -a -q -n0 -o"%N %.4C %b %d %H:%M:%S" -c /etc/digitemp.conf
В результате вывод будет таким: вначале будет время с UNIX-формате, потом температура в цельсиях, и далее время в человеческом формате без года, вывод будет идти непрерывно. Для того, чтобы данные логались надо в конце добавить -l temper.txt - где temper.txt - это путь до файла логов. О том как сформировать строку, читайте в манах :).

Ну и ничего не красит пост, как хороший график :). График температуры снятого во время обеда (исходные данные получены форматной строкой выше):

Время по Гринвичу, +4 для Москвы
#! /usr/bin/gnuplot -persist set terminal png size 800, 600 set output "result.png" set grid xtics ytics set xlabel "Время" set ylabel "Температура" rotate by 90 set xdata time set timefmt x "%s" set format x "%d.%m %H:%M" set xtics rotate by 270 plot "temper.txt" using 1:2 title "Колебание температуры в комнате" with lines linestyle 3
Вот так просто можно
З.Ы. Всё это можно сделать паяльником и без платок, но чутка дольше.