Dziś omówimy działanie popularnych termometrów DS18B20, oraz ich konfigurację w ESPeasy do współpracy z Domoticzem.
Cyfrowy czujnik temperatury DS18B20 z interfejsem 1-wire. Działa w zakresie od -55 °C do 125 °C. Zasilany jest napięciem od 3,0 V do 5,5 V. Jest to jeden z najpopularniejszych termometrów cyfrowych, które możemy spotkać w wielu popularnych urządzeniach.
DS działa w oparciu o magistralę 1-wire. Zasadniczo składa się ona z 3 przewodów:
- Masa (-)
- Data, czyli dane
- Zasilanie (+)
Jako przewód możemy zastosować skrętkę.
Należy zwrócić uwagę, że do działania termometr potrzebuje dodatkowego zasilania tzw „pull up” szyny danych.
Pull Up realizujemy poprzez dodatkowe połączenie zasilania 3.3v z szyną danych przy pomocy rezystora 4.7k. W ten sposób powstała magistrala 1-wire może obsługiwać wiele termometrów jednoczenie. Kolejne czujniki podłączamy równolegle, w sposób analogiczny do pierwszego. Każdy z termometrów posiada swój własny numer seryjny, dzięki któremu będziemy mogli je odróżniać w systemie.
Alternatywnym sposobem na podłączenie termometrów DS18B20 jest tzw. połączenie pasożytnicze 🙂
Potrzebujemy wtedy tylko dwóch przewodów. Aby wprowadzić temometr w mod parasite zwieramy nóżkę GND wraz z Vdd, podpinając do jednej żyły, a DATA do drugiej, nie zapominając o pull up.
Należy zwrócić uwagę że w trybie pasożytniczym termometr może przekazać wyniki pomiarów nie przekraczające 100 stopni. Więcej informacji na temat działania samego termometru znajdziemy w jego nocie katalogowej.
Kabelki gotowe, przechodzimy do ESPeasy!
W poprzednim artykule uruchomiliśmy ESPeasy na ESP8266, aby skonfigurować termometr odwiedzamy adres naszego ESP w przeglądarce.
Przechodzimy do zakładki Devices i klikamy edit na pierwszej wolnej pozycji.
Z listy rozwijanej Devices wybieramy DS18B20.
W polu Name wpisujemy nazwę dla naszego termometru.
Zaznaczamy Enabled.
w 1st GPIO wybieramy numer portu GPIO do którego podłączony jest przewód DATA naszej magistrali.
Device Address – tutaj pojawią się wszystkie termometry, podłączone do danej szyny.
Device resolution – rozdzielczonść pomiarów (więcej informacji w nocie katalogowej).
Teraz wróćmy do Domoticza.
Musimy dodać nowe urządzenie wirtualne, które będzie wykorzystywane przez ESP do przekazywania pomiarów. Konfiguracja/sprzęt
Wybieramy Nazwę, Typ: Dummy i klikamy dodaj.
Następnie aby dodać nowy termometr klikamy: Utwórz wirtualne czujniki
Aby znaleźć IDX, przechodzimy do zakładki Urządzenia:
I odczytujemy Idx ( w moim wypadku 64).
Wartość IDX wprowadzamy w ESP Easy, a całość zapisujemy. W zależności od ustawionego czasu odświeżania wyniki pomiarów powinny po chwili pojawić się w Domoticzu!
Kurcze jakoś nie chce mi to działać 🙁 Czy można by było liczyć na pomoc ?
W ESP czujnik działa pokazuje temperaturę a w domoticzu cały czas zero 🙁
Cześć
Mam dokładnie taki sam problem jak ty.
I od 2 dni próbuję z tym sobie jakoś poradzić i niestety się nie udaje 🙁
U mnie też nie działa w domoticzu, w esp niby działa idx ustawione takie same.
Witam miałem podobny problem z działająco nie działającym czujnikiem, Pomogło dodanie reguły w espeasy: //when temp is updated from device setup page
on Temp#Temperature do
SendToHTTP 192.168.57.226,8081,/json.htm?param=udevice&type=command&idx=6&nvalue=0&svalue=[Temp#Temperature]
endon
Oczywiście trzeba podstawić własne ip nazwy urządzenia i idx. Powodzenia
Cześć, mam kilka pytań:
1) ile można podpiąć takich termometrów jedną i druga metodą?
2) mam rozłożonych 8 szt. termometrów, które zbiegają się w jednej puszce, do której dochodzi skrętka (dwie skrętki). Jakbyś sugerował optymalnie podpiąć je w puszce? wszystkie spiąć jedną z dwóch opisanych metod, czy wykorzystać różne żyły w dwóch skrętkach i zrobić tylko wspólne zasilanie + osobną żyłą każdy sygnał danych?
3) czy moduł ESP lepiej umieścić w puszcze i wtedy tylko zasilić go skrętką?
4) nie potrzebuję dostępu bezprzewodowego, mam skrętkę, do czego jeszcze mogę podpiąć te 8 termometrów?
5) czy tak podłączone termometry będzie można użyć w HA lub innych gotowych systemach jak np. AMPIO?
6) czy można skrócić ich kable czy może to wpłynąć na dokładność/różnicę pomiarów?
pozdrawiam
Wiktor