Powiadomienia
Wyczyść wszystko

Dallas DS18b20 na więcej niż jednym GPIO

Strona 1 / 2
MiG41
(@marcingajda)
Majster

Witam,

Poszukuję softu na ESP8266 , który pozwoliłby zaczytywać temperatury z czujników . Mam ich kilkadziesiąt umieszczonych w podłodze , ale niestety są chińskie , i działają ok , jak jest max 4szt na jednym GPIO. Dawanie mniejszego rezystora podciągającego niewiele daje .

Dlatego pytanie , czy jest szansa ,żeby znieść ograniczenie 8szt ? Oraz drugie ważniejsze , czy jest szansa ,żeby odczytywać to z kilku GPIO ?

Cytuj
Autor tematu Dodane : 01/01/2021 4:43 pm
adrian
(@adrian)
Prezes Zasłużony dla Forum, Patron Strony

jest szansa, daj znać ile chcesz mieć tych czujników to wygeneruję z taką ilością eksperymentalna wersję

Przy czym, im więcej dodaje tych elementów do ESP8266 tym bardziej jest obciążony, aż w którymś momencie zamula się, nie do użycia. Daj znać ile mam w tym być

  • diod LED
  • przycisków
  • przekaźników
  • DS18B20
OdpowiedzCytuj
Dodane : 01/01/2021 5:08 pm
MiG41
(@marcingajda)
Majster

Dzięki za szybką odpowiedź. Dla mnie odpowiedni byłby soft który miałby powiedzmy max 6 GPIO na raz , na każdej linii max 5szt DS18b20 , czyli łącznie 30szt ..Potrzebuję dane z tych czujników przerzucić do MQTT ( bądź bezpośrednio do HA) , więc dla mnie LEDów, przycisków i przekaźników może w ogóle nie być.

OdpowiedzCytuj
Autor tematu Dodane : 01/01/2021 5:18 pm
adrian
(@adrian)
Prezes Zasłużony dla Forum, Patron Strony

@marcingajda

  • dostępna do pobrania
  • nie mam czasu za bardzo jej testować
  • daj znać czy dobrze chodzi

Pobierz AFE Firmware T1 2.4.1.E1

  • do 30 czujników DS18B20
  • 1 dioda LED
  • 1 przycisk
  • 0 przekaźników

Pozdrawiam, adrian

 

OdpowiedzCytuj
Dodane : 01/01/2021 7:06 pm
MiG41
(@marcingajda)
Majster

Nie spodziewałem się tak szybkiej reakcji ! Na szybko zlutowałem Wemosa z dwoma czujnikami na osobnych GPIO , no i się nauczyć obsługi softu ( bo to w sumie mój pierwszy test). I narazie wszystko jak najbardziej jest ok 🙂 

Dziękuję bardzo , jutro spróbuję z dużo większą ilością GPIO. 

OdpowiedzCytuj
Autor tematu Dodane : 01/01/2021 8:13 pm
adrian polubień
MiG41
(@marcingajda)
Majster

Na razie test 11szt ds18b20 :

2szt na GPIO 2

5szt na GPIO4

4szt na GPIO14

i od godziny działa. 

Czy jest jakiś podgląd obciążenia ? Czy obciążenie generuje ilość czujników , czy może ilość GPIO ?

 

OdpowiedzCytuj
Autor tematu Dodane : 02/01/2021 5:21 pm
adrian
(@adrian)
Prezes Zasłużony dla Forum, Patron Strony

Jak w przeglądarce wpiszesz IP urządzenia u dołu będziesz miał info Heap size lub coś podobnego - im bliżej zera tym gorzej, jak jest 10k i więcej to jest okay

OdpowiedzCytuj
Dodane : 02/01/2021 6:39 pm
MiG41
(@marcingajda)
Majster

No to nie ma różnicy w przypadku jednego czujnika ,a 11szt na 3 GPIO , i tu i tu jest Heap 12KB.

Tak przy okazji , pod jaką nazwą/HostName  ten soft loguje się do MQTT ? Czy dla każdego esp jest inna ? Wiem ,że jak będzie ta sama , to softy będą "walczyć "....

OdpowiedzCytuj
Autor tematu Dodane : 02/01/2021 6:50 pm
adrian
(@adrian)
Prezes Zasłużony dla Forum, Patron Strony

do MQTT Brokera

  • używa Nazwę urządzenia, którą definiujesz w konfigu AFE
  • musi być unikalna w ramach Twojej sieci, bo tak jak napisałeś będzie walka między urządzeniami, żeby się do niego wbić.
  • Dodatkowo Nazwa urządzenia jest używana, jako hostname w LAN - natomiast jest teraz jakiś problem w bibliotekach arduino (których używam w AFE) i host name nie jest ustawiany przy "miękkim" resecie urządzenia 

pzdr.

OdpowiedzCytuj
Dodane : 02/01/2021 6:58 pm
MiG41
(@marcingajda)
Majster

Ok , dzięki za wytłumaczenie . Na razie opis jest:
"Nazwa jest wykorzystywana jako nazwa urządzenia w Twojej lokalnej sieci WiFi oraz jako nazwa hotspot'a urządzenia"
Dlatego dobrze byłoby na przyszłość rozszerzyć ten opis o to co napisałeś ( ,że również służy do MQTT , że musi być unikalna w ramach jednej sieci).

 

EDIT: I może nazwa powinna być też wygenerowana , np. AFE-xxxxxx , gdzie xxx to unikalny numer ,jak w Tasmocie( nie wiem skąd go bierze)

OdpowiedzCytuj
Autor tematu Dodane : 02/01/2021 7:11 pm
MiG41
(@marcingajda)
Majster

Na jednym z Wemosów , mam podłączone w sumie do trzech pinów 8szt DS18B20. 

Akurat ten czujnik ,na którym najbardziej mi zależy , jest na osobnym GPIO. Pech chciał ,że wszystkie pozostałe mają normalną rozdzielczość 0,0625 stopnia , a ten jedyny  ma 0,5 stopnia....  Wydaje mi się ,że przy selekcji takich wybryków ten czujnik nie robił.  Czy jest na to jakiś sposób ? Da to się w kodzie jakoś wymusić ?

 

EDIT : Zmieniałem na inne GPIO , i nie pomogło.

OdpowiedzCytuj
Autor tematu Dodane : 17/01/2021 8:10 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2019, Donator 2K20

@marcingajda pewnie ten jeden to DS1820 a nie 18B20

OdpowiedzCytuj
Dodane : 17/01/2021 9:05 pm
MiG41
(@marcingajda)
Majster

Chyba nie , tak jak pisałem , wcześniej go testowałem ,zanim włożyłem do obudowy , i nie zauważyłem takiego zachowania. Poza tym wszystkie były zamówione w jednej paczce...

 

No i ten drugi tez ma rozdzielczość chyba 0,125 , a nie 0,5...

OdpowiedzCytuj
Autor tematu Dodane : 17/01/2021 9:34 pm
muchac35
(@muchac35)
Ekspert

@marcingajda

Ja tez zakupilem kilkanascie ds18b20 i jedne maja dokladnisc do 0.5 stopna a inne do 0.1 st Zastanawiam się czemu tak jest (wszystkie są DS18B20)

OdpowiedzCytuj
Dodane : 17/01/2021 10:42 pm
MiG41
(@marcingajda)
Majster

@muchac35 ,@isom , odpiąłem czujnik , wgrałem najpierw tasmotę , i tam bez problemu rozdzielczość do 0,1 ,tak tasmota jest ustawiona , nie wiem jak ją zmienić , więc wgrałem inny soft ( do obsługi pompyciepla Panasonic , jest tam zaimplementowana obsługa dallasów , wiec do testów ok ) , no i tam mam rozdzielczość 0,06 ( wynikające z rozdzielczosci samego ds18b20 , czyli te 0,0625 ) . 

W każdym razie to jest coś , programowo w AFE , a nie ,że czujnik nie teges.. @adrian , prośba ,looknij na to.

OdpowiedzCytuj
Autor tematu Dodane : 18/01/2021 2:35 pm
adrian
(@adrian)
Prezes Zasłużony dla Forum, Patron Strony

@marcingajda w aktualnej wersji AFE nie ma ustawiania rozdzielczości tego czujnika - domyślnie w bibliotece tego czujnika jest ustawiona 9bit'owa - z tego co pamiętam.

pzdr.a

OdpowiedzCytuj
Dodane : 18/01/2021 8:45 pm
MiG41
(@marcingajda)
Majster

Potestowałem trochę to bardziej , i wygląda na to ,że to jest kwestia czujnika... Wychodzi na to , że standardowo startuje z taką rozdzielczością , i trzeba mu ją zmienić , i robi to tylko tasmota .Po jej wgraniu mogę następnie na nią wgrać dowolny inny soft , również ten testowy AFE , i jest rozdzielczość 0,0625. Restart itp, i działa ,dopóki nie wyłączy się zasilania. I od nowa ma rozdzielczosc 0,5....

 

@adrian , możesz to sprawdzić , są tam funkcje getResolution i setResolution , może da się je ustawiać ?

OdpowiedzCytuj
Autor tematu Dodane : 18/01/2021 8:48 pm
MiG41
(@marcingajda)
Majster

9bitowa rozdzielczość to właśnie 0,5stopnia ,  (10bit to 0,25 , 11bit to 0,125  i 12bit to 0,0625).

No ale 7 pozostałych ma tą rozdzielczość prawidłową , 0,0625  🙂 

OdpowiedzCytuj
Autor tematu Dodane : 18/01/2021 8:52 pm
adrian
(@adrian)
Prezes Zasłużony dla Forum, Patron Strony

@marcingajda tak są, biorę co tam jest w standardzie, nie pamiętam dokładnie, czy w standardzie ustawionym na czujniku, czy w bibliotece  (nie analizowałem) - w AFE teraz tego nie tykam.

pzdr.a

OdpowiedzCytuj
Dodane : 18/01/2021 9:02 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2019, Donator 2K20

@marcingajda jeżeli czujnik przekazuje wskazania z 9-bit to zwiększanie rozdzielczości nie daje zbyt wiele bo raz dokładność czujników DS to plus minus 0,5* , oraz dryf pomiaru na poziomie 0,2 stopnia. Więc można zwiększyć precyzję odczytanej temperatury, ale pomiar przy takiej samej temperaturze może się zmieniać w granicach 0,2 stopnia. 

Ja dziś podłączyłem pierwszy z brzegu czujnik bez testowania go i z marszu mam 10 bitów na AFE 

 1
OdpowiedzCytuj
Dodane : 18/01/2021 9:25 pm
Strona 1 / 2
Udostępnij: