środa, 9 października
Shadow

Raspberry Pi – Domoticz DS18B20

Z racji tego, iż w Domoticz możemy odczytywać czujniki DS18B20 do pomiary temperatury, żal było by tego nie wykorzystać. Czujnik DS18B20 to cyfrowy termometr (czujnik cyfrowy) w obudowie TO92 wyposażony w interfejs komunikacyjny 1-wire. W tym przypadku będę dodawał 3 czujniki. Będę wykorzystywał czujniki już na przewodach typu

Co będzie nam potrzebne:

– Czujnik temperatury DS18B20 x 3
– Rezystor 4,7kΩ
– Zainstalowanego Domoticza

Aby czujnik DS18B20 działał prawidłowo, należy podłączać rezystor podciągający 4,7kΩ między nóżką zasilania a wyjściem danych. Z racji tego iż są to czujniki 1-wire wszystkie 3 możemy podłączyć bezpośrednio pod 1 GPIO. Zasilanie czujnika podłączamy pod 3,3V, linię danych pod GPIO 4, GND łączymy z masą.

Na samym początku należy w pliku konfiguracyjnym włączyć obsługę czujnika,  zatem w terminalu wpisujemy

sudo nano /boot/config.txt

Na samym końcu dopisujemy:

dtoverlay=w1-GPIO,gpiopin=4

Zapisujemy oraz resetujemy naszą malinę.

Po restarcie sprawdźmy czy nasze czujniki są widoczne w tym celu wpisujemy”

cd /sys/bus/w1/devices
ls

Jeżeli wszystko poszło dobrze powinniśmy uzyskać 3 adresy czujników np:

Następnie przechodzimy do panelu Domoticz, klikamy Ustawienia -> Sprzęt. Wybieramy Typ: 1-Wire (System).

Następnie przechodzimy do Ustawienia -> Urządzenia i powinniśmy ujrzeć nasze czujniki:

Następnie przechodzimy do Ustawienia -> Urządzenia i powinniśmy ujrzeć nasze czujniki:

Klikamy w zieloną strzałkę przy wybranym czujniku, Następnie możemy zdefiniować sobie jego nazwę, po czym klikamy dodaj urządzenie.

Tak samo robimy z pozostałymi 2 czujnikami. W zakładce Temperatura pokazuje nam się temperatura z naszych czujników.

5/5 - (1 ocena/y)

12 Comments

  • AdamZ

    Witam!
    Wszystko super do momentu:”Następnie przechodzimy do Ustawienia -> Urządzenia i powinniśmy ujrzeć nasze czujniki:” i i tu nic nie ma.
    Sprzęt Raspberry Pi 4
    z poziomu linuxa – widać czujniki
    Co jest nie tak.

  • Marcin

    Albo coś źle adresujesz ,albo rezystor który dodajesz jest dla jednego czujnika ,a masz trzy. Szyna 1-wire przyjmie podobno 256 .Ale ja już powyżej 4 miałem problemy.
    Wynika to z długości przewodów i ilości czujników.
    Zmniejsz doświadczalnie opornik-zwiększy się prąd i błądzenie pakietów powinno ustąpić.
    (podobno można bez opornika ,ale nigdy się nie zdecydowałem żeby maliny nie upalić)
    Powodzenia

  • Dawid

    Witam,

    mam problem z brakiem obecności czujnika w zakładce Device.
    Zainstalowałem jeden DS, w konsoli jest widoczny, poprawnie wyświetla odczyty i CRC, w Domoticzu, po dodaniu w Hardware (wykasowałem wpis w OWFS, czasy ustawione po 1 ms), w logu pojawiają się wpisy:

    2018-04-17 09:09:56.074 Using 1-Wire support (kernel W1 module)…
    2018-04-17 09:09:56.075 1Wire: Added Device: 28-000008e523ff

    czyli też ok, nr się zgadza, a w zakładce Device pusto (włączyłem opcję pozwalaj na wykrywanie czujników przez 5min). Operacja wykonana na wersji beta Domoticza.

    Warto nadmienić, że podłączyłem czujnik do Arduino – poprawnie odczytuje temperatury.

    Czy ktoś również miał podobny przypadek i go rozwiązał?

  • Janek

    Ponowna instalacja nic nie zmieniła, bo wygąda na to, że problem jest zupełnie gdzieś indziej. Na tej stronie domoticz znalazłem info, że ID tworzone przez domoticza jest z 4 ostatnich cyfr numeru seryjnego. Jak się okazało, wszystkie moje DS’y mają takie same cyfry na końcu numeru seryjnego – różnią się cyframi początkowymi. W takim przypadku pomiary wysyłane przez czujniki traktowane są „wspólnie”. Trochę to dziwne, że taki sposób tworzenia ID został wybrany. Ciekawe czy da się to jakoś poprawić? Zmienić w domoticzu sposób generacji ID? Zmienić serial number DSa? Czy może jakiś skrypt pośredniczący pomiędzy DSami a domoticzem…

  • Janek

    Tak, unikatowy ID jak najbardziej, widać to np przy: ls /sys/bus/w1/devices/, ale gdy w domoticzu dodaje 3x hardware, to on mi się później wyświetla w zakładce „urządzenia” 3 razy z tym samy ID i kolejnymi IDx. Mając tylko 3 czujniki mogę dodać więcej urządzeń, ale one nadal będą miały takie samo ID i różne IDx i wyświetlały losową z 3 dostępnych temperatur. Nie jest dla mnie jasne jakie jest faktycznie powiązanie sprzętowego ID z tym domoticzowym ID… Można to gdzieś podejrzeć?

  • Każdy DS ma swój unikatowy ID więc nie możliwe aby miały taki sam. Sprawdź dokładnie DS18B20 w użyciu od pioruna i za każdym razem działa prawidłowo i to w różnych aplikacjach nie tylko malina i AVR

  • Janek

    Zrobiłem dokładnie tak samo u siebie, ale pojawił się problem. W zakładce „urządzenia” wszystkie 3 czujniki mają takie samo ID (ale różne IDx). W efekcie w zakładce „temperatura” czasem pojawia mi się 3 razy taka sama wartość z jednego z czujników, a pozostałych dwóch nie ma. Po chwili w losowy sposób pojawiają się np 2 x temperatura z drugiego i jeden raz z trzeciego. Itp… Czym to może być spowodowane? Wykres „log” jest później pomieszany wartościami z różnych czujników…

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *


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