ESPEasy na esp32 z ethernetem i ds18b20

Mam ESPEasy na płytce Olimex ESP32 Gateway. Wszystko mi działa, ale klient nagle wymyślił sobie pomiar temperatury,
Podłączyłem czujnik, skonfigurowałem “Device” i… nie działa. Nie widać czujnika na liście, w statystykach jakieś bzdury - przypadkowe adresy i odczyty.
Czujnik na pewno sprawny, bo sprawdzałem na Raspberry. W konfiguracji raczej błędu nie mam - sprawdzałem wszystko, z resztą robiłem już coś takiego na ESPEasy, z tym że na esp8266.
I najlepsze: podłączyłem oscyloskop i wygląda na to, że 1wire w ogóle nie jest uruchamiane - cisza.
W logu z resztą też cisza, nawet jak się przełączy na dev more.
Czyżby wersje z ethernetem nie miały obsługi 1w?
Na stronach ESPEasy nic na ten temat nie ma, z resztą po co by ta opcja miała być jeśli nie jest obsługiwana?

Musisz znać adres czujnika
Dsy są adresowane jak nie znasz adresu to pypa.
Poza tym opornik rezystor.
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.
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.
Sorki tak na szybko kopiuj/wklej

Połączenie pasożytnicze wygląda tak


Też wymaga rezystora

Jeśli odległość przekracza 2,5m należy rezystor zmniejszyć (chyba nie jestem pewien).

Tu masz filmik jak to zrobić
Esp easy i ds
Sorki że po niemiecku

Artur napiszę krótko to że jesteś liderem itd jak zwał tak zwał i twoje uwagi akurat mnie nie bawią robisz to samo co ciołki na elektrodzie nie pozdrawiam żegnam

Ja nie robię tego pierwszy raz. Działało mi na RPi, Rpi Pico, esp8266 z ESPEasy.
Teraz nie działa na tej płytce z ethernetem.
Muszę spróbować wgrać wersję bez eth to może się coś wyjaśni,

Rpi i Rpi pico sobie radzą bez rezystora. Niektóre esp stare v2.1 i v2.3 miały rezystory podnoszące na płytce. Nie widzę na tej płytce rezystora. Spróbuj podłączyć z rezystorem jak zasilasz czujnik 3,3v to możesz wykorzystać rezystor 2,2 albo 2,7.
Możesz wgrać i sprawdzić ale obstawiam moje rozwiązanie.
https://espeasy.readthedocs.io/en/latest/Plugin/P004_DS18b20.html

1 polubienie

Ja mam rezystor 4k7.Gdzie ja napisałem, że nie mam rezystora, albo że nie umiem tego podpiąć?
Próbowałem też na różnych GPIO.
Mniejszego rezystora nie próbowałem - nie ma sensu, gdyż jak napisałem sprawdzałem oscyloskopem i tam nic się nie dzieje - cały czas stan wysoki - ani śladu komunikacji czy próby komunikacji z czujnikiem.
Gdyby za duży rezystor był problemem to by był wyraźny stan niski i problemy z podniesieniem się linii do stanu wysokiego.

Edit:

Sprawa przynajmniej częściowo wyjaśniona: ostatnią wersją w której działa ds18b20 iest mega-20220427.
Oczywiście mówię o ESP32 i raczej nie ma znaczenia czy z eth czy nie.
Dziwi mnie, że nic o tym nie piszą i do tego wersja mega-20220809 ma wpisane w changelog “Fix Dallas 1Wire plugins on ESP32”, czyli ewidentnie coś było popsute, ale wygląda na to że nie do końca jest naprawione.

Na tej wersji dziala 20220427 jak i na 20221105

Edit:



do każdego DS… dopięty 4,7kOhm rezystor, odległości kabli różne, od 2m do 28m, na skrętce SFTP 6a Bitner.

No teraz już nic nie wiem - zadziałało mi na 20221224, ale to jest inna płytka, inny czujnik. Identyczne, ale inne egzemplarze.
Tamta na której testowałem i nie działało, teraz jest w terenie i działa na 20220427.

Sprawdzałem na oscyloskopie i generalnie przy rezystorach 4k7 sygnały wyglądają fatalnie. Przy zasilaniu 3,3V zmieniłem rezystory na 2,2k i wygląda to lepiej, Przy długich przewodach i większej ilości czujników dałem nawet 1k. Sprawę też poprawia zastosowanie oryginalnych Maximów - znów są dostępne i przy cenie 10zł nie ma co stosować zamienników nawet gdyby były za darmo.

2 polubienia