Aktualizacja SuplaDevice

andrew01
Posty: 72
Rejestracja: pt maja 24, 2019 6:49 am

sob lut 01, 2020 1:30 pm

Dzięki bardzo, że myślisz również o Arduino Mega :) Z tego co widziałem obecnie PZEM działa jako jednofazowy (albo źle patrzę), czy masz w planach wsparcie dla trzech PZEM'ów pracujących jako jeden, trójfazowy licznik energii?
Awatar użytkownika
klew
Posty: 567
Rejestracja: czw cze 27, 2019 12:16 pm

sob lut 01, 2020 3:25 pm

andrew01 pisze:
sob lut 01, 2020 1:30 pm
Dzięki bardzo, że myślisz również o Arduino Mega :) Z tego co widziałem obecnie PZEM działa jako jednofazowy (albo źle patrzę), czy masz w planach wsparcie dla trzech PZEM'ów pracujących jako jeden, trójfazowy licznik energii?
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.
Awatar użytkownika
QLQ
Posty: 1117
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

sob lut 01, 2020 3:44 pm

klew pisze:
sob lut 01, 2020 3:25 pm
andrew01 pisze:
sob lut 01, 2020 1:30 pm
Dzięki bardzo, że myślisz również o Arduino Mega :) Z tego co widziałem obecnie PZEM działa jako jednofazowy (albo źle patrzę), czy masz w planach wsparcie dla trzech PZEM'ów pracujących jako jeden, trójfazowy licznik energii?
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.
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 :)
andrew01
Posty: 72
Rejestracja: pt maja 24, 2019 6:49 am

pn lut 03, 2020 9:22 pm

klew pisze:
sob lut 01, 2020 1:22 pm
Na razie tylko na ESP to chodzi, bo na Arduino mega jest za mało pamięci (później będę to optymalizował, aby się zmieściło).
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.
bigthomas
Posty: 36
Rejestracja: pn sie 12, 2019 3:35 pm

pn lut 03, 2020 10:12 pm

klew pisze:
sob lut 01, 2020 1:22 pm
...
Na razie tylko na ESP to chodzi, bo na Arduino mega jest za mało pamięci (później będę to optymalizował, aby się zmieściło).
...
Czy są jakieś pozytywne informacje w sprawie uruchomienia ESP32?
Awatar użytkownika
klew
Posty: 567
Rejestracja: czw cze 27, 2019 12:16 pm

pn lut 03, 2020 10:16 pm

bigthomas pisze:
pn lut 03, 2020 10:12 pm
klew pisze:
sob lut 01, 2020 1:22 pm
...
Na razie tylko na ESP to chodzi, bo na Arduino mega jest za mało pamięci (później będę to optymalizował, aby się zmieściło).
...
Czy są jakieś pozytywne informacje w sprawie uruchomienia ESP32?
@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.
themechanos
Posty: 7
Rejestracja: wt paź 01, 2019 10:52 am

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ść.
Awatar użytkownika
klew
Posty: 567
Rejestracja: czw cze 27, 2019 12:16 pm

sob lut 08, 2020 10:08 pm

themechanos 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ść.
Patrz, a u mnie działa :D

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.
themechanos
Posty: 7
Rejestracja: wt paź 01, 2019 10:52 am

sob lut 08, 2020 10:27 pm

Poprawione, kolejność zamieniona, teraz działa! :D Czyli dodawanie kanałów jest jak odejmowanie i dzielenie, nieprzemienne :lol:

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;
Dzięki za pomoc! :D
Awatar użytkownika
klew
Posty: 567
Rejestracja: czw cze 27, 2019 12:16 pm

sob lut 08, 2020 11:03 pm

themechanos pisze:
sob lut 08, 2020 10:27 pm
Poprawione, kolejność zamieniona, teraz działa! :D Czyli dodawanie kanałów jest jak odejmowanie i dzielenie, nieprzemienne :lol:

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;
Dzięki za pomoc! :D
Kolejność jest ważna w etapie przejściowym. Jak już wszystko przeniosę na "nowy sposób", to nie będzie takich problemów
ODPOWIEDZ