Meranie teploty termometrom DS18B20 pomocou pasívneho prevodníka 1-WIRE.
Pasívny prevodník 1-WIRE
T °C |
|
![]() prevodník USB/RS232 |
![]() prevodník 1-WIRE |
![]() Dallas senzor DS18B20 |
![]() Meranie napätia multimetrom SOLID RE830D |
Elektrické napätie
|
Elektrické napätie sa merá elektrickým prístrojom voltmetrom.
Na meranie elektrického napätia sme použili multimeter SOLID RE830D s triedou presnosti (TP) uvedenou v
manuáli, ktorý sme nenašli (asi TP = 2,5). Merací rozsah 20V.
Pri testovaní prevodníka 1-WIRE aj so senzorom Dallas DS18B20 pripojeného k notebooku Compaq
615 cez prevodník USB/RS232 sme namerali také napätia (rozdiel potenciálov):
|
Namerané napätia
|
![]() ![]() Prevodník 1-WIRE, schéma |
Použité súčiastky
|
![]() Prevodník 1-WIRE, súčiastky |
Rozmiestnenie súčiastok na univerzálnej doske
|
![]() Umiestnenie DS18B20 |
Výrobcom senzora DS18B20 je americká fy DALLAS.
Výstupné napätie prevodníka 1-WIRE, ktorým je napájaný senzor DS18B20 je U = 5.96 V. Senzor DS18B20 je umiestnený nad parapetnou doskou v rohu balkónových dverí, merá vonkajšiu teplotu v Bardejove cca 10 m nad zemou programom LogTemp. Program LogTemp odosiela údaje na server pomocou protokolu ftp. |
![]() USB/RS232 - 1-WIRE |
Súčiastky zletované podľa schémy sme umiestnili do konektora CANON s výstupom na CINCH. |
Namerané napätia na prevodníku 1-WIRE a senzore DS18B20 považujte za orientačné, možu napomôcť pri doladení vášho prevodníka 1-WIRE.
Školský projekt meranie teploty Digitempom.
Digitemp je softvér určený pre operačný systém Linux. Program digitemp je spúšťaný pomocou cron a pomocou rrdtools sa generujú grafy.
Server ssjh.sk ponúka okamžité meranie teploty pomocou digitemp skriptu, aplikácie snmptd a php stránky.
Skript je uložený v adresári /usr/local/bin. Tento skript vráti hodnotu - teplotu v stupňoch Celsia.
#!/bin/bash # digitemp # Frantisek Haluska # /usr/local/bin/checktemp # http://ssjh.sk/aix/new/digitemp.htm CONFFILE=/etc/digitemp.conf bdigitemp_DS9097 -q -t 1 -c $CONFFILE -s/dev/ttyUSB0 | awk {' print $2'}| tail -n 1
Konfiguračný súbor démona je umiestnený v /etc/snmp. Dopísať tento riadok:
# /etc/smnp/snmpd.conf # extend .1.3.6.1.4.1.2021.2000.1 temp0 /usr/local/bin/checktemp # #reštartovať service snmpd restart a otestovať.
UCD-SNMP-MIB::ucdavis.2000.1.1.0 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.2000.1.2.1.2.5.116.101.109.112.48 = STRING: "/usr/local/bin/checktemp" UCD-SNMP-MIB::ucdavis.2000.1.2.1.3.5.116.101.109.112.48 = "" UCD-SNMP-MIB::ucdavis.2000.1.2.1.4.5.116.101.109.112.48 = "" UCD-SNMP-MIB::ucdavis.2000.1.2.1.5.5.116.101.109.112.48 = INTEGER: 5 UCD-SNMP-MIB::ucdavis.2000.1.2.1.6.5.116.101.109.112.48 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.2000.1.2.1.7.5.116.101.109.112.48 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.2000.1.2.1.20.5.116.101.109.112.48 = INTEGER: 4 UCD-SNMP-MIB::ucdavis.2000.1.2.1.21.5.116.101.109.112.48 = INTEGER: 1
<? /** * * František Haluška * script pre digitemp, snmpwalk * http://ssjh.sk * * **/ $host = '127.0.0.1'; $community = 'public'; $object_id = 'UCD-SNMP-MIB::ucdavis.2000.1.3.1.2.5.116.101.109.112'; $temperature = snmpwalk($host, $community, $object_id); $length = strlen($temperature[0]); $temp = substr($temperature[0], 9, -1); echo $temp."°C"; ?>Merať teplotu