Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Blog Ubuntu -- Správa "projektů" české komunity Ubuntu

Novinky: Školení nejen k OS Ubuntu pro širokou veřejnost, více informací zde.

Autor Téma: teploměr  (Přečteno 24618 krát)

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
teploměr
« kdy: 09 Září 2007, 14:09:43 »
ahoj vyrobil jsem si teploměr podle návodu http://sweb.cz/trifid2/teplomer/index.htm ale nevím jak to rozchodit pod Linuxem. Jestli někdo víte jak na to tak prosím poraďte. Díky

napište prosím přesný návod jak to rozchodit. díky
« Poslední změna: 01 Duben 2008, 23:46:42 od Anna Taliánová »
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

Martin-22

  • Člen
  • **
  • Příspěvků: 212
  • Karma: +4/-4
    • Zobrazit profil
    • http://www.jmnet.cz/
teplomer
« Odpověď #1 kdy: 11 Září 2007, 18:42:06 »
No nevim, ale na te strance je presny navod jak to rozchodit, navic na odkazu na rootu to je taky ;)

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: teplomer
« Odpověď #2 kdy: 24 Listopad 2007, 22:06:21 »
jo to sice je ale nevím jak to udělat aby se to zobrazovalo na webu. čidlo vypíše hodnotu ale já nevím jak to zpracovat aby se to zobrazilo na webu.
« Poslední změna: 01 Duben 2008, 23:47:45 od Anna Taliánová »
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

DarkenCZ

  • Host
Re: teplomer
« Odpověď #3 kdy: 24 Listopad 2007, 22:14:55 »
skript v bash/perl/python/php který načte vrácenou hodnotu a zapíše ji do souboru v docrootu apache?

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: teplomer
« Odpověď #4 kdy: 25 Listopad 2007, 09:40:20 »
no něco takového, ale s tím neumím tak se ptám jak na to ...
« Poslední změna: 01 Duben 2008, 23:56:50 od Anna Taliánová »
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

DarkenCZ

  • Host
Re: teplomer
« Odpověď #5 kdy: 25 Listopad 2007, 10:07:25 »
nějak takhle:
Kód: [Vybrat]
sudo apt-get install php5

Kód: [Vybrat]
<?php
$cmd 
"teplomer --zmer"//potřeba upravit příkaz
$data shell_exec($cmd);
//možná nějak oříznout výstup...
$fp fopen ("/home/web/teplota.php""w+"); //potřeba upravit cestu
fwrite($fp$data);
$fclose($fp);
?>

uložit někam třeba do ulozTeplotu.php

Kód: [Vybrat]
chmod +x ulozTeplotu.php
php5 ulozTeplotu.php
« Poslední změna: 25 Listopad 2007, 10:09:34 od Martin Hujer »

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: teplomer
« Odpověď #6 kdy: 25 Listopad 2007, 10:51:14 »
ahoj teplotu zjišťuji takhle:

server:~/cidlo_2# ./digitemp_DS9097 -a -s /dev/ttyS1

ale nevím jak to tam dopsat zatím to nefunguje. dělám to asi špatně
« Poslední změna: 01 Duben 2008, 23:57:42 od Anna Taliánová »
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

Pavelp

  • Host
Re: teplomer
« Odpověď #7 kdy: 25 Listopad 2007, 19:40:57 »
No a kde je ta teplota?

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: teplomer
« Odpověď #8 kdy: 25 Listopad 2007, 21:00:35 »
teplota je :)

server:~/cidlo_2# ./digitemp_DS9097 -a -s /dev/ttyS1
DigiTemp v3.3.2 Copyright 1996-2004 by Brian C. Lane
GNU Public License v2.0 - http://www.brianlane.com
Nov 25 21:07:41 Sensor 0 C: 3.88 F: 38.98
« Poslední změna: 14 Prosinec 2007, 15:10:09 od Anna Taliánová »
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: teplomer
« Odpověď #9 kdy: 14 Prosinec 2007, 14:54:39 »
nevíte někdo co s tím teploměrem, aby to vypisovalo grafy anebo aspoň hodnoty na web?
« Poslední změna: 01 Duben 2008, 23:58:51 od Anna Taliánová »
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

Pavelp

  • Host
Re: teplomer
« Odpověď #10 kdy: 28 Prosinec 2007, 19:19:15 »
Ty odpovedi prezvykat nejakym skriptem, ktery z toho vyzobne cas a teplotu a zalozi do databaze. Atak dal.
Jestli to uz nekdo nenapsal, bude to dost prace.

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: teplomer
« Odpověď #11 kdy: 31 Prosinec 2007, 20:13:32 »
ahoj něco jsem našel http://www.linuxsoft.cz/article.php?id_article=1203

