ESP-01, DS18B20, Arduino IDE

elmaya
Posts: 1485
Joined: Wed Jun 27, 2018 5:48 pm
Location: El Saucejo - Sevilla

Post

Pamiętam, że jakiś czas temu miałem z tym problemy
Prawdopodobnie masz rację i to już się zmieniło.
Yepestis
Posts: 890
Joined: Mon Sep 24, 2018 6:08 pm
Location: Wrocław
Has thanked: 19 times
Been thanked: 3 times

Post

klew wrote: Thu Jan 16, 2020 6:34 pm
elmaya wrote: Thu Jan 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
You do not have the required permissions to view the files attached to this post.
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Yepestis wrote: Thu Jan 16, 2020 7:04 pm
klew wrote: Thu Jan 16, 2020 6:34 pm
elmaya wrote: Thu Jan 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
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
Goral64
Posts: 3258
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie
Has thanked: 2 times
Been thanked: 1 time

Post

klew wrote: Thu Jan 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 2026 :D

Image
Patryk
Posts: 2944
Joined: Mon Jan 07, 2019 7:51 pm
Location: Rybnik

Post

Kiedyś coś podobnego " przerabiałem ":
viewtopic.php?p=37159#p37159
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Goral64 wrote: Thu Jan 16, 2020 9:06 pm
klew wrote: Thu Jan 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.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
Goral64
Posts: 3258
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie
Has thanked: 2 times
Been thanked: 1 time

Post

klew wrote: Thu Jan 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 :)

Code: Select all

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 2026 :D

Image
home
Posts: 47
Joined: Mon Dec 28, 2020 12:36 pm

Post

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..
QLQ
Posts: 2512
Joined: Sun Sep 03, 2017 9:13 am

Post

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.....

Return to “Pomoc”