Chcete na svých webových stránkách zobrazovat teploměr? Hledáte způsob, jak vložit na web teplotu ve Vaší firmě nebo ve Vašem sportovním areálu? Právě pro Vás je určen tento článek. Dozvíte se, čím teplotu měřit a jak jí dostat na web.
Tip: Příklad, jak naměřenou teplotu odesílat do Google Tabulek najdete v článku Node-RED: 2. zápis dat do Google Tabulky.
Teploměr nebo speciální program posílá aktuálně naměřenou teplotu na webový server jako jednoduchý požadavek typu HTTP GET.
Obrázek 1. - Nákres principu vkládání teploty na WEBové stránky
Měření teploty zajišťují teploměry TM (teploměr pro RS232), TMU (teploměr pro USB) nebo TME (Ethernetový teploměr).
Co je třeba pro toto řešení:
Systém měření a aktualizace teploty na WEBovou stránku je naznačen na obrázku nahoře. K počítači v místě měření teploty je připojeno teplotní čidlo TM nebo TMU a je spuštěn ovládací program. Program v pravidelných intervalech měří teplotu z čidla a odesílá ji na server v internetu (nebo intranetu).
V případě Ethernetového teploměru TME je systém odesílání teploty ještě jednodušší. Přímo v TME se nastaví perioda odesílání a internetová adresa skriptu, který teplotu zpracovává. To je celé nastavení, které je třeba provést.
Na serveru stačí do WEBových stránek vložit jednoduchý skript, popsaný dále, který zajistí uložení přijaté teploty a také její zobrazení na Vámi zvoleném místě na Vaší stránce.
[ Řešení přenosu teploty, popsané dále, je pouze úplně nejzákladnějším příkladem řešení. Toto řešení by samozřejmě bylo vhodné rozšířit o zabezpečení, případně ošetřit dlouhodobou ztrátu komunikace se serverem. ]
Zdrojový kód obslužného skriptu na serveru:
<?php // Zjisteni existence vstupní promenne if (isset($_GET['temp'])) { // Nacteni promene temp z cidla a osetreni proti XSS utokum $TEMP = htmlspecialchars($_GET['temp'], ENT_QUOTES, "UTF-8"); // Jestlize prijde jako parametr teplota, zapis ho do souboru a zobraz vysledek // Jestlize nema soubor patricna prava, vypis chybove hlaseni if ($file=@fopen("teploty.dat", "w")) { $text=fwrite($file,$TEMP); fclose($file); echo $TEMP; } else { echo "Chyba - soubor teploty.dat nema pravo pro zapis!"; } } else { // Jestlize neprijde teplota jako parametr, nacti a zobraz teplotu ze souboru // Jestlize nema soubor patricna prava, vypis chybove hlaseni if ($file=@fopen("teploty.dat", "r")) { $text=fread($file,10); fclose($file); echo $text; } else { echo "Chyba - soubor teploty.dat nema pravo pro cteni!"; } } ?>
Skript zajišťuje jak příjem hodnot naměřené teploty, tak její zobrazení. Uvedený kód stačí uložit například do souboru teplota.php do kořenového adresáře Vašeho WEBu. Má-li Váš server v internetu název například www.server.cz, bude mít skript adresu www.server.cz/teplota.php. Uložení teploty na server je možné přes parametr, předávaný skriptu. Teplotu 25,6 °C je možné vložit takto: www.server.cz/teplota.php?temp=25,6. Tím můžete vyzkoušet funkčnost skriptu. Předávání teploty tímto způsobem zajišťuje ovládací program popsaný dále.
Pokud potom otevřete ve Vašem internetovém prohlížeči adresu www.server.cz/teplota.php, zobrazí se text 25,6 (naposledy předaná hodnota teploty).
[ Skript pro ukládání aktuální teploty používá soubor teploty.dat, který je ve stejném adresáři jako skript. Je třeba zajistit, aby měl PHP server plná práva pro zápis i pro čtení tohoto souboru. ]
Tím je skript na serveru hotov. Můžete jej samozřejmě začlenit do Vašich stránek, případně rozšířit o další funkce nebo o zabezpečení. Pravidelnou aktualizaci naměřených teplot zajišťuje obslužná aplikace, popsaná dále. (V případě měření teploty Ethernetovým teploměrem TME není aplikace potřeba. TME odesílá teplotu přímo do Internetu bez potřeby PC.)
Co je třeba pro tento program:
Ovládací program zajišťuje měření teploty čidlem TM nebo TMU a její odesílání na server v internetu. Umožňuje nastavit periodu měření a umí naměřenou teplotu ukládat do souboru, který je snadno importovatelný do programu Microsoft Excel. Program musí být spuštěn na počítači, ke kterému je připojen teploměr.
Na obrázku jsou zachycena všechna okna programu. Vlevo dole je hlavní okno programu. Vlevo nahoře je zmenšené hlavní okno. Vpravo je nastavení parametrů.
V hlavním okně se zobrazuje naměřená teplota a průběh odesílání teploty na internet, případně chyby v komunikaci s čidlem nebo se serverem. Záznam z tohoto okna je také ukládán do textového souboru s názvem ve formátu TM2web - dd.M.yyyy.log. Soubor je uložen v adresáři, kde je umístěn program.
Tlačítkem vpravo od teploty je možné hlavní okno minimalizovat do velikosti proužku (vlevo nahoře na obrázku).
Tlačítkem Options se otevře Okno nastavení, tlačítkem Hide se hlavní okno skryje na dolní lištu do oblasti hodin.
Target URL address - adresa skriptu, který zpracovává teplotu na serveru v internetu. Klepnutím na tlačítko Send je možné právě naměřený údaj jednorázově odeslat na zadanou adresu.
Period of automatic sending to server - perioda s jakou se bude odesílat teplota na server v Internetu. Časový interval zadejte v minutách. Zadáním intervalu 0 se zruší automatické odesílání teploty na internet.
Source serial port - Ze seznamu vyberte sériový port COM, ke kterému je připojen teploměr TM nebo vyberte virtuální sériový port teploměru TMU. Tlačítkem vpravo od výběru COMu otevřete/zavřete vybraný port pro komunikaci s čidlem. Je-li zatrženo Automatic, vybraný port se otevře automaticky po startu programu.
Always on top - Hlavní okno bude vždy nahoře nad ostatními okny.
Generate temperature LOG - Do adresáře, kde je umístěn program, se bude každý den ukládat textový soubor s naměřenými teplotami. Soubory s teplotou mají název ve formátu Temperature(dd.M.yyyy).log. Na každém řádku je jeden záznam včetně data a času měření. Hodnoty jsou odděleny tabulátory a soubory tak lze snadno importovat například do programu Microsoft Excel.
Okno nastavení je možné zavřít bez uložení změn tlačítkem Close nebo uložit změny a zavřít okno tlačítkem Save and close.
Program pro odesílání teploty z TM a TMU na webserver.
Velikost souboru: 284,71 kB
Datum: 09.03.2010