píšou tam že by to měl umět munin, ale nejsem schopný napsat script, čidlo je ttyS1. nevíte někdo co s tím?
« Poslední změna: 01 Duben 2008, 23:59:51 od Anna Taliánová »
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: teplomer
« Odpověď #12 kdy: 31 Prosinec 2007, 21:27:41 »
neví někdo jak to upravit aby to fakalo? je to script pro munin.

Kód: [Vybrat]
#!/bin/sh

if [ "$1" = "config" ]; then
echo 'graph_title Teplota'
echo 'graph_args --upper-limit 100 -l 0'
echo 'graph_vlabel Celsius'
echo 'graph_category Temperatures'
echo 'graph_info Teplota cidlo.'
echo 'sensor0.label Sensor 0'
echo 'sensor0.info Prvno Sensor.'
echo 'sensor0.draw LINE2'

exit 0
fi
echo sensor0.value `/root/digitemp-3.3.2/digitemp_DS9097 -i -s /dev/ttyS1`
« Poslední změna: 02 Duben 2008, 00:00:20 od Anna Taliánová »
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: teplomer
« Odpověď #13 kdy: 01 Duben 2008, 21:49:29 »
ahoj tak jsem zkoušel to co je nahoře ale nejde to a píše to tohle:

fatal error: Function name must be a string in /home/1x23/www/uloz_teplotu.php on line 6

mám soubor uloz_teplotu.php a v něm:
Kód: [Vybrat]
<?php
$cmd 
"/digitemp-3.3.2# ./digitemp_DS9097 -a -s /dev/ttyS1";
$data shell_exec($cmd);
$fp fopen ("/home/1x23/www/teplota.php""w+");
fwrite($fp$data);
$fclose($fp);
?>

další soubor teplota php.

u obou souborů mám nastaveno 777

neví někdo co s tím? jak tu teplotu teda odchytávat aby se mohlo zobrazovat na webu???

děkuji za jakékoliv rady
« Poslední změna: 02 Duben 2008, 00:01:55 od Anna Taliánová »
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4802
  • Karma: +508/-26
  • グーグル!ご存知ですか?
    • Zobrazit profil
    • HEJ
Re: teploměr
« Odpověď #14 kdy: 02 Duben 2008, 05:45:10 »
vůbec se mi nezdá
Kód: [Vybrat]
/digitemp-3.3.2# v řádku 2 a také to že zbytek cesty je napsán relativně.
Pokud bys změnil řádek 2 na
Kód: [Vybrat]
$cmd = "pwd"; tak bys měl dostat cestu ke které je relativně umístěn ten soubor digitemp_DS9097
Pokud jej máš jinde tak to nemá co spustit.
Nebo to neřeš tímto způsobem (já jsem jen takový výzkumník a zajímá mne kde se co...) a zkus zadat cestu absolutně tedy řádek 2 třeba
Kód: [Vybrat]
$cmd = "/asi_home_ale_ne_tilda_protoze_nevim_pod_jakym_userem_je_ten_php_spusteny/muj_folder_s_teplomerem/digitemp_DS9097 -a -s /dev/ttyS1";
EDIT: a co ti vrátí v konzoli napsaný příkaz
Kód: [Vybrat]
echo sensor0.value `/root/digitemp-3.3.2/digitemp_DS9097 -i -s /dev/ttyS1`?
« Poslední změna: 02 Duben 2008, 05:50:20 od kiklhorn »
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: teploměr
« Odpověď #15 kdy: 02 Duben 2008, 16:22:33 »
Kód: [Vybrat]
echo sensor0.value `/root/digitemp-3.3.2/digitemp_DS9097 -i -s /dev/ttyS1`
Wrote .digitemprc
sensor0.value DigiTemp v3.3.2 Copyright 1996-2004 by Brian C. Lane GNU Public License v2.0 - http://www.brianlane.com Turning off all DS2409 Couplers . Searching the 1-Wire LAN 28AEC31A010000B5 : DS18B20 Temperature Sensor ROM #0 : 28AEC31A010000B5


NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4802
  • Karma: +508/-26
  • グーグル!ご存知ですか?
    • Zobrazit profil
    • HEJ
Re: teplomer
« Odpověď #16 kdy: 04 Duben 2008, 04:16:01 »
a co napíše tohle:
Kód: [Vybrat]
echo `/root/digitemp-3.3.2/digitemp_DS9097 -a -s /dev/ttyS1` | tail -n 1 -?

