Его там и нет. В temper не предусмотрены какие-либо файлы настройки или ключи запуска, поэтому никакой калибровки нет. Укажу в программе один пункт, который теоретически вам поможет в калибровке:
В последних четырёх строчках формула получения значения температуры в градсах Цельсия из сырых данных, считываемых по USB. Не исключено, что эти константы Robert Kavaler подбирал эмпирическим путём.Code:static int TemperGetData(Temper *t, char *buf, int len) { int ret; return usb_control_msg(t->handle, 0xa1, 1, 0x300, 0x01, (char *) buf, len, t->timeout); } int TemperGetTemperatureInC(Temper *t, float *tempC) { char buf[256]; int ret, temperature, i; TemperSendCommand(t, 10, 11, 12, 13, 0, 0, 2, 0); TemperSendCommand(t, 0x54, 0, 0, 0, 0, 0, 0, 0); for(i = 0; i < 7; i++) { TemperSendCommand(t, 0, 0, 0, 0, 0, 0, 0, 0); } TemperSendCommand(t, 10, 11, 12, 13, 0, 0, 1, 0); ret = TemperGetData(t, buf, 256); if(ret < 2) { return -1; } temperature = (buf[1] & 0xFF) + (buf[0] << 8); temperature += 1152; // calibration value *tempC = temperature * (125.0 / 32000.0); return 0; }
ЗЫ В литературе можно встретить советы по калибровке при нуле и ста градусах Цельсия с сопутствующими советами как эти температуры получить. Например, с помощью талой воды.
Для экспресс-калибровки советую просто взять термометр в подмышку Если Вы не простужены, то можете ориентироваться на ещё одну потрясающе точную для бытовых условий константу температуры!
Last edited by Omega; 08-11-2011 at 17:34. Reason: fixed
Last edited by ryzhov_al; 12-04-2011 at 09:56.
Хочу поделиться как у меня настроен сбор и отображение статистики при помощи rrdtool. Роутер - DIR-320.
Ведется статистика трафика интерфейсов eth1,ppp0, а также температуры с 2-х датчиков.
Датчики - DS18B20 (Dallas). Подключены по схеме с паразитным питанием напрямую к порту UART роутера. Для этого на корпусе установлены 2 разъема RCA(тюльпан). Схема простейшая - RX соединен с TX, подключены к сигнальному выводу датчиков, общий подключен к соединенным вместе Vcc+Gnd датчиков. Соединительные линии - UTP5 длиной 8 и 4 метра.
Теперь о программной настройке.
1. Отключить отладочную консоль на порту 0:
2. Установить rrdtool и digitemp. Полагаю, у всех уже есть lighttpd,cron? Дублировать тут другие маны не буду.Code:nvram set kernel_args="root=/dev/mtdblock2 rootfstype=squashfs,ext3 noinitrd init=/linuxrc console=null" nvram save $$ nvram commit $$ nvram enable $$ reboot
3.Если вам не нужна кириллица на графиках или вы знаете как сделать по другому, то LC_ALL вам не нужно.Code:cat /opt/etc/cron.1mins/rrdrun.sh #!/bin/sh LC_ALL=ru_RU.UTF-8 /opt/usr/bin/rrdtool.sh >> /opt/var/log/rrdtool.log 2>&1 root@dir320:/tmp/local/root#
4. digitemp нужно предварительно настроить:
-i - первоначальный поиск железаCode:digitemp_DS9097 -i -s /dev/tts/0 -c /opt/etc/digitemp.conf -q 2860AF3E02000093 : DS18B20 Temperature Sensor 28AE71400200005E : DS18B20 Temperature Sensor ROM #0 : 2860AF3E02000093 ROM #1 : 28AE71400200005E root@dir320:/tmp/local/root#
-s - указание порта
-c - куда писать конф. файл
-q - подавление лишней инфы(Copyright,etc.)
Далее нужно запросить температуру, чтоб знать где какой датчик:
5. Вот файл rrdtool.sh:Code:digitemp_DS9097 -a -s /dev/tts/0 -c /opt/etc/digitemp.conf -q Apr 15 02:12:32 Sensor 0 C: 0.00 F: 32.00 Apr 15 02:12:34 Sensor 1 C: 23.50 F: 74.30
rrdtool.sh.zip
6. По адресу http://192.168.1.1:8081/rrd можно наблюдать статистику.
7. Замечания
a) - Сбор статистики 1 раз в минуту. Т.е. и скрипт запускается ежеминутно, и база на это рассчитана.
b) - Строки, рисующие часовую статистику, в файле закомментированы. Включите их на время отладки или если вам это вправду нужно.
c) - Постройка каждого графика занимает у меня около 8 секунд. Т.е. на 3 графика полминуты почти (((
d) - Скрипт не мой, но я его переделал под свои нужды. Оригинал тут: http://www.macsat.com/rrdtool.sh
Если необходима помощь, то смогу помочь в меру возможности.
Last edited by rz3dwy; 14-04-2011 at 17:31.
Люди пожалуйста скажите можно ли какой командой посмотреть температур проца на роутере. Подскажите как что делать) стоит прошивка Tomato
Last edited by Omega; 18-04-2011 at 15:12. Reason: читайте эту тему с самого начала
Пытаюсь управлять 1 wire сетью через встроенный uart порт.
Вывел разъем Uart, 5в взял с usb. Подключил DS2480B. установил owfs.
Отлично работает,1 wire сеть видит, и т.д
НО , если включить роутер с подключенным DS2480B то роутер не загружается. (лампочка power не горит, а моргают только подключенные порты LAN , WAN).
Если же подключить DS2480B после того как роутер загрузился, то работает.
Подозреваю что проблема в том, что при включении питания DS2480B шлет какие то данные, и это не дает роутеру загрузиться.
nvram set kernel_args="root=/dev/mtdblock2 rootfstype=squashfs,ext3 noinitrd init=/linuxrc console=null"
nvram commit делал.
Видимо надо совсем отвязать uart от консоли.
Как исправить ситуацию ?
Вы правы..
Рекомендую USB-Serial адаптер.при включении питания DS2480B шлет какие то данные, и это не дает роутеру загрузиться.
Можно попробовать сделать задержку питания на Даллас...
Поставить в цепь питания RC цепочку, и он проснется, чуть, позже роутера.
Нолики на ком порте роутера втыкают его в ожидание...Figure 6a. RESET/PRESENCE DETECT
If the test for interrupt or short reveals a logic 0, the DS2480B will wait for 4096us and then test the 1-Wire bus again. If a logic 0 is detected, the 1-Wire bus is shorted and a command response byte with the code for SHORT will be sent immediately. If a logic 1 is detected, the device will wait for tFILL to expire, after which it will send the command response byte with the code for an alarming presence pulse.
Last edited by LnrMn; 03-11-2011 at 16:02.
Asus RT-AC66U, Xerox Phaser 3160B, on the shelf RT-N16 (Killed by lightning)
WL-500gPv1 128MB, WL-500W 300MHz/128M, LCD 40x4, DIR-320 8Mb/64MB
WL-700g 128MB, MNV25E2+ and more and more devices. provod.beeline.ru
-------------------------------------------
Computers. Since 1984. First one - "МИР-1"
К сожалению usb порты заняты флешкой и gsm модемом.Рекомендую USB-Serial адаптер.
Подозреваю что надо собрать ядро, с отвязанной консолью, подскажите в какую сторону смотреть.
Я, пока, размышлял над проблемой....
Кстати, которая не описана выше. А именно подключение к консоли роутера.
Вы уже написали ответ...
Почитайте мой пост выше.
Да и модератор, перенёс Ваше сообщение в тему про термометры..
Отключение консоли Вы делали правильно.
Про T=RC - http://easyelectronics.ru/kondensato...-cepochka.html
Last edited by LnrMn; 03-11-2011 at 16:28.
Asus RT-AC66U, Xerox Phaser 3160B, on the shelf RT-N16 (Killed by lightning)
WL-500gPv1 128MB, WL-500W 300MHz/128M, LCD 40x4, DIR-320 8Mb/64MB
WL-700g 128MB, MNV25E2+ and more and more devices. provod.beeline.ru
-------------------------------------------
Computers. Since 1984. First one - "МИР-1"
Вопрос такое поведение из-за осебенности ядра, или это железная причуда BCM4718 (и тогда действительно надо смотреть в сторону задержки питания на устройства подключенные к uart)Нолики на ком порте роутера втыкают его в ожидание...
Last edited by LnrMn; 03-11-2011 at 16:48.
Asus RT-AC66U, Xerox Phaser 3160B, on the shelf RT-N16 (Killed by lightning)
WL-500gPv1 128MB, WL-500W 300MHz/128M, LCD 40x4, DIR-320 8Mb/64MB
WL-700g 128MB, MNV25E2+ and more and more devices. provod.beeline.ru
-------------------------------------------
Computers. Since 1984. First one - "МИР-1"
хочу скомпилировать свежую версию OWFS,
есть подозрение что в репозитории optware-rtn версия старовата и в ней не правильно работает owserver
Установил buildroot, собираю:
получаю undefined reference to `lround'
Как исправить?
Прочитав посты ниже , понял что подобная проблема не только у меня с owfs, и видимо сборку нужно вести тулчейном энтузиастов. (а так ли это)
Поиск вываливает, отрывочные сведения как это делать, но готового решения - инструкции нет. Как собрать пакет тулчейном энтузиастов ?
http://sourceforge.net/projects/owfs/files/
последняя версия 2p8p13 от 28/07/2011
Евгений, для использования энтузиасткого тулчейна необходимо лишь расставить ряд переменных для GNU build system и подправить libtool из его состава. Распакуйте содержимое приложения в папку с исходниками. Скрипт ./mk_new.sh подготовит исходники к компиляции. Далее можно будет получить результаты компиляции в одной копмактной кучке, выполнив make install. Подправьте пути в скрипте по своему вкусу. Собранный owfs последней версии будет включать следующие компоненты:
ЗЫ Для включения поддержки USB необходимо отдельно статически собрать libusb-0.1 и указать к нему путь. В моём скрипте есть пример.Code:Compile-time options: Caching is enabled USB is DISABLED I2C is enabled HA7Net is enabled W1 is enabled Multithreading is enabled Parallel port DS1410E is enabled TAI8570 barometer is enabled Thermocouple is enabled Zeroconf/Bonjour is enabled Debug-output is enabled Profiling is DISABLED Tracing memory allocation is DISABLED 1wire bus traffic reports is DISABLED Module configuration: owlib is enabled owshell is enabled owfs is DISABLED owhttpd is enabled owftpd is enabled owserver is enabled ownet is enabled ownetlib is enabled owtap is enabled owmon is enabled owcapi is enabled swig is DISABLED owperl is DISABLED owphp is DISABLED owpython is DISABLED owtcl is DISABLED
Last edited by ryzhov_al; 08-11-2011 at 17:26. Reason: Про USB!
Потратил 2 дня на пересборку owfs последней версии
http://sourceforge.net/projects/owfs/files/, понял что квалификации не хватает. Бросил. Прошу, соберите у кого система настроена.