ESP-01, DS18B20, Arduino IDE

elmaya
Posty: 1482
Rejestracja: śr cze 27, 2018 5:48 pm
Lokalizacja: El Saucejo - Sevilla

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

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 2094 razy
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

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
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

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...
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Patryk
Posty: 2677
Rejestracja: pn sty 07, 2019 7:51 pm
Lokalizacja: Rybnik

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

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.
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

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
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
home
Posty: 47
Rejestracja: pn gru 28, 2020 12:36 pm

Witam, jak zrobic by ds18b20 działał ,podłaczony jest do tx czyli gpio1

OneWire oneWire(1);
DallasTemperature sensors(&oneWire);
WiFiClient client;

const char* ssid = "serwis";
const char* password = "76587658";

double get_temperature(int channelNumber, double last_val) {
double t = -275;
if ( sensors.getDeviceCount() > 0 )
{
sensors.requestTemperatures();
t = sensors.getTempCByIndex(channelNumber);
};
return t;
}

SuplaDevice.addDS18B20Thermometer();
Une enquГЄte terminГ©e sans affecter la qualitГ© de vie propriГ©tГ©s musculaires cardiaques, pulmonaires et sanguines..
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

Są już nowe biblioteki SDEV . To co wyżej napisałeś może być prościej.

Są wydane tak, że Arduino je normalnie znajduje i instaluje. Jest tam przykład dla ds18....

https://github.com/SUPLA/supla-arduino/ ... re.ino
jak coś nie działa to włącz zasilanie.....
ODPOWIEDZ

Wróć do „Pomoc”