Pokud je to to co chcete dostat tak řádek 2 skriptu uloz_teplotu.php si změnte na
Kód: [Vybrat]
$cmd = "echo `/root/digitemp-3.3.2/digitemp_DS9097 -a -s /dev/ttyS1` | tail -n 1 -";
Pokud je to ne úplně to co chcete ale alespoň se to blíží tak sem pastněte výstup.
A případně také výstup následujícího:
Kód: [Vybrat]
/root/digitemp-3.3.2/digitemp_DS9097 --help

Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: teploměr
« Odpověď #17 kdy: 10 Květen 2008, 15:44:33 »
Kód: [Vybrat]
echo `/root/digitemp-3.3.2/digitemp_DS9097 -a -s /dev/ttyS1` | tail -n 1 -
pisne:

Kód: [Vybrat]
echo `/root/digitemp-3.3.2/digitemp_DS9097 -a -s /dev/tty
DigiTemp v3.3.2 Copyright 1996-2004 by Brian C. Lane GNU Public License v2.0 - http://www.brianlane.com May 10 15:21:20 Sensor 0 C: 16.81 F: 62.26
[/color]


Kód: [Vybrat]
/root/digitemp-3.3.2/digitemp_DS9097 --help
pisne

Kód: [Vybrat]
/root/digitemp-3.3.2/digitemp_DS9097 --help
/root/digitemp-3.3.2/digitemp_DS9097: invalid option -- -
DigiTemp v3.3.2 Copyright 1996-2004 by Brian C. Lane
GNU Public License v2.0 - http://www.brianlane.com
Compiled for DS9097


Usage: digitemp [-s -i -U -l -r -v -t -a -d -n -o -c]
                -i                            Initalize .digitemprc file
                -w                            Walk the full device tree
                -s /dev/ttyS0                 Set serial port
                -l /var/log/temperature       Send output to logfile
                -c digitemp.conf              Configuration File
                -r 1000                       Read delay in mS
                -v                            Verbose output
                -t 0                          Read Sensor #
                -q                            No Copyright notice
                -a                            Read all Sensors
                -d 5                          Delay between samples (in sec.)
                -n 50                         Number of times to repeat
                                              0=loop forever
                -A                            Treat DS2438 as A/D converter
                -O"counter format string"      See description below
                -o 2                          Output format for logfile
                -o"output format string"      See description below
                -H"Humidity format string"    See description below

Logfile formats:  1 = One line per sensor, time, C, F (default)
                  2 = One line per sample, elapsed time, temperature in C
                  3 = Same as #2, except temperature is in F
        #2 and #3 have the data seperated by tabs, suitable for import
        into a spreadsheet or other graphing software.

        The format string uses strftime tokens plus 5 special ones for
        digitemp - %s for sensor #, %C for centigrade, %F for fahrenheit,
        %R to output the hex serial number, and %N for seconds since Epoch.
        The case of the token is important! The default format string is:
        "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F" which gives you an
        output of: May 24 21:25:43 Sensor 0 C: 23.66 F: 74.59

        The counter format string has 2 special specifiers:
        %n is the counter # and %C is the count in decimal.
        The humidity format uses %h for the humidity in percent
[/color]

Mam dva soubory teplota.txt a uloz_teplotu.php

teplota.txt mam na 777

uloz_teplotu.php

Kód: [Vybrat]
<?php
$cmd 
"echo `/root/digitemp-3.3.2/digitemp_DS9097 -a -s /dev/ttyS1` | tail -n 1 -";
$data shell_exec($cmd);
//možná nějak oříznout výstup...
$fp fopen ("/home/s/www/teplota.txt""w+"); //potřeba upravit cestu
fwrite($fp$data);
$fclose($fp);
?>
[/color]

Na strance se mi zobrazi:
teplota.txt

Kód: [Vybrat]
DigiTemp v3.3.2 Copyright 1996-2004 by Brian C. Lane GNU Public License v2.0 - http://www.brianlane.com
[/color]

uloz_teplotu.php

Kód: [Vybrat]
Fatal error: Function name must be a string in /home/s/www/uloz_teplotu.php on line 7
Ale co je divné že mi nechytá druhé čidlo, na druhý com port se nedostanu




NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4802
  • Karma: +508/-26
  • グーグル!ご存知ですか?
    • Zobrazit profil
    • HEJ
Re: teploměr
« Odpověď #18 kdy: 11 Květen 2008, 02:39:31 »

uloz_teplotu.php

radek 2 - spatne apostrofy, potlaceni copy hlasky dle vypisu helpu - pridan parametr -q
Kód: [Vybrat]
$cmd = "echo `/root/digitemp-3.3.2/digitemp_DS9097 -q -a -s /dev/ttyS1 | tail -n 1 -`";
posledni radek - udelat presne to co pise chybova hlaska - tedy umazat $ na zacatku
Kód: [Vybrat]
fclose($fp);

ted by uz v /home/s/www/teplota.txt mely pribyvat zaznamy s teplotou

- vypis na web stranku vsech - viz manual php - "include teplota.txt"
- vypis jen aktualni hodnoty - echo $data

----------------------------
Takhle se teplota zaloguje pri kazdem zobrazeni stranky.
Pro pravidelne logovani po minutce do souboru by
 mozna bylo lepsi spustit digitemp s parametry -d 60 -n 0 -l cestaklogu  a nejake formatovani vystupu -o
a do web stranky jen includovat ten log soubor
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: teploměr
« Odpověď #19 kdy: 11 Květen 2008, 12:07:20 »
ahoj, tak to ted zkoušim ale do teplota.txt se mi nic nezapisuje.

teplotu to vypisuje

Kód: [Vybrat]
thule:~/digitemp-3.3.2# digitemp_DS9097 -q -a -s /dev/ttyS1 | tail -n 1 -
May 11 12:10:12 Sensor 0 C: 18.25 F: 64.85

ale do teplota.txt se nic neuloži
« Poslední změna: 11 Květen 2008, 12:11:28 od 1x23 »
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4802
  • Karma: +508/-26
  • グーグル!ご存知ですか?
    • Zobrazit profil
    • HEJ
Re: teploměr
« Odpověď #20 kdy: 11 Květen 2008, 15:38:52 »
ale do teplota.txt se nic neuloži

Zapisovat by to měla ta php stránka uloz_teplotu.php při každém svém zobrazení.
Vypisuje alespoň nějakou chybu?
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

1x23

  • Člen
  • **
  • Příspěvků: 449
  • Karma: +12/-9
    • Zobrazit profil
Re: teploměr
« Odpověď #21 kdy: 11 Květen 2008, 16:49:08 »
ne žádnou chybu to nevypisuje
NTB: Lenovo P50. OS - Ubuntu 18.04

Linux registred user: 499415

Thomas123

  • Člen
  • **
  • Příspěvků: 383
  • Karma: +10/-7
    • Zobrazit profil
Re: teploměr
« Odpověď #22 kdy: 15 Červenec 2008, 18:21:48 »
Čau, také mám tento teploměr. Dnes jsem ho připjil k serveru. Chtěl jsem nainstalovat Digitemp, to se mi podařilo až takovým krkolomným způsobem. (Kompilace nešla). Nainstaloval jsem to pomocí Synapticu a protože nevím, jak jsem to měl spustit, tak jsem si z deb balíčku vytáhl stejnou verzi, jen tu, která je potřeba k běhu. To jsem si nakopíroval do /root/my-digitemp/digitemp_DS9097. Kdyby mi někdo napsal, jak se dá spustit onen program (ten co jsem instaloval pomocí Synapticu) byl bych rád.

Na serveru jsem nechal vytvořit onen soubor (nějaký, ten co se vytváří při prvním připojení), teplotu jsem si úspěšně vyčetl a vyzkoušel logování do souboru pomocí tohoto příkazu:
Kód: [Vybrat]
/root/my-digitemp/digitemp_DS9097 -q -a -s /dev/ttyS0 -d 60 -n 0 -l /var/www/teplomer/cidlo-server.txtServer spravuji na dálku pomocí webminu, zde jsem do Systém/Cron plánovač úloh/Vytvořit novou plánovanou úlohu zapsal:
Spustit příkaz jako: Root
Aktivní: Ano
Příkaz: /root/my-digitemp/digitemp_DS9097 -q -a -s /dev/ttyS0 -d 60 -n 0 -l /var/www/teplomer/cidlo-server.txt
Vstup příkazu: Sem nevím, co napsat
Popis: Jsem nevyplnil

Čas spuštění/jednoduchý plánovač: Při bootování systému.

Může mi někdo vysvětlit proč mi při rebootu systému se proces objeví v Systém/Spuštěné procesy, ale onen soubor neexistuje ani se nezapisuje?
Ten Linux není špatná věc, jen se s tím naučit. Windowsák není zvyklý.

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4802
  • Karma: +508/-26
  • グーグル!ご存知ですか?
    • Zobrazit profil
    • HEJ
Re: teploměr
« Odpověď #23 kdy: 16 Červenec 2008, 01:07:43 »
ve výpisu procesů je napsáno pod kým je spuštěn. Má tento přístup pro zápis do uvedeného souboru?
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

Thomas123

  • Člen
  • **
  • Příspěvků: 383
  • Karma: +10/-7
    • Zobrazit profil
Re: teploměr
« Odpověď #24 kdy: 16 Červenec 2008, 09:34:34 »
ve výpisu procesů je napsáno pod kým je spuštěn. Má tento přístup pro zápis do uvedeného souboru?

No spouštím to pod rootem, takže by měl mít přístup všude, ne?
Ten Linux není špatná věc, jen se s tím naučit. Windowsák není zvyklý.