Aktualizacja SuplaDevice
Tak, można zrobić 3- fazowy. Tylko wtedy są dwie opcje: albo kadry pzem na inne piny, albo wszystkie trzy na jednej parze - tylko tutaj trzeba wcześniej ustawić różne adresy dla każdego pzem.
Widzimy się na Supla Offline Party vol. 2
Jest gotowy projekt płytki gdzie są 3 Pzem szeregowo pod jedną parę. Ale zawsze można zaprojektować coś nowego.
Można też pomyśleć o OLED aby prezentrował wartości na bierząco na sprzęcie
jak coś nie działa to włącz zasilanie.....
Co prawda na razie tylko sprawdzałem czy się kompiluje ale z poniższym zestawem użycie pamięci dynamicznej Arduino Mega jest na poziomie 58% więc jest lepiej niż dobrze
Kod: Zaznacz cały
/* parter */
SuplaDevice.addRelay(22, 23, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(24, 25, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(26, 27, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(28, 29, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(30, 31, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(32, 33, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
/ Piętro */
SuplaDevice.addRelay(34, 35, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(36, 37, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(54, 55, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(56, 57, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
/* Ośw. zewn. */
SuplaDevice.addRelay(58, 59, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(60, 61, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(62, 63, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(64, 65, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(66, 67, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
SuplaDevice.addRelay(68, 69, false, true, SUPLA_BIT_FUNC_LIGHTSWITCH);
/* kotłownia */
new Supla::Sensor::DS18B20(1, ds1addr);
new Supla::Sensor::DS18B20(1, ds1addr);
new Supla::Sensor::DS18B20(1, ds1addr);
new Supla::Sensor::DS18B20(1, ds1addr);
new Supla::Sensor::DS18B20(1, ds1addr);
new Supla::Sensor::DS18B20(1, ds1addr);
new Supla::Sensor::DS18B20(1, ds1addr);
new Supla::Sensor::DS18B20(1, ds1addr);
/* airly */
new Supla::Sensor::DHT(DHTPIN, DHTTYPE);
new Supla::Sensor::Pressure();
new Supla::Sensor::DHT(DHTPIN, DHTTYPE);
new Supla::Sensor::DHT(DHTPIN, DHTTYPE);
new Supla::Sensor::DHT(DHTPIN, DHTTYPE);
/* PZEM */
new Supla::Sensor::PZEMv3(5, 4);
new Supla::Sensor::PZEMv3(7, 6);
new Supla::Sensor::PZEMv3(9, 8);
Kod: Zaznacz cały
Szkic używa 49992 bajtów (19%) pamięci programu. Maksimum to 253952 bajtów.
Zmienne globalne używają 4806 bajtów (58%) pamięci dynamicznej, pozostawiając 3386 bajtów dla zmiennych lokalnych. Maksimum to 8192 bajtów.
@beku dorzucił poprawki do githuba i są one już dostępne w branchach develop.
Sprawdzałem u siebie i ogólnie płytka ruszyła i wszystko zdaje się działać. Mój ESP32 miał problemy czasem z ponownym nawiązaniem połączenia jak mu wyłączałem wifi. Po resecie łączył się natychmiast. Na razie nie miałem czasu się temu dokładniej przyjrzeć i w najbliższym czasie nie planuję. Ale można próbować odpalać od siebie. Może to tylko przypadłość mojej płytki.
Widzimy się na Supla Offline Party vol. 2
-
- Posty: 19
- Rejestracja: wt paź 01, 2019 10:52 am
Cześć, znalazłem problem w nowej obsłudze czujników.
Sytuacja jest taka, zdefiniowałem sobie czujnik DS18b20 na jednym porcie i DHT22 na drugim porcie. Jeszcze nie zdążyłem ich podłączyć fizycznie i okazuje się że przestały działać wejścia sensorNO. Tak jakby biblioteka nie mogąc odczytać danych z czujników nie wykonywała już obsługi zwykłych wejść.
Sytuacja jest taka, zdefiniowałem sobie czujnik DS18b20 na jednym porcie i DHT22 na drugim porcie. Jeszcze nie zdążyłem ich podłączyć fizycznie i okazuje się że przestały działać wejścia sensorNO. Tak jakby biblioteka nie mogąc odczytać danych z czujników nie wykonywała już obsługi zwykłych wejść.
Patrz, a u mnie działathemechanos pisze: ↑sob lut 08, 2020 9:54 pm Cześć, znalazłem problem w nowej obsłudze czujników.
Sytuacja jest taka, zdefiniowałem sobie czujnik DS18b20 na jednym porcie i DHT22 na drugim porcie. Jeszcze nie zdążyłem ich podłączyć fizycznie i okazuje się że przestały działać wejścia sensorNO. Tak jakby biblioteka nie mogąc odczytać danych z czujników nie wykonywała już obsługi zwykłych wejść.
A tak na serio: wszystkie czujniki "po nowemu" muszą być podane po kanałach "po staremu". Jak coś będzie w innej kolejności, to może wybuchnąć.
Jeśli to nie to jest problemem, to pokaż kod i coś poradzimy.
Widzimy się na Supla Offline Party vol. 2
-
- Posty: 19
- Rejestracja: wt paź 01, 2019 10:52 am
Poprawione, kolejność zamieniona, teraz działa! Czyli dodawanie kanałów jest jak odejmowanie i dzielenie, nieprzemienne
No i jeszcze jedna rzecz, aby kod mi się skompilował musiałem wprowadzić drobną poprawkę bo wywalało mi "multiple definition". W pliku esp_wifi.h dodałem static.
Dzięki za pomoc!
No i jeszcze jedna rzecz, aby kod mi się skompilował musiałem wprowadzić drobną poprawkę bo wywalało mi "multiple definition". W pliku esp_wifi.h dodałem static.
Kod: Zaznacz cały
static WiFiEventHandler gotIpEventHandler, disconnectedEventHandler;
Kolejność jest ważna w etapie przejściowym. Jak już wszystko przeniosę na "nowy sposób", to nie będzie takich problemówthemechanos pisze: ↑sob lut 08, 2020 10:27 pm Poprawione, kolejność zamieniona, teraz działa! Czyli dodawanie kanałów jest jak odejmowanie i dzielenie, nieprzemienne
No i jeszcze jedna rzecz, aby kod mi się skompilował musiałem wprowadzić drobną poprawkę bo wywalało mi "multiple definition". W pliku esp_wifi.h dodałem static.Dzięki za pomoc!Kod: Zaznacz cały
static WiFiEventHandler gotIpEventHandler, disconnectedEventHandler;
Widzimy się na Supla Offline Party vol. 2