Spisu treści:

Omnik Inverter Off It's Cloud i na My MQTT: 3 kroki (ze zdjęciami)
Omnik Inverter Off It's Cloud i na My MQTT: 3 kroki (ze zdjęciami)

Wideo: Omnik Inverter Off It's Cloud i na My MQTT: 3 kroki (ze zdjęciami)

Wideo: Omnik Inverter Off It's Cloud i na My MQTT: 3 kroki (ze zdjęciami)
Wideo: How to integrate your Solar Inverter into Home Assistant. First step to Solar Storage Automation. 2024, Listopad
Anonim
Omnik Inverter Off It's Cloud i na moim MQTT
Omnik Inverter Off It's Cloud i na moim MQTT
Omnik Inverter Off It's Cloud i na moim MQTT
Omnik Inverter Off It's Cloud i na moim MQTT

Posiadam instalację solarną wykorzystującą falownik łańcuchowy Omnik. Omnik to chiński producent inwerterów fotowoltaicznych, który produkuje niezwykle wydajne urządzenia. Opcjonalnie możesz zainstalować moduł WiFi, aby był "podłączony". Jestem bardzo zadowolony z urządzenia, z dwoma godnymi uwagi wyjątkami.

  1. „Dzwoni do domu” do chińskiej usługi w chmurze i dopóki urządzenie jest podłączone do Internetu, nie można go wyłączyć. Nie lubię tego.
  2. Falownik nie ma porządnie udokumentowanego API (ani usługi w chmurze). Ponieważ automatyka domowa i urządzenia IoT zmierzają w kierunku wiadomości MQTT, chciałem, aby wysyłał wiadomości MQTT.

Do tego projektu, który rozwiązuje oba problemy, zwracamy się w stronę naszego wybrednego, ale niezawodnego przyjaciela ESP8266. Użyłem Wemos D1, ale możesz użyć dowolnej inkarnacji, którą lubisz. Plan jest taki:

  1. Nie podawaj modułowi Wi-Fi falownika żadnych danych uwierzytelniających do domowej sieci Wi-Fi. To rozwiązuje problem 1.
  2. Pozwól Wemos okresowo łączyć się z punktem dostępowym falownika, aby uzyskać żądane dane. W tym celu możemy użyć nie-webowego protokołu inżynierii wstecznej. Użyłem tego kodu jako punktu wyjścia.
  3. Następnie rozłącz się, połącz z siecią domową i opublikuj te dane jako wiadomość MQTT.

Nasz wykaz materiałów jest niezwykle prosty:

  • Jeden Wemos D1 do kupienia za pośrednictwem strony internetowej Wemos lub ulubionej witryny aukcyjnej;
  • Jeden zasilacz USB z kablem USB-mini.

W ogóle nie jest potrzebne okablowanie. Koszt poniżej 10 euro.

Zakładam, że już masz

  • falownik Omnik z zainstalowanym modułem WiFi;
  • infrastruktura MQTT (broker, dashboard);
  • najnowsza wersja Arduino IDE z zainstalowaną obsługą procesora ESP8266.
  • pewną znajomość powyższego.

Istnieje wiele instrukcji dotyczących MQTT i używania Arduino IDE dla procesora ESP8266, ale możesz zapytać w sekcji komentarzy.

Krok 1: Odłącz Omnik od Internetu na stałe

Odłącz Omnik od Internetu na stałe
Odłącz Omnik od Internetu na stałe

Jeśli tak jak ja miałeś podłączony falownik do swojej sieci WiFi, to zaskakująco trudno go odłączyć. Wszelkie zmiany wprowadzone w ustawieniach Wi-Fi są sprawdzane przed zastosowaniem. Zamiast przeskakiwać przez przeszkody, takie jak zmiana hasła szyfrowania routera i falownika, a następnie zmiana routera z powrotem, zdecydowałem się na czystsze podejście i zacząć od zera.

