Licznik energii elektrycznej EPEVER - nowa biblioteka
Jak przepisać dowolną wartość do zmiennych totalGeneratedEnergy, currentPower, currentCurrent, currentFreq, currentVoltage w pliku *.cpp ze szkicu w Arduino IDE? Opieram swoje prace o najnowszą bibliotekę klew-a i utknąłem w martwym punkcie. Próbuję stworzyć licznik energii współpracujący z kontrolerem EPEVER paneli fotowoltaicznych.
Trzeba stworzyć nową klasę, która dziedziczy po Supla::Sensor::ElectricityMeter albo po Supla::Sensor::OnePhaseElectricityMeter.
Następnie implementujesz przynajmniej metodę onInit oraz readValuesFromDevice:
Przykładowa implementacja odczytu z urządzenia i ustawienia na kanał jest tutaj: https://github.com/SUPLA/supla-arduino/ ... emV3.h#L53
Metody "setVoltage" itd. ustawiają wartości na kanał. Pełną listę dostępnych parametrów wraz z formatem liczb znajdziesz tutaj:
https://github.com/SUPLA/supla-arduino/ ... eter.h#L36
Pierwszy parametr to "faza" dla jednofazowych wpisuj "0", a dla trójfazowych trzeba ustawiać dla każdej fazy osobno. Fazy numerujemy 0, 1, 2.
Następnie implementujesz przynajmniej metodę onInit oraz readValuesFromDevice:
Kod: Zaznacz cały
class MojLicznik : public Supla::Sensor::OnePhaseElectricityMeter {
public:
void onInit() {
// tutaj wstaw jeśli cokolwiek potrzebujesz zainicjalizować, aby odczyt parametrów z urządzenia działał,
// a następnie dodaj te dwie linijki:
readValuesFromDevice();
updateChannelValues();
}
void readValuesFromDevice() {
// tutaj odczytujesz dane z urządzenia i ustawiasz na kanał Supli
}
Metody "setVoltage" itd. ustawiają wartości na kanał. Pełną listę dostępnych parametrów wraz z formatem liczb znajdziesz tutaj:
https://github.com/SUPLA/supla-arduino/ ... eter.h#L36
Pierwszy parametr to "faza" dla jednofazowych wpisuj "0", a dla trójfazowych trzeba ustawiać dla każdej fazy osobno. Fazy numerujemy 0, 1, 2.
Widzimy się na Supla Offline Party vol. 2