PDA

Показать полную графическую версию : [решено] Опрос температурного датчика


leksey221
02-02-2013, 15:13
Всем привет!
Постараюсь подробно описать свою проблему.
Вообщем есть температурный датчик ds1820, подключен к COM порту, опрашивается "некой" программой digitemp.
Было задумано опрашивать датчик пихать все в .txt файл (в определенном формате) далее через http серв передавать на гаджет для win7, строка для гаджета на сервере должна выглядеть таким образом :
gettemp("<p class=intemp style=color:#ffffff;>-12.94&deg;C</p>");
строка опроса программы digitemp выглядит вот так:
digitemp -t 0 -s /dev/ttyS0 -q -o 'gettemp("<p class='intemp' style='color:#ffffff;'>%.2C&deg;C</p>");' > D:\gadget.txt
где:%.2C&deg;C сам парсер температуры, а gettemp("<p class='intemp' style='color:#ffffff;'></p>"); нужные теги для html парсера гаджета
если я данную строчку вставляю в CMD то в файле txt получаю нужную мне информацию, но если я строку опрса вставляю в .bat файл то у меня получается вот что:
http://ftp.cod64.ru:81/Flo/cmd.JPG

Задача скрипта через планировщик снимать показания каждые 15 мин.
Ключи digitemp:
http://ftp.cod64.ru:81/Flo/digitemp.JPG

Пожалуйста помогите!

zion87
02-02-2013, 19:05
много воды ))) с подробностью вы перестарались
проще что есть и что должно быть....

leksey221
02-02-2013, 19:16
в bat файле должно быть
digitemp -t 0 -s /dev/ttyS0 -q -o 'gettemp("<p class='intemp' style='color:#ffffff;'>%.2C°C</p>");' > D:\gadget.txt

он обрезает и получается так
gettemp("<p class='intemp' style='color:#ffffff;\gadget.txt

zion87
02-02-2013, 19:32
в bat файле должно быть
Код:
digitemp -t 0 -s /dev/ttyS0 -q -o 'gettemp("<p class='intemp' style='color:#ffffff;'>%.2C°C</p>");' > D:\g »

вы пишите в бате так? а получается так?gettemp("<p class='intemp' style='color:#ffffff;\gadget.txt »

да а при попытке запуска digitemp
http://s54.radikal.ru/i146/1302/75/b962ab39bdde.jpg

leksey221
02-02-2013, 20:22
Извините меня за неправильное объяснение.

Когда я ввожу в cmd
digitemp -t 0 -s /dev/ttyS0 -q -o 'gettemp("<p class='intemp' style='color:#ffffff;'>%.2C°C</p>");' > D:\gadget.txt
то получаю файл gadget.txt с содержимым
gettemp("<p class='intemp' style='color:#ffffff;'>-2.22C°C</p>");

Если я вставляю эту строку опроса в .bat файл, то вылазиет вот такой ответ
http://ftp.cod64.ru:81/Flo/cmd.JPG
и файла gadget.txt я не получаю

Извините забыл еще один файл к digitemp.exe

ссылка на скачивание (http://ftp.cod64.ru:81/Flo/digitemp.zip)

он запускается только из cmd
cd c:\digitemp
digitemp

zion87
02-02-2013, 21:01
вообщем у меня все равно не хочет открываться
но попробуйте вот так


@echo off
set c="<p class='intemp' style='color:#ffffff;'>%.2C°C</p>"
set dir=-t 0 -s /dev/ttyS0 -q -o 'gettemp(%c%);'
digitemp.exe %dir% >D:\gadget.txt


запуск из каталога с digitemp.exe

leksey221
02-02-2013, 21:14
он мне выдает в файле строчку gettemp("<p class='intemp' style='color:#ffffff;'>%.2C°C</p>");
но не делает опрос датчика
Сам опрос происходит вот этим значением %.2C

скачивал от сюда ссылка (http://zgbox.ru/articles/termoclient/nastroyka-termostantsii-na-windows)

leksey221
03-02-2013, 12:40
как я понял при запросе он теряет знак "%" в set c="<p class='intemp' style='color:#ffffff;'>%.2C°C</p>"

Методом научного тыка) решил добавить еще один знак "%" в строку set c="<p class='intemp' style='color:#ffffff;'>%.2C°C</p>"

и вот что получилось
@echo off
set c="<p class='intemp' style='color:#ffffff;'>%%.2C°C</p>"
set dir=-t 0 -s /dev/ttyS0 -q -o 'gettemp(%c%);'
digitemp.exe %dir% >D:\gadget.txt

Спасибо огромное Вам zion87 !!!!




© OSzone.net 2001-2012