Stanica 1-WIRE
Jednoduchá meteorologická stanica 1-WIRE
Prevodník 1-WIRE, namerané napätia
Meranie napätí prevodníka 1-WIRE - projekt DIGITEMP Meteo stanica Henisch
T °C |
|
![]() prevodník USB/RS232 |
![]() prevodník 1-WIRE |
![]() Dallas senzor DS18B20 |
Meranie elektrického napätia
![]() 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):
Konektor RS232 - napätia medzi PINmi 2 až 5
|
Namerané napätia
|
Prevodník 1-WIRE, passive adapter - napätia na súčiastkach
![]() ![]() Prevodník 1-WIRE, schéma |
Použité súčiastky
|
![]() Prevodník 1-WIRE, súčiastky |
Rozmiestnenie súčiastok na univerzálnej doske
|
DALLAS senzor DS18B20
![]() 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. |
Záver
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.
Meteo stanica Henisch
- Digitemp skript
- snmptd
- php kód
Š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.
1. Digitemp skript
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
2. snmpd
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ť.
#[root@ssjh] snmpwalk -v1 -c public localhost .1.3.6.1.4.1.2021.2000
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
3. php kód, snmpwalk.php
<?
/**
*
* 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";
?>
Ing. František Haluška