Przejdź do falownika i wykonaj następujące czynności:

  • naciśnij przycisk W dół, aż Set zacznie migać, a następnie naciśnij Enter
  • Naciśnij przycisk w dół, aż WiFi zacznie migać, a następnie naciśnij Enter
  • Naciśnij przycisk W górę, aby Yes zaczęło migać, a następnie naciśnij Enter

Podłącz do falownika

Otwórz komputer i znajdź sieć Wi-Fi o nazwie AP_xxxxxxxx, czyli cyfry przedstawiające x. Połącz się z nim. W zależności od systemu operacyjnego może być konieczne, aby najpierw „zapomniał” o tej sieci, jeśli wcześniej się z nią łączyłeś, ponieważ teraz prawdopodobnie zapisane hasło Wi-Fi zniknęło.

Zabezpiecz punkt dostępu falownika

Po połączeniu otwórz przeglądarkę, wpisz 10.10.100.254 i naciśnij Enter. Pojawi się wyskakujące okienko logowania. Wpisz admin w obu polach, aby się zalogować. NIE postępuj zgodnie z instrukcjami kreatora i konfiguruj punkt dostępu. Kliknij Zaawansowane w menu po lewej stronie, a następnie podmenu Punkt bezprzewodowy.

Wprowadź następujące zmiany:

  • Metoda szyfrowania do WPA2PSK
  • Typ szyfrowania do TKIP
  • Wprowadź hasło WiFi. Zapisz hasło, będzie ono wkrótce potrzebne do połączenia z falownikiem.

Kliknij Zapisz, a moduł WiFi uruchomi się ponownie. Utracisz połączenie, ponieważ teraz wymaga hasła. Połącz się ponownie i wprowadź hasło WiFi. Ponownie, może być konieczne, aby Twój komputer „zapomniał” najpierw o sieci AP_xxxxxxxx. Teraz powinieneś ponownie połączyć się z falownikiem za pomocą bezpiecznego łącza Wi-Fi.

Zabezpiecz strony konfiguracyjne falownika

Otwórz przeglądarkę, wpisz 10.10.100.254 i ponownie naciśnij Enter. Pojawi się wyskakujące okienko logowania. Ponownie wpisz admin w obu polach, aby się zalogować. Kliknij Konto w menu po lewej stronie. Zmień nazwę użytkownika i hasło na dwa unikalne, nietrywialne ciągi. Do obu musisz wejść dwukrotnie. Spisać je. Kliknij Zapisz, a moduł WiFi uruchomi się ponownie. Poczekaj kilka sekund i ponownie załaduj stronę. Sprawdź, czy potrzebujesz teraz nowej nazwy użytkownika i hasła, aby otworzyć strony konfiguracji. Twój falownik ma teraz dodatkową warstwę zabezpieczeń przed zmianami wprowadzanymi przez osoby z zewnątrz.

Na tym kończy się cała praca, którą należy wykonać na falowniku. Jest teraz odłączony od Internetu, rozsądnie zabezpieczony, ale nadal działa jako punkt dostępu Wi-Fi, którego możemy użyć do wysyłania zapytań.

Krok 2: Pobierz i skonfiguruj oprogramowanie dla Wemos D1

Pobierz i skonfiguruj oprogramowanie dla Wemos D1
Pobierz i skonfiguruj oprogramowanie dla Wemos D1

Pobierz oprogramowanie dla Wemos. Kod znajdziesz tutaj. Musisz wprowadzić kilka zmian, aby skonfigurować go dla swojej sieci domowej i falownika

  • homeSsid: nazwa Twojej domowej sieci WiFi
  • homePassword: hasło do domowej sieci WiFi
  • omnikSsid: nazwa Twojej sieci WiFi Omnik. Powinien wyglądać jak AP_xxxxxxxxx
  • omnikPassword: hasło do Twojej sieci Omnik WiFi, które przypisałeś w poprzednim kroku
  • omnikIP: adres IP falownika. To jest zawsze {10, 10, 100, 254}
  • omnikCommand: ciąg bajtów wymagany do zapytania falownika, patrz poniżej.
  • mqtt_server: nazwa hosta twojego brokera MQTT
  • mqtt_port: numer portu TCP, zwykle 1883 dla połączeń niezabezpieczonych lub 8883 dla połączeń bezpiecznych (SSL)
  • mqtt_username i mqtt_password: poświadczenia Twojego brokera MQTT
  • mqtt_clientID: wpisz tutaj losowe cyfry
  • mqtt_outTopic: temat wiadomości MQTT.

