wiki:Measurements/Temperature

Merjenje temperature

Ta navodila so napisana za tiste, ki se želijo bolje seznaniti z delom z opremo. Za sodelovanje v omrežju to znanje ni potrebno, ampak se je dovolj le javiti, recimo v okviru akcije odpri okno? in za tehnične podrobnosti poskrbimo skupaj.

Linksys routerji? imajo v svoji notranjosti dva serijska porta?, ki ju je mogoče uporabiti za komunikacijo z 1-wire napravami proizvajalca Maxim/Dallas. Za nas je zanimiv DS18B20 – natančneje digitalni termometer, do katerega lahko dostopamo s paketom digitemp, ki ga lahko izberemo v konfiguraciji točke v bazi točk in ga image generator? doda v firmware? za točko.

Vezje za merjenje temperature

SMD plug&play izvedba je na voljo tukaj?, navodila za vezavo pa so na voljo  tukaj.

Uporaba paketa digitemp

V naslednjih ukazih se uporablja enak način zapisa ukazov, kot je opisan v navodilih za SSH dostop?, predvsem da znak $ le označuje ukaz, ki ga je potrebno izvesti v konzoli? in ni del samega ukaza.

Najprej moramo inicializirati komunikacijo in prepoznati senzorje:

$ digitemp_DS9097 -s /dev/tts/1 -i

Če gre vse prav, se izpiše nekaj podobnega:

DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
.
Searching the 1-Wire LAN
2854F50A01000028 : DS18B20 Temperature Sensor
ROM #0 : 2854F50A01000028
Wrote .digitemprc

Nato zaženemo izpis temperature senzorjev:

$ digitemp_DS9097 -a -q

Kar izpiše nekaj meritev:

Sep 07 21:24:07 Sensor 0 C: 11.94 F: 53.49

Temperaturo lahko izpisujemo neprekinjeno. <sekunde> predstavljajo zakasnitev med meritvami, <število ponovitev> kolikokrat želimo, da se meritev ponovi, vrednost 0 pomeni neskončno ponovitev:

$ digitemp_DS9097 -a -q -d <sekunde> -n <število ponovotev>

Temperaturo lahko logiramo v datoteko. Naslednji ukaz bo naredil 1440 meritev s 60 sekundno zakasnitvijo med meritvami in jih shranil v datoteko <log file>, recimo /tmp/temperature.log. Znak na koncu, &, pove ukazni vrstici, da naj ukaz požene v ozadju in ni del argumentov programu samemu.

$ digitemp_DS9097 -a -q -d 60 -n 1440 -l <log file> &

V živo lahko spremljamo zapisovanje v log file s tem ukazom:

$ tail -f /tmp/temperature.log

Skonfiguriramo .digitemprc (v trenutnem direktoriju) in recimo zmanjšamo porabo spomina s spremembo LOG_FORMAT:

TTY /dev/tts/1
READ_TIME 1000
LOG_TYPE 1
LOG_FORMAT "%b %d %H:%M %.2C"
CNT_FORMAT "%b %d %H:%M:%S Sensor %s #%n %C"
HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
SENSORS 1
ROM 0 0x28 0x54 0x6B 0x51 0x00 0x00 0x00 0xDA