Pomiar temperatury to jeden z pierwszych dodatków do domoticza. Zadanie jest bardzo proste i pozwala w wersji przewodowej na podłączenie kilku termometrów przez system 1-wire. 1-wire oznacza, że termometr posiada oprócz zasilania – jeden przewód fizyczny, przez który przekazuje dane, a magistrala 1-wire obsługuje weryfikację przekazywanych danych.

Co nam będzie potrzebne?
Hardware:
- termometr o symbolu DS18B20 (Dallas) – występuje w różnych obudowach – podstawowa to chip z trzema wyprowadzeniami. Zakres mierzonych temperatur to -55 stopni Celsjusza do +125, jednak wiarygodny pomiar jest do około +95 – +100 stopni Celsjusza.
- rezystor 4,7kOm – tzw. podciągający pin danych
- Raspberry Pi (dowolne – A, B, B+, 2 lub 3) z pierwszego wpisu
Software:
- domoticz zainstalowany w pierwszym kroku
Do dzieła!
Termometr potrafi współpracować w szeregu na dość długim przewodzie, będąc zasilany tylko z Raspberyy Pi, z PIN 3,3V. Oznacza to, że możemy na np: 20m umieścić 5 takich termometrów – na przykład do pomiaru nagrzewnicy, oraz rekuperatora, który posiada 2 wejścia i 2 wyjścia – pomiar pozwala określić jego skuteczność, dzięki m.in. czterem wykresom domoticz na jednej skali.
Po pierwsze należy wprowadzić zmiany w procedurze uruchamiania naszego Raspberry Pi z raspbianem w wersji Wheezy lub Jessie. Do pliku /boot/config.txt należy dopisać linię:
1 |
dtoverlay=w1-GPIO,gpiopin=4 |
Uruchamiamy ponownie Pi i podłączamy termometr – między pin danych (czerwony) i +3,3V (biały) wstawiamy rezystor 4,7kOm – tak jak na pierwszym zdjęciu, tak aby podciągnąć pin z danymi i ustalić sygnał. Pin GND dostał niebieski kabel. Następnie podłączamy nasz termometr do Raspberry Pi:

Pin +3,3V do +3,3V Raspberry, Pin Data (środkowy na termometrze) do GPIO#4, a GND do masy (niebieski). Jeśli masz ich więcej (na przykład 5) – podłącz je równolegle.
Teraz na konsoli sprawdzamy czy termometr pojawił się w systemie:
1 |
cat /sys/bus/w1/devices/28-*/w1_slave |
W wyniku powinieneś otrzymać odczyt surowy temperatury – w przykładzie mamy 5 termometrów:
1 2 3 4 5 6 7 8 9 10 |
3d 01 4b 46 7f ff 0c 10 75 : crc=75 YES 3d 01 4b 46 7f ff 0c 10 75 t=19812 3b 01 4b 46 7f ff 0c 10 e6 : crc=e6 YES 3b 01 4b 46 7f ff 0c 10 e6 t=19687 39 01 4b 46 7f ff 0c 0c 5e : crc=5e YES 39 01 4b 46 7f ff 0c 0c 5e t=19562 35 01 4b 46 7f ff 0c 10 5f : crc=5f YES 35 01 4b 46 7f ff 0c 10 5f t=19312 26 02 4b 46 7f ff 0c 0c b7 : crc=b7 YES 26 02 4b 46 7f ff 0c 0c b7 t=34375 |
Jeśli masz jeden termometr – będzie jeden wpis. Wpis crc=xx YES – oznacza że odczyt jest poprawny.
Pozostaje dodanie obsługi 1-wire do domoticz, w zakładce: Ustawienia->Sprzęt:

Nasze termometry pojawią się od razu w Ustawienia->Urządzenia:

To wszystko – pozostaje dodać je do używanych czujników, tak aby pojawiły się w zakładce Temperatura.