Tablica bajtów omnikCommand jest specyficzna dla Twojego indywidualnego falownika. Opublikowałem małe narzędzie w postaci arkusza kalkulacyjnego Google do obliczania ciągu. Musisz wprowadzić numer seryjny (około 10 cyfr dziesiętnych) w komórce B1 i użyć ciągu obliczonego w komórce B4 w swoim szkicu.

Do pomyślnego skompilowania kodu potrzebna jest również biblioteka PubSubClient.h. Upewnij się, że wybrana jest właściwa płyta (Wemos D1) i port, a następnie prześlij szkic na płytę. Możesz umieścić małą płytkę Wemos w małym plastikowym pojemniku dla ochrony i podłączyć ją do zasilacza USB. Umieść go gdzieś niedaleko falownika i routera WiFi i gotowe!

Główna pętla w oprogramowaniu łączy się z falownikiem WiFi, następnie nawiązuje z nim połączenie TCP, odczytuje dane, rozłącza się, łączy z domową siecią WiFi, a następnie z brokerem MQTT i tam publikuje sformatowane dane. Łączenie i rozłączanie zajmuje niecałe 15 sekund. Potem następuje 20-sekundowe opóźnienie, więc dane powinny być publikowane mniej więcej co 35 sekund.

Krok 3: Kilka słów o wiadomościach, pośredniku i testowaniu

Kilka słów o wiadomościach, pośredniku i testowaniu
Kilka słów o wiadomościach, pośredniku i testowaniu
Kilka słów o wiadomościach, pośredniku i testowaniu
Kilka słów o wiadomościach, pośredniku i testowaniu
Kilka słów o wiadomościach, pośredniku i testowaniu
Kilka słów o wiadomościach, pośredniku i testowaniu

Kod wyświetla trochę danych debugowania, więc jeśli coś nie działa, po prostu ponownie podłącz WeMos do komputera, uruchom Arduino IDE i naciśnij CTRL+SHFT+M, aby uruchomić konsolę szeregową. Upewnij się, że prędkość jest ustawiona na 115200.

Możesz skorzystać z własnego brokera lub skorzystać z usługi opartej na chmurze. Używam własnego, Mosquitto zainstalowanego na moim serwerze Synology NAS. Jeśli jesteś w porządku z usługą w chmurze, możesz użyć Adafruit lub Amazon AWS lub dowolnej innej.

Komunikaty są ciągami JSON sformatowanymi w następujący sposób:

Podczas rozruchu publikowany jest następujący komunikat:

Może to służyć do wykrywania nieoczekiwanych ponownych uruchomień.

Normalne wiadomości wyglądają tak:

Moc w watach, napięcia w woltach, prądy w amperach, częstotliwość w hercach, energia w kilowatogodzinach i temperatura w stopniach Celsjusza.

Używam mosquitto_sub do sprawdzania wiadomości.

mosquitto_sub -h nazwa hosta -t "Solar/Omnik" -u użytkownik -P hasło -p 1883 -v

Zobacz zrzut ekranu, aby zobaczyć wyniki. Wszystkie wiadomości są publikowane z flagą zachowania ustawioną na true.

Na moim telefonie używam aplikacji o nazwie MQTT Dash i dołączyłem zrzut ekranu i co należy wpisać, aby pokazać zielone pokrętło zasilania.

Zalecana: