Licznik energii elektrycznej

User avatar
slawek
Posts: 2037
Joined: Mon Mar 14, 2016 11:48 pm
Location: Biała Podlaska

Thu Jan 24, 2019 11:09 pm

Zlicza na GPIO3 (RX)...
Attachments
IC_INV.rar
(205.25 KiB) Downloaded 27 times
Gdy wszystkie możliwe sposoby zawiodą - pozostaje przeczytać instrukcję...
User avatar
o_rany
Posts: 84
Joined: Wed Nov 14, 2018 5:32 pm

Thu Jan 24, 2019 11:14 pm

Dzieki @slawek za soft tylko jeszcze dopisze jak to u mnie polecialo:

- czujnik zakupiony dostawa 24h: https://allegro.pl/oferta/modul-detekto ... NjVhY2E%3D
-nie kalibrowalem czujnika potencjometrem liczyl jakby byl do tego stworzony :)
-liczydlo to SONOFF BASIC (nowa wersja) wgrywalem ESP TOOL 3.65 po wyczyszczeniu
-liczenie na RX (GPIO3)
-nie dawalem PULL-UP

Plik to zrzut liczydla z clouda.
Edit.... Plik liczydlo_1 nastepny dzien
Attachments
liczydlo_1.xlsx
1dzien liczenia/odchyl +10% do licznika
(12.32 KiB) Downloaded 12 times
LICZYDLO.rar
(272 Bytes) Downloaded 24 times
Last edited by o_rany on Fri Jan 25, 2019 4:38 pm, edited 2 times in total.
User avatar
pzygmunt
Posts: 4851
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Fri Jan 25, 2019 3:44 pm

Kolego o_rany. Może jak już licznik uruchomisz i aplikacja na Androida z obsługą licznika impulsowego będzie dostępna w Google Play-u to może przygotujesz jakiś szczegółowy tutorial dla laików i umieścisz na majsterkowo.pl ?
User avatar
o_rany
Posts: 84
Joined: Wed Nov 14, 2018 5:32 pm

Fri Jan 25, 2019 4:23 pm

Juz dziala....wymaga lekkiej kalibracji. W dwie godziny (dziala w G12 w godz- 13/15 i 22/6) przy calkowitym zuzyciu 16kWh nabil o 1kWh wiecej... Nie dalem pullup a w tej wersji gdzie + caly czas idzie na RX może to powodowac wlasnie odchyly.
Dzieki za propoztcje zrobienia tutka ale oklaski dla softwarowcow a nie małpiarzy jak moja osoba.
Dawno nie bylo upuerdliwego pytania na forum..... KIEDY APKA 2.3 i ikonki?:)
User avatar
QLQ
Posts: 406
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Fri Jan 25, 2019 5:09 pm

Czy jest choć skrawek nadziei, że ktoś skompiluje soft z tych źródeł :
https://github.com/SUPLA/supla-espressi ... ty_meter.c

https://github.com/SUPLA/supla-espressi ... ty_meter.h
pod modół PZEM004 ? Odczyt wartości z niego jest dziecinnie prosty przez RX TX po IP. jest gotowa biblioteka *.h .
Kod odczytu to raptem z 20 lini.
Z tymi źródłami nie wiem o co kaman jak je przeglądam , w Arduino IDE kod jest o dla mnie o wiele czytelniejszy.

Wiem że maruda ze mnie

W proto.h jest zdefiniowany liczniki energii:

Code: Select all

#define SUPLA_CHANNELTYPE_ELECTRICITY_METER 5000 // ver. >= 10 
#define SUPLA_CHANNELFNC_ELECTRICITY_METER 310 // ver. >= 10
ale jakie zmienne ma przekazać do Cloud ?
Tu np wydaje mi się, że rozróżnia ile ma faz podłączonych i w zależności od tego je sumuje i przekazuje sumę wartości:

Code: Select all

