Page 5 of 9 FirstFirst ... 34567 ... LastLast
Results 61 to 75 of 124

Thread: Роутер следит за температурой (digitemp&owfs)

  1. #61
    Quote Originally Posted by buzya View Post
    Вопрос по калибровке температуры: есть ли файл конфигурации? В /opt/etc/ искал - ничего не нашёл.
    Его там и нет. В temper не предусмотрены какие-либо файлы настройки или ключи запуска, поэтому никакой калибровки нет. Укажу в программе один пункт, который теоретически вам поможет в калибровке:
    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;
    }
    В последних четырёх строчках формула получения значения температуры в градсах Цельсия из сырых данных, считываемых по USB. Не исключено, что эти константы Robert Kavaler подбирал эмпирическим путём.

    ЗЫ В литературе можно встретить советы по калибровке при нуле и ста градусах Цельсия с сопутствующими советами как эти температуры получить. Например, с помощью талой воды.

    Для экспресс-калибровки советую просто взять термометр в подмышку Если Вы не простужены, то можете ориентироваться на ещё одну потрясающе точную для бытовых условий константу температуры!
    Last edited by Omega; 08-11-2011 at 18:34. Reason: fixed

  2. #62
    Quote Originally Posted by ryzhov_al View Post
    ЗЫ В литературе можно встретить советы по калибровке при нуле и ста градусах Цельсия с сопутствующими советами как эти температуры получить. Например, с помощью талой воды.

    Для экспресс-калибровки советую просто взять термометр в подмышку Если Вы не простужены, то можете ориентироваться на ещё одну потрясающе точную для бытовых условий константу температуры!
    Да, Вы правы! Чем ковырять пакет, проще датчик подмышку, запомнить разницу и корректировать на ходу в уме.
    Ещё раз большое спасибо!

    p.s. А в лог сохранять данные программу можно научить?

  3. #63
    Quote Originally Posted by buzya View Post
    p.s. А в лог сохранять данные программу можно научить?
    Code:
    $ logger -t "Current temperature" `temper | tail -n 1`
    ЗЫ. Вопросы "как посмотреть syslog" или "как сделать запись температуры периодически" выходят за рамки предмета обсуждения, поэтому прошу задавать их в профильных темах.
    Last edited by ryzhov_al; 12-04-2011 at 10:56.

  4. #64

    rrdtool. Как я настроил статистику

    Хочу поделиться как у меня настроен сбор и отображение статистики при помощи rrdtool. Роутер - DIR-320.

    Ведется статистика трафика интерфейсов eth1,ppp0, а также температуры с 2-х датчиков.

    Датчики - DS18B20 (Dallas). Подключены по схеме с паразитным питанием напрямую к порту UART роутера. Для этого на корпусе установлены 2 разъема RCA(тюльпан). Схема простейшая - RX соединен с TX, подключены к сигнальному выводу датчиков, общий подключен к соединенным вместе Vcc+Gnd датчиков. Соединительные линии - UTP5 длиной 8 и 4 метра.

    Теперь о программной настройке.

    1. Отключить отладочную консоль на порту 0:
    Code:
    nvram set kernel_args="root=/dev/mtdblock2 rootfstype=squashfs,ext3 noinitrd init=/linuxrc console=null"
    nvram save $$ nvram commit $$ nvram enable $$ reboot
    2. Установить rrdtool и digitemp. Полагаю, у всех уже есть lighttpd,cron? Дублировать тут другие маны не буду.

    3.
    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#
    Если вам не нужна кириллица на графиках или вы знаете как сделать по другому, то LC_ALL вам не нужно.
    4. digitemp нужно предварительно настроить:
    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#
    -i - первоначальный поиск железа
    -s - указание порта
    -c - куда писать конф. файл
    -q - подавление лишней инфы(Copyright,etc.)

    Далее нужно запросить температуру, чтоб знать где какой датчик:
    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
    5. Вот файл rrdtool.sh:
    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 18:31.

  5. #65

    Temp cpu rt-n16

    Люди пожалуйста скажите можно ли какой командой посмотреть температур проца на роутере. Подскажите как что делать) стоит прошивка Tomato
    Last edited by Omega; 18-04-2011 at 16:12. Reason: читайте эту тему с самого начала

  6. #66
    Join Date
    Feb 2009
    Location
    Moscow
    Posts
    12

    Question Asus rt-n16 1wire через uart

    Пытаюсь управлять 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 от консоли.
    Как исправить ситуацию ?

  7. #67
    Join Date
    Jan 2009
    Location
    Kazan, Russia
    Posts
    1,163
    Вы правы..
    при включении питания DS2480B шлет какие то данные, и это не дает роутеру загрузиться.
    Рекомендую USB-Serial адаптер.

    Можно попробовать сделать задержку питания на Даллас...
    Поставить в цепь питания 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 17: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"

  8. #68
    Join Date
    Feb 2009
    Location
    Moscow
    Posts
    12
    Рекомендую USB-Serial адаптер.
    К сожалению usb порты заняты флешкой и gsm модемом.
    Подозреваю что надо собрать ядро, с отвязанной консолью, подскажите в какую сторону смотреть.

  9. #69
    Join Date
    Jan 2009
    Location
    Kazan, Russia
    Posts
    1,163
    Quote Originally Posted by eazarkin View Post
    К сожалению usb порты заняты флешкой и gsm модемом.
    Подозреваю что надо собрать ядро, с отвязанной консолью, подскажите в какую сторону смотреть.
    Я, пока, размышлял над проблемой....
    Кстати, которая не описана выше. А именно подключение к консоли роутера.
    Вы уже написали ответ...

    Почитайте мой пост выше.

    Да и модератор, перенёс Ваше сообщение в тему про термометры..

    Отключение консоли Вы делали правильно.

    Про T=RC - http://easyelectronics.ru/kondensato...-cepochka.html
    Last edited by LnrMn; 03-11-2011 at 17: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"

  10. #70
    Join Date
    Feb 2009
    Location
    Moscow
    Posts
    12
    Нолики на ком порте роутера втыкают его в ожидание...
    Вопрос такое поведение из-за осебенности ядра, или это железная причуда BCM4718 (и тогда действительно надо смотреть в сторону задержки питания на устройства подключенные к uart)

  11. #71
    Join Date
    Jan 2009
    Location
    Kazan, Russia
    Posts
    1,163
    Quote Originally Posted by eazarkin View Post
    Вопрос такое поведение из-за осебенности ядра, или это железная причуда BCM4718 (и тогда действительно надо смотреть в сторону задержки питания на устройства подключенные к uart)
    Не обращайте внимание на ядро и его особенности.
    В данном случае это не принципиально.
    Есть загрузчик, который не изменить. Это он держит загрузку прошивки\ядра (По-Вашему причуда BCM ).


    PS: Думаю, 100-300 Ом и 100-200 мкФ по питанию Далласа, решат Вашу проблему.
    Last edited by LnrMn; 03-11-2011 at 17: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"

  12. #72
    Join Date
    Feb 2009
    Location
    Moscow
    Posts
    12

    Wink owfs

    хочу скомпилировать свежую версию OWFS,
    есть подозрение что в репозитории optware-rtn версия старовата и в ней не правильно работает owserver
    Установил buildroot, собираю:
    получаю undefined reference to `lround'
    Как исправить?
    Прочитав посты ниже , понял что подобная проблема не только у меня с owfs, и видимо сборку нужно вести тулчейном энтузиастов. (а так ли это)
    Поиск вываливает, отрывочные сведения как это делать, но готового решения - инструкции нет. Как собрать пакет тулчейном энтузиастов ?

  13. #73
    Join Date
    Feb 2009
    Location
    Moscow
    Posts
    12

    Post owfs

    http://sourceforge.net/projects/owfs/files/
    последняя версия 2p8p13 от 28/07/2011

  14. #74
    Евгений, для использования энтузиасткого тулчейна необходимо лишь расставить ряд переменных для GNU build system и подправить libtool из его состава. Распакуйте содержимое приложения в папку с исходниками. Скрипт ./mk_new.sh подготовит исходники к компиляции. Далее можно будет получить результаты компиляции в одной копмактной кучке, выполнив make install. Подправьте пути в скрипте по своему вкусу. Собранный owfs последней версии будет включать следующие компоненты:
    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
    ЗЫ Для включения поддержки USB необходимо отдельно статически собрать libusb-0.1 и указать к нему путь. В моём скрипте есть пример.
    Last edited by ryzhov_al; 08-11-2011 at 18:26. Reason: Про USB!

  15. #75
    Join Date
    Feb 2009
    Location
    Moscow
    Posts
    12

    owfs не могу собрать.

    Потратил 2 дня на пересборку owfs последней версии
    http://sourceforge.net/projects/owfs/files/, понял что квалификации не хватает. Бросил. Прошу, соберите у кого система настроена.

Page 5 of 9 FirstFirst ... 34567 ... LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •