Nejjednodušší online teploměr (2)

Petr Bitnar 11. 4. 2003

Po přečtení článku "Nejjednodušší online teploměr" jsem se rozhodl k napsání tohoto článku. Hned na úvod se ale sluší poznamenat, že se chci pouze podělit se svými zkušenostmi, jak lze provozovat podobný teploměr, nechci se pouštět do diskuse, zda je ještě jednodušší, levnější apod. Nejde o nic jiného než o některým známý projekt DigiTemp, jehož autorem je Brian C. Lane.

Úvod

Jádrem celého DigiTempu je osvědčená řada „digitálního teploměru“ (DS18S20 a další) výrobce Dallas Semiconductor. V krátkosti některé vlastnosti:

  • jedná se o integrovaný mikroprocesor s unikátním číslem a kalibrací přímo na čipu,
  • komunikace probíhá po datové sběrnici 1-wire, tzn. odpadá „venkovní“ nepřesnost a kalibrace,
  • základní přesnost měření je +/-0.5 &degC; (dá se softwarově zvýšit),
  • možnost nastavení dolní a horní teploty pro funkci teplotního komparátoru apod.

Pro detailnější informace (o komunikačním protokolu) doporučuji katalogové listy této součástky nebo ještě lépe součástek ostatních, které komunikují po již zmíněné datové sběrnici 1-wire.

Hardware

Připojení čidla jsem realizoval přes tzv. pasivní adapter DS9097, který se připojuje na sériový COM port. Jak již bylo poznamenáno, každý „teploměr“ má jedinečné číslo již z výroby. Toho se s výhodou využívá pro připojení více čidel přes jediný adapter. Počet čidel je teoreticky neomezený, prakticky je limit pouze v délce a kvalitě kabelů k čidlům. Vlastní adaptér si popíšeme trochu podrobněji, jelikož dle mých zkušeností je konstrukce navržena „dosti fest“, tzn. vyžaduje přesné specifikace ani ne tak vlastních součástek, ale především „kvality“ COM portu, a zde je jádro problému. Adaptér je třeba v případě nutnosti doplnit o trimr podle obrázku. Výhodou je, že se při jeho nastavování obejdete i bez měřícího přístroje. Pokud budete mít štěstí, bude vám adaptér fungovat ihned napoprvé i bez zmíněné úpravy.

schéma DS9097


Další možností je použít tzv. aktivní adaptér DS9097U, což ale nebyla moje volba. Tento adaptér sice nabízí možnosti připojení dalších čidel fy Dallas, nicméně stojí řádově stovky Kč. Pro základní měření teploty zcela dostačuje pasivní adaptér za pár Kč.

Software

Dříve byly udržovány samostatné verze pro každý adaptér (způsob komunikace s pasivním resp. s aktivním adaptérem je zcela odlišný). Verze 3 a vyšší byla zcela přepracována a nyní již podporuje oba adaptéry. Není asi třeba zdůrazňovat, že se jedná o konzolovou aplikaci, která sama o sobě „pouze“ získá hodnoty z jednotlivých čidel.

To, co vás ale možná nadchne (stejně jako mě), je provázanost se známým a používaným projektem pro tvorbu grafů RRD TOOL – autor Tobi Oetiker (známější asi projektem MRTG). Tím jsme ale malinko odbočili. Celou sílu projektu DigiTemp vidím v jednoduchosti instalace, žádné kalibraci a právě v již zmíněné návaznosti na RRD Tool. Kdy můžete získat celkem slušný grafický výstup, aniž byste museli cokoli dalšího programovat (viz obrázek)

grafický výstup


Celý projekt je šířen jako Open Source pod GNU licencí.

Instalace

Vlastní instalace je poměrně jednoduchá, já jsem použil instalaci ze zdrojového kódu. Ta je zde částečně popsána. Jediné, co musíte mít, jsou přístupová práva k sériovému COM portu.

make ds9097

nebo make ds9097u dle použitého adaptéru,

digitemp -sttySx -i

pro vytvoření konfiguračního souboru a především pro zjištění připojených čidel. Pokud vše funguje, měli byste vidět něco podobného:

Searching the 1-Wire LAN
105E52460008004F : DS1820 Temperature Sensor
10F367460008000F : DS1820 Temperature Sensor
ROM #0 : 105E52460008004F
ROM #1 : 10F367460008000F
Wrote .digitemprc

Pokud nelze nalézt čidla, máte nejpravděpodobněji problém s adaptérem a budete ho muset doplnit o trimr. K jeho nastavení stačí celý postup několikrát opakovat s jeho současným otáčením, až se čidla detekují. To je jediný možný zádrhel na celém zapojení.

# zjisteni teploty kazdych 5min
00-59/5 * * * * /log_temp
01-59/5 * * * * /temp-minmax
01-59/5 * * * * /temp-minmax-7d

Toto je příklad crontabu, který spouští perlovské skripty (jsou součástí DigiTempu) pro načtení teplot z čidel s následným uložením do databáze.

Mechanická konstrukce

Vlastní adaptér jsem postavil systémem vrabčího hnízda přímo do konektoru Cannon SUB-9. Proto nemá smysl hovořit o postupu konstrukce. V zadní části konektoru (viz levý obrázek) je trochu vidět svorkovnice, ke které se připojují čidla. Pro vlastní připojení čidel jsem zvolil kvalitní stíněný mikrofonní kabel. Pravý obrázek ukazuje tepelně smršťovací bužírku, která je přetažena přes kabel a pouzdro TO92 čidla. Vodotěsné to asi úplně není, ale funguje to i venku.

zadní část konektorutepelně smršťovací bužírka


Ještě je dobré se zmínit, kde lze součástky sehnat. Všechny normální v GME nebo v GESu. S čidlem to už je malinko problém, ale řešitelný. Já jsem kontaktoval přímo dovozce fy Dallas. Jedná se o firmu HT Eurep, což je sice velkoobchod, ale jsou ochotni prodat i kusově. Cena čidla se pochopitelně liší dle typu, množství apod., ale dá se sehnat řádově od 150 Kč/ks. Celkovou cenu teploměru určuje de facto pouze počet a typ připojených čidel.

Závěr

Považuji tento projekt za zdařilý, o čemž svědčí i řada spokojených uživatelů. Zde mi nedá, abych neřekl, že jsme mezi nimi také (odkaz Czech Technical University in Prague na autorových stránkách). Pokud budete spokojeni taktéž, autor rád přidá odkaz i na váš teploměr. Za zmínku ještě stojí to, že software DigiTempu existuje nejen pro Linux, ale i pro DOS a Windows. Asi jedinou drobnou (ale řešitelnou) vadou na kráse zůstává možný problém s pasivním adaptérem.

Rád bych poznamenal, že nemám nic společného s žádnou z uvedených firem.

Našli jste v článku chybu?
Vitalia.cz: 3× o tucích: proč je potřebujeme?

3× o tucích: proč je potřebujeme?

Podnikatel.cz: Skvělá zpráva, dobírka #EET nepodlehne

Skvělá zpráva, dobírka #EET nepodlehne

120na80.cz: Cestovní nevolnost. Co pomůže?

Cestovní nevolnost. Co pomůže?

Vitalia.cz: Jelení farma produkuje kvalitní maso

Jelení farma produkuje kvalitní maso

Lupa.cz: Zkoušeli operátoři manipulovat měření LTE?

Zkoušeli operátoři manipulovat měření LTE?

DigiZone.cz: Náhrada za nevrácená zařízení?

Náhrada za nevrácená zařízení?

DigiZone.cz: Mobilní aplikace pro DVTV je tady

Mobilní aplikace pro DVTV je tady

Měšec.cz: Apple Pay je v Česku. Návod na aktivaci

Apple Pay je v Česku. Návod na aktivaci

DigiZone.cz: Markíza: tady je předběžné opatření

Markíza: tady je předběžné opatření

DigiZone.cz: HbbTV KinoSvět: už jede na dalších TV

HbbTV KinoSvět: už jede na dalších TV

DigiZone.cz: Nova: technické pauzy každé 1. pondělí

Nova: technické pauzy každé 1. pondělí

120na80.cz: Jsou opalovací krémy pro děti jiné?

Jsou opalovací krémy pro děti jiné?

DigiZone.cz: Dabingové ceny znají letošní nominace

Dabingové ceny znají letošní nominace

120na80.cz: Proč komáři létají hlavně večer?

Proč komáři létají hlavně večer?

Lupa.cz: Text umírá, na webu zbude jen video

Text umírá, na webu zbude jen video

Vitalia.cz: Jíme přesolené potraviny. Zrovna tyhle

Jíme přesolené potraviny. Zrovna tyhle

DigiZone.cz: Skylink: Nova Sport volně

Skylink: Nova Sport volně

120na80.cz: Krémy, nebo spreje na opalování?

Krémy, nebo spreje na opalování?

DigiZone.cz: Pardubicko: Výrazně posílen Mux 3

Pardubicko: Výrazně posílen Mux 3

DigiZone.cz: ČTÚ květen: rušení TV vysílání narůstá

ČTÚ květen: rušení TV vysílání narůstá