Domoticz #3 – dodajemy czujniki DS18B20 i BME280

W kolejnej, trzeciej części przygód z Domoticzem, opisuję jak podłączyć czujniki DS18B20 (temperatura) oraz BME280 (temperatura, wilgotność, ciśnienie). Są one wpinane bezpośrednio w płytkę Raspberry Pi za pośrednictwem przewodów.

Domoticz i odczyt temperatury z DS18B20

Cyfrowy czujnik temperatury DS18B20 korzystający z magistrali 1-wire to dość znany element. Opisywałem go tutaj czy tutaj. By odczytywać z niego temperaturę w Raspbianie, musimy zacząć od włączenia obsługi magistrali one-wire. W tym celu odpalamy raspi-config z uprawnieniami roota, czyli

sudo raspi-config

Dalej przechodzimy do 5 pozycji Interfacing Options:

Z kolejnego menu wybieramy P7 1-Wire

Enter, potwierdzenie i 1-wire włączone 🙂

Możemy sprawdzić, czy mamy załadowany moduł odpowiedzialny, za obsługę naszego DS18B20, w terminalu wpisujemy:

lsmod

I szukamy modułów w1_therm i w1_gpio:

Jeśli są, to podpinamy DS18B20 do płytki Raspberry Pi. Dla przypomnienia poglądowy rysunek jak to powinno wyglądać:

Między zasilanie +3V3 i linię danych (GPIO4) koniecznie trzeba wpiąć rezystor podciągający 4,7kΩ. Dla ułatwienia podłączenia, przylutowałem czujnik, opornik i 3 goldpiny do kawałka płytki uniwersalnej:

Jeśli podłączyliśmy czujnik prawidłowo, można z poziomu terminala sprawdzić, czy jest on widoczny w Raspbianie:

cat /sys/bus/w1/devices/w1_bus_master1/w1_master_slaves

Po zatwierdzeniu enterem, powinniśmy dostać numer seryjny naszego czujnika:

Skoro wszystko działa, to przechodzimy do domoticza, a konkretnie do Konfiguracja -> Sprzęt. W okienku dodawania sprzętu wpisujemy dowolną nazwę, pole typ wypełniamy wartością 1-Wire (System). Pozostałe opcje pozostawiamy domyślne:

Po wciśnięciu [Dodaj], przechodzimy do Konfiguracja -> Urządzenia, gdzie zobaczmy nasz czujnik. Z tego miejsca można nadać mu nazwę i co najważniejsze – włączyć, klikając w zieloną strzałkę:

W zakładce Temperatura pojawił się nowy obiekt z temperaturą mierzoną przez nasz czujnik DS18B20.

Domoticz i BME280 – czujnik ciśnienia, temperatury i wilgotności

Czujnik BME280 opisywałem jakiś czas temu tutaj. Podobnie jak w przypadku 1-wire, musimy włączyć obsługę magistrali, ale tym razem i2c. Czyli z raspi-config wybieramy piątą pozycję Interfacing Options i dalej P5 I2C:

W następnym oknie zatwierdzamy i gotowe. Do Raspbiana doinstalujemy kilka przydatnych paczek do obsługi i2c:

sudo apt update
sudo apt install python-smbus i2c-tools

Teraz podłączmy nasz czujnik ciśnienia BME280 do Raspberry. Musimy spiąć płytki za pomocą zasilania 3,3V, GND oraz linii I2C: SDA i SCL (Data i Clock):

U mnie kabelek czerwony to +3V3, czarny GND, żółty SDA i niebieski SCL. Moja płytka z czujnikiem BME280 jest inna, niż ta na wizualizacji wyżej. Posiadam popularną wersję z aliexpress, która kosztuje 2 dolary z kawałkiem.

Teraz sprawdźmy z poziomu Raspbiana, czy czujnik został wykryty:

i2cdetect -y 1

Jeśli widzimy urządzenie o adresie 76 (domyślny dla BME280), to wszystko przebiegło prawidłowo. W Domoticzu udajemy się do zakładki Konfiguracja -> Sprzęt i w okienku dodawania wpisujemy dowolną nazwę, w Typ wybieramy I2C sensors, Podtyp I2C sensors BME280 Temp+Hum+Baro:

Po wciśnięciu [Dodaj] przechodzimy do zakładki Konfiguracja -> Urządzenia, gdzie zobaczymy czujnik BME280. Klikamy na zieloną strzałkę, by go włączyć:

Odczyty z BME280 znajdziemy w zakładkach Temperatura i Pogoda:

Podsumowanie

Nie wspomniałem o tym wyżej, ale obydwa czujniki mogą pracować jednocześnie;

Podsumowując dwa poprzednie wpisy i obecny

Mamy: skonfigurowany system Domoticz, czujniki połączone przez Bluetooth oraz fizycznie wpięte w płytkę Raspberry Pi. Mierząc temperaturę i wilgotność uzyskujemy wyliczony punkt rosy, mając dane o ciśnieniu, system informuje nas o pogodzie (słonecznie, zachmurzenie itd.).

A następny materiał będzie dotyczył własnej bramki do komunikacji z różnymi urządzeniami w standardzie Zigbee.

Możesz również polubić…

2 komentarze

  1. Rad pisze:

    Świetne wpisy… Sam się zastanawiam nad przejściem na DOMOTICZ zainstalowany na maszynie wirtualnej dysku QNAP. Z RPI i częstym zapisem na kartach SD mam niemiłe wspomnienia… 🙁
    Pytanie, które mnie obecnie nurtuje: Czy można w Domoticz-u podłaczyć czujniki DS18B20 przy użyciu przystawki USB-RS232 (DS9097) i z nich odczytywać dane? Niestety chyba tylko takie rozwiązanie wchodzi w przypadku instalacji Domoticza na maszynie wirtualnej.

Leave a Reply

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.