TElectricityMeter_Measurement *m = NULL;
  TElectricityMeter_Value v;
  memset(&v, 0, sizeof(TElectricityMeter_Value));

  unsigned _supla_int64_t fae_sum = ev->total_forward_active_energy[0] +
                                    ev->total_forward_active_energy[1] +
                                    ev->total_forward_active_energy[2];

  v.total_forward_active_energy = fae_sum / 1000;

  if (ev->m_count && ev->measured_values & EM_VAR_VOLTAGE) {
    m = &ev->m[ev->m_count - 1];

    if (m->voltage[0] > 0) {
      v.flags |= EM_VALUE_FLAG_PHASE1_ON;
    }

    if (m->voltage[1] > 0) {
      v.flags |= EM_VALUE_FLAG_PHASE2_ON;
    }

    if (m->voltage[2] > 0) {
      v.flags |= EM_VALUE_FLAG_PHASE3_ON;
    }
  }

  memcpy(value, &v, sizeof(TElectricityMeter_Value));
}
Może jakbym posiedział w tym to bym zrobił ale w/w jest pod kompilator w linux w VM , Linuxa nie ogarniam. Odpaliłem co prawda VM , kompiluje mi się z komendy builid.sh to co na liśćie ale to wszystko. Nie potrafię nawet znaleźć tych plików electritymeter.h i c aby odpalićw Eclips - kompilatorze jak mniemam. Lata świetlne mi to zajmie :(
Szkoda, że nie ma, jakiegoś "mostu" (kionwertera pod Arduino z tego C)
User avatar
QLQ
Posts: 406
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Sun Jan 27, 2019 10:31 am

Robert Błaszczak wrote:
Wed Jan 23, 2019 9:37 pm
U mnie z programowaniem też trochę słabo (dopiero się uczę). Pewnie w pierwszej wersji zrobię zapis danych do bazy SQL (tak jak mam zrobioną stację pogodową). Aby to wysyłać do Supli, to nie czuję się na siłach :(.

Choć tak szczerze zastanawiam się, czy faktycznie jest potrzeba posiadania danych o zużyciu energii elektrycznej w Supli.
Z pzem004 masz gotowe U, I, P. Przechowuje on nawet dane o zużyciu w swojej pamięci po zaniku zasilania. Nie trzeba przechowywać i robić zapisu do esp8266! Ma przycisk do wyzerowania tej pamięci.
elmaya
Posts: 133
Joined: Wed Jun 27, 2018 5:48 pm
Location: Sevilla

Sun Jan 27, 2019 10:50 am

Czy ktoś pomyślał o przeczytaniu DLMS?
User avatar
QLQ
Posts: 406
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Sun Jan 27, 2019 10:53 am

elmaya wrote:
Sun Jan 27, 2019 10:50 am
Czy ktoś pomyślał o przeczytaniu DLMS?
Liczniki są plombowane. Jedynie co to IR. Ale nie zawsze jest dostęp fizyczny do licznika. Zawsze może być to odebrane przez operatora jako próba ingerencji w licznik.
?
https://www.google.com/url?q=https://w ... alHKuRwf0
User avatar
QLQ
Posts: 406
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Sun Jan 27, 2019 6:35 pm

Będę Was męczył o ten PZEM004ż zrobię !

Kolego @pzygmunt jakie wartości zwracamy dla Electricity_Meter? Nie mogę tego rozkminić w electricity_meter.c. Nie widzę aby zczytywało prad (A).

Potrzebuję tak jak dla DHT:

Code: Select all

void get_temperature_and_humidity (int channelNumber, double *temp, double *humidity){
to da licznika energii logicznym dla mnie byłoby wysłanie (int channelNumber, double volt, double amp, double pwer). Czy wysyłamy tyko jedną zmienną

Code: Select all

(supla_esp_board_get_measurements(channel_number, &ev) 
?

Strasznie mnie ten temat PZEM004 męczy i spać przez to nie mogę! Żona też już na mnie krzywo patrzy. Zlitujcie się
User avatar
pzygmunt
Posts: 4851
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Sun Jan 27, 2019 8:14 pm

Masz wszystko w Proto.h
Nie wkleję teraz linka bo nie mam jak.

Najlepiej zaczekaj na bibliotekę dla Arduino. Będzie Ci łatwiej.
Post Reply