ESP-01, DS18B20, Arduino IDE

elmaya
Posty: 956
Rejestracja: śr cze 27, 2018 5:48 pm
Lokalizacja: Sevilla

czw sty 16, 2020 6:49 pm

Pamiętam, że jakiś czas temu miałem z tym problemy
Prawdopodobnie masz rację i to już się zmieniło.
Yepestis
Posty: 263
Rejestracja: pn wrz 24, 2018 6:08 pm
Lokalizacja: Wrocław

czw sty 16, 2020 7:04 pm

klew pisze:
czw sty 16, 2020 6:34 pm
elmaya pisze:
czw sty 16, 2020 6:26 pm
czas potrzebny na czytanie
To raczej nie ma znaczenia. Biblioteka wysyła zapytanie o odczyt i dopiero po 5 s odczytuje wartości z termometru. Robi to nieblokująco.
A po jakim czasie wysyła zapytanie o odczyt kolejnego czujnika?
Przy większej ilości czujników czas odczytu się znacząco wydłuża.

Może by spróbować skrócić ten czas. Przy maksymalnej rozdzielczości 12bit wynosi 750ms, dla pewności można by ustawić np. 1500ms

DS18B20 czas odczytu.JPG
DS18B20 czas odczytu.JPG (24.07 KiB) Przejrzano 460 razy
Awatar użytkownika
klew
Posty: 1117
Rejestracja: czw cze 27, 2019 12:16 pm

czw sty 16, 2020 7:15 pm

Yepestis pisze:
czw sty 16, 2020 7:04 pm
klew pisze:
czw sty 16, 2020 6:34 pm
elmaya pisze:
czw sty 16, 2020 6:26 pm
czas potrzebny na czytanie
To raczej nie ma znaczenia. Biblioteka wysyła zapytanie o odczyt i dopiero po 5 s odczytuje wartości z termometru. Robi to nieblokująco.
A po jakim czasie wysyła zapytanie o odczyt kolejnego czujnika?
Przy większej ilości czujników czas odczytu się znacząco wydłuża.

Może by spróbować skrócić ten czas. Przy maksymalnej rozdzielczości 12bit wynosi 750ms, dla pewności można by ustawić np. 1500ms


DS18B20 czas odczytu.JPG
Z tego co pamiętam, to jest co 5 s na zmianę request o pomiar i potem odczyt po 5 s. Ilość czujników nie ma znaczenie, bo tam każdy równolegle robi pomiar.
Zresztą tutaj pada w trakcie wyświetlania adresów urządzeń wykrytych na one wire, więc nawet do odczytu temperatury nie dochodzi
Awatar użytkownika
Goral64
Posty: 516
Rejestracja: pt gru 27, 2019 6:22 pm

czw sty 16, 2020 9:06 pm

klew pisze:
czw sty 16, 2020 7:15 pm
Zresztą tutaj pada w trakcie wyświetlania adresów urządzeń wykrytych na one wire, więc nawet do odczytu temperatury nie dochodzi
Dokładnie. Ilość czujników na pinie zlicza dobrze. Ale przy ich listowaniu po max 17 czujnikach wtrąca się software'owy watchdog i restartuje ESP... Pewnie tutaj to trwa zbyt długo...
RPi4: Supla Cloud + Supla Scripts + Proxy + Let's Encrypt
1x MEW-01, 1x LIW-01, 2x SBW-02, 2x PNW-01, 1x ROW-01, 1x ROW-02, 1x ROW-04m,
2x Sonoff BRIDGE RF 433
This is only the beggining...
Patryk
Posty: 866
Rejestracja: pn sty 07, 2019 7:51 pm

czw sty 16, 2020 9:18 pm

Kiedyś coś podobnego " przerabiałem ":
viewtopic.php?p=37159#p37159
Awatar użytkownika
klew
Posty: 1117
Rejestracja: czw cze 27, 2019 12:16 pm

czw sty 16, 2020 9:41 pm

Goral64 pisze:
czw sty 16, 2020 9:06 pm
klew pisze:
czw sty 16, 2020 7:15 pm
Zresztą tutaj pada w trakcie wyświetlania adresów urządzeń wykrytych na one wire, więc nawet do odczytu temperatury nie dochodzi
Dokładnie. Ilość czujników na pinie zlicza dobrze. Ale przy ich listowaniu po max 17 czujnikach wtrąca się software'owy watchdog i restartuje ESP... Pewnie tutaj to trwa zbyt długo...
Na początku metody setup() daj: ESP.wdtDisable();
A na końcu (po SuplaDevice.begin() ) daj : ESP.wdtEnable(100);

To wyłączy software'owego watchdoga na czas setupu.
Awatar użytkownika
Goral64
Posty: 516
Rejestracja: pt gru 27, 2019 6:22 pm

pt sty 17, 2020 6:49 am

klew pisze:
czw sty 16, 2020 9:41 pm
Na początku metody setup() daj: ESP.wdtDisable();
A na końcu (po SuplaDevice.begin() ) daj : ESP.wdtEnable(100);

To wyłączy software'owego watchdoga na czas setupu.
No i jesteś wielki :D Dzięki :)

Kod: Zaznacz cały

OneWire(pin 2) Parasite power is OFF
OneWire(pin 2) Found 21 devices:
Index 0 - address {0x28, 0x80, 0xD2, 0x16, 0xA8, 0x01, 0x3C, 0x12}
Index 1 - address {0x28, 0x18, 0x96, 0x16, 0xA8, 0x01, 0x3C, 0xF4}
Index 2 - address {0x28, 0x84, 0xB9, 0x16, 0xA8, 0x01, 0x3C, 0xAF}
Index 3 - address {0x28, 0x1C, 0x95, 0x16, 0xA8, 0x01, 0x3C, 0x66}
Index 4 - address {0x28, 0xFC, 0x8B, 0x16, 0xA8, 0x01, 0x3C, 0x91}
Index 5 - address {0x28, 0x32, 0x74, 0x79, 0x97, 0x05, 0x03, 0x9B}
Index 6 - address {0x28, 0x96, 0xDD, 0x16, 0xA8, 0x01, 0x3C, 0x94}
Index 7 - address {0x28, 0x56, 0x04, 0x16, 0xA8, 0x01, 0x3C, 0xA6}
Index 8 - address {0x28, 0xCE, 0x0F, 0x16, 0xA8, 0x01, 0x3C, 0xC6}
Index 9 - address {0x28, 0xAE, 0xA3, 0x16, 0xA8, 0x01, 0x3C, 0x17}
Index 10 - address {0x28, 0xC9, 0xA2, 0x16, 0xA8, 0x01, 0x3C, 0x9C}
Index 11 - address {0x28, 0xE9, 0xF2, 0x16, 0xA8, 0x01, 0x3C, 0xBF}
Index 12 - address {0x28, 0x39, 0x34, 0x16, 0xA8, 0x01, 0x3C, 0xC5}
Index 13 - address {0x28, 0x15, 0xD2, 0x16, 0xA8, 0x01, 0x3C, 0x48}
Index 14 - address {0x28, 0x2D, 0x8F, 0x16, 0xA8, 0x01, 0x3C, 0x7D}
Index 15 - address {0x28, 0x43, 0xB1, 0x16, 0xA8, 0x01, 0x3C, 0x8B}
Index 16 - address {0x28, 0xE3, 0xA7, 0x16, 0xA8, 0x01, 0x3C, 0x37}
Index 17 - address {0x28, 0x93, 0xC0, 0x16, 0xA8, 0x01, 0x3C, 0xEF}
Index 18 - address {0x28, 0xB3, 0xD7, 0x16, 0xA8, 0x01, 0x3C, 0x74}
Index 19 - address {0x28, 0xBB, 0x43, 0x16, 0xA8, 0x01, 0x3C, 0x7D}
Index 20 - address {0x28, 0x67, 0xC0, 0x16, 0xA8, 0x01, 0x3C, 0x41}
WIFI: establishing connection with SSID: "SSID"
Using protocol version 8
Channel(0) value changed to 18.562500
Channel(1) value changed to 18.750000
Channel(2) value changed to 18.937500
Channel(3) value changed to 18.875000
Channel(4) value changed to 18.250000
Channel(5) value changed to 19.000000
Channel(6) value changed to 18.812500
Channel(7) value changed to 18.687500
Channel(8) value changed to 18.375000
Channel(9) value changed to 18.812500
Channel(10) value changed to 18.250000
Channel(11) value changed to 18.812500
Channel(12) value changed to 18.625000
Channel(13) value changed to 18.625000
Channel(14) value changed to 19.062500
Channel(15) value changed to 18.500000
Channel(16) value changed to 18.375000
Channel(17) value changed to 19.625000
Channel(18) value changed to 19.250000
Channel(19) value changed to 18.937500
Channel(20) value changed to 18.312500
Current status: SuplaDevice initialized
local IP: 172.16.144.78
subnetMask: 255.255.255.0
gatewayIP: 172.16.144.1
Signal Strength (RSSI): -72 dBm
Current status: Not connected
Establishing connection with: supla.******** (port: 2015)
Connected
Current status: Register in progress
Device registered (activity timeout 120 s, server version: 10, server min version: 10)
Current status: Registered and ready.
Changing activity timeout to 30
Activity timeout set to 30 s
Channel(19) value changed to 19.000000
Channel(20) value changed to 18.375000
Channel(0) value changed to 18.625000
Channel(1) value changed to 18.812500
Channel(2) value changed to 19.000000
Channel(4) value changed to 18.312500
Channel(5) value changed to 19.062500
Channel(7) value changed to 18.750000
Channel(8) value changed to 18.437500
Channel(9) value changed to 18.875000
Channel(10) value changed to 18.312500
Channel(11) value changed to 18.875000
Channel(12) value changed to 18.687500
Channel(14) value changed to 19.125000
Channel(15) value changed to 18.625000
Channel(16) value changed to 18.500000
Channel(17) value changed to 19.687500
Channel(2) value changed to 18.937500
Channel(8) value changed to 18.375000
Channel(10) value changed to 18.250000
Channel(13) value changed to 18.687500
Channel(14) value changed to 19.062500
Channel(16) value changed to 18.562500
Channel(17) value changed to 19.500000
Channel(18) value changed to 19.187500
Channel(19) value changed to 18.937500
Channel(20) value changed to 18.062500
Channel(2) value changed to 19.000000
Channel(4) value changed to 18.375000
Channel(10) value changed to 18.312500
Channel(14) value changed to 19.125000
Channel(17) value changed to 19.375000
RPi4: Supla Cloud + Supla Scripts + Proxy + Let's Encrypt
1x MEW-01, 1x LIW-01, 2x SBW-02, 2x PNW-01, 1x ROW-01, 1x ROW-02, 1x ROW-04m,
2x Sonoff BRIDGE RF 433
This is only the beggining...
ODPOWIEDZ

Wróć do „Pomoc”