Статья: Изготовление датчика температуры (Очумелые ручки)

Решение проблем связванных с работой железа. Проблемы программно-аппаратной совместимости.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
gyurza2000
лейтенант
Сообщения: 807
Зарегистрирован: 2007-07-08 23:53:20
Откуда: SPb
Контактная информация:

Re: Статья: Изготовление датчика температуры (Очумелые ручки

Непрочитанное сообщение gyurza2000 » 2011-12-12 14:18:42

ну да, только на ресурсе что ты давал ссылку про мониторинг температуры воздуха нету ничего. Там температуры мамки, хардов, нагрузка сети, а по мониторингу забортной температуры нету.Каким скриптом это делаешь?
Xeon X5460, RAM 8Gb, FreeBSD 11.0-RELEASE-p2 on amd64, Apache 2.4.27, PHP 5.6.31, MySQL 5.6.37, Exim 4.91_3, Dovecot 2.3.2.1_1

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Blacking
мл. сержант
Сообщения: 131
Зарегистрирован: 2007-03-01 10:20:10
Откуда: Томская обл. ЗАТО Северск
Контактная информация:

Re: Статья: Изготовление датчика температуры (Очумелые ручки

Непрочитанное сообщение Blacking » 2011-12-14 8:55:03

сострагал на подобии того что приводятся там в примерах, только еще и в MySQL пишу данные

Код: Выделить всё

 cat /home/rrdtool/script/update_temperature
#!/bin/sh

. /home/rrdtool/script/config

MONITOR="/usr/local/bin/digitemp_DS9097 -a -c /usr/local/etc/digitemp.conf"

temp_room=`$MONITOR | grep "Sensor_0" | awk '{print $2}'`
temp_street=`$MONITOR | grep "Sensor_1" | awk '{print $2}'`
temp_gazebo=`$MONITOR | grep "Sensor_2" | awk '{print $2}'`

${mysql_preffix} --execute="CREATE TABLE \`${year}\` (\`id\` INT(16) NOT NULL AUTO_INCREMENT, \`data\` INT(16) NOT NULL, \`temp_street\` FLOAT, \`temp_gazebo\` FLOAT, \`temp_room\` FLOAT, PRIMARY KEY (\`id\`), KEY \`data\`(\`data\`)) TYPE=MyISAM" 2>/dev/null
${mysql_preffix} --execute="INSERT INTO \`${year}\` (\`data\`, \`temp_street\`, \`temp_gazebo\`, \`temp_room\`) VALUES ('${data}', '${temp_street}', '${temp_gazebo}', '${temp_room}')"

    `/usr/local/bin/rrdtool update $RRDPREFIX/temperature.rrd N:$temp_street:$temp_gazebo:$temp_room`
Нет дома на воле,
А значит и адреса нет...

gyurza2000
лейтенант
Сообщения: 807
Зарегистрирован: 2007-07-08 23:53:20
Откуда: SPb
Контактная информация:

Re: Статья: Изготовление датчика температуры (Очумелые ручки

Непрочитанное сообщение gyurza2000 » 2011-12-14 10:29:23

А можешь для дураков пошагово, про прикручивание к MySQL?
Xeon X5460, RAM 8Gb, FreeBSD 11.0-RELEASE-p2 on amd64, Apache 2.4.27, PHP 5.6.31, MySQL 5.6.37, Exim 4.91_3, Dovecot 2.3.2.1_1

Blacking
мл. сержант
Сообщения: 131
Зарегистрирован: 2007-03-01 10:20:10
Откуда: Томская обл. ЗАТО Северск
Контактная информация:

Re: Статья: Изготовление датчика температуры (Очумелые ручки

Непрочитанное сообщение Blacking » 2011-12-14 13:16:55

Можно и без MySQL:

Код: Выделить всё

#!/bin/sh

. /home/rrdtool/script/config

MONITOR="/usr/local/bin/digitemp_DS9097 -a -c /usr/local/etc/digitemp.conf"

temp_room=`$MONITOR | grep "Sensor_0" | awk '{print $2}'`
temp_street=`$MONITOR | grep "Sensor_1" | awk '{print $2}'`
temp_gazebo=`$MONITOR | grep "Sensor_2" | awk '{print $2}'`

    `/usr/local/bin/rrdtool update $RRDPREFIX/temperature.rrd N:$temp_street:$temp_gazebo:$temp_room`
Я прикрутил базу для хранения всех значений температур, организуется просто:

Код: Выделить всё

# Данные для подключения к MySQL
mysql="/usr/local/bin/mysql"
mysql_serv="localhost"
mysql_user="name"
mysql_pass="pass"
mysql_base="temperature"

# Конектимся
mysql_preffix="${mysql} --host=${mysql_serv} --user=${mysql_user} --password=${mysql_pass} --database=${mysql_base}"

year="`date +%Y`"
data="`date +%s`"

# Создаем таблицу
${mysql_preffix} --execute="CREATE TABLE \`${year}\` (\`id\` INT(16) NOT NULL AUTO_INCREMENT, \`data\` INT(16) NOT NULL, \`temp_street\` FLOAT, \`temp_gazebo\` FLOAT, \`temp_room\` FLOAT, PRIMARY KEY (\`id\`), KEY \`data\`(\`data\`)) TYPE=MyISAM" 2>/dev/null

# Пишем туда данные (полученные скриптом выше)
${mysql_preffix} --execute="INSERT INTO \`${year}\` (\`data\`, \`temp_street\`, \`temp_gazebo\`, \`temp_room\`) VALUES ('${data}', '${temp_street}', '${temp_gazebo}', '${temp_room}')"
Нет дома на воле,
А значит и адреса нет...

gyurza2000
лейтенант
Сообщения: 807
Зарегистрирован: 2007-07-08 23:53:20
Откуда: SPb
Контактная информация:

Re: Статья: Изготовление датчика температуры (Очумелые ручки

Непрочитанное сообщение gyurza2000 » 2011-12-14 15:21:03

что то твой скрипт мне выдаёт:

Код: Выделить всё

ERROR 1146 (42S02) at line 1: Table 'temperature.2011' doesn't exist
mysql_user="name"
mysql_pass="pass"
от базы или админа SQL ?
Xeon X5460, RAM 8Gb, FreeBSD 11.0-RELEASE-p2 on amd64, Apache 2.4.27, PHP 5.6.31, MySQL 5.6.37, Exim 4.91_3, Dovecot 2.3.2.1_1

Blacking
мл. сержант
Сообщения: 131
Зарегистрирован: 2007-03-01 10:20:10
Откуда: Томская обл. ЗАТО Северск
Контактная информация:

Re: Статья: Изготовление датчика температуры (Очумелые ручки

Непрочитанное сообщение Blacking » 2011-12-15 5:10:47

главное что бы у name/pass был доступ к базе temperature!
Нет дома на воле,
А значит и адреса нет...

sergad
проходил мимо
Сообщения: 4
Зарегистрирован: 2011-12-25 20:15:10

Re: Статья: Изготовление датчика температуры (Очумелые ручки

Непрочитанное сообщение sergad » 2012-01-21 20:16:58

у меня возникла другая проблема, сейчас на улице мороз, а график у меня скачет в плюс
Изображение
провод телефонный 4 жилы, используются 2, длина около примерно полтора метра

Аватара пользователя
ADRE
майор
Сообщения: 2640
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: Статья: Изготовление датчика температуры (Очумелые ручки

Непрочитанное сообщение ADRE » 2012-02-16 21:04:22

а если несколько датчиков, как их раздельно снимать софтиной? написано что каждый имеет свой уникальный идентификатор... =/ посмотреть бы. так понял все лепят один датчик.
--
т.е.
он тут появица? /dev/cuau0
//del

Blacking
мл. сержант
Сообщения: 131
Зарегистрирован: 2007-03-01 10:20:10
Откуда: Томская обл. ЗАТО Северск
Контактная информация:

Re: Статья: Изготовление датчика температуры (Очумелые ручки

Непрочитанное сообщение Blacking » 2012-02-17 5:48:33

вот у меня 3 датчика:
3h.png
вот инициализация датчиков:

Код: Выделить всё

[blacking ~]$ /usr/local/bin/digitemp_DS9097 -i -s /dev/cuau0
DigiTemp v3.6.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
28B5A41903000091 : DS18B20 Temperature Sensor
28DDD4CF0200003D : DS18B20 Temperature Sensor
28CBD9CF02000038 : DS18B20 Temperature Sensor
ROM #0 : 28B5A41903000091
ROM #1 : 28DDD4CF0200003D
ROM #2 : 28CBD9CF02000038
Wrote .digitemprc
а вот сбор данных:

Код: Выделить всё

MONITOR="/usr/local/bin/digitemp_DS9097 -a -c /usr/local/etc/digitemp.conf"

temp_room=`$MONITOR | grep "Sensor_0" | awk '{print $2}'`
temp_street=`$MONITOR | grep "Sensor_1" | awk '{print $2}'`
temp_gazebo=`$MONITOR | grep "Sensor_2" | awk '{print $2}'`
вот вывод команды: /usr/local/bin/digitemp_DS9097 -a -c /usr/local/etc/digitemp.conf

Код: Выделить всё

DigiTemp v3.6.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Sensor_0: 24.3
Sensor_1: -10.9
Sensor_2: 20.3
Нет дома на воле,
А значит и адреса нет...


Blacking
мл. сержант
Сообщения: 131
Зарегистрирован: 2007-03-01 10:20:10
Откуда: Томская обл. ЗАТО Северск
Контактная информация:

Re: Статья: Изготовление датчика температуры (Очумелые ручки

Непрочитанное сообщение Blacking » 2012-02-17 6:53:36

ага за окном...
Нет дома на воле,
А значит и адреса нет...