Cuprins:

Invertor Omnik Off It's Cloud și pe MQTT: 3 pași (cu imagini)
Invertor Omnik Off It's Cloud și pe MQTT: 3 pași (cu imagini)

Video: Invertor Omnik Off It's Cloud și pe MQTT: 3 pași (cu imagini)

Video: Invertor Omnik Off It's Cloud și pe MQTT: 3 pași (cu imagini)
Video: SPI 2016 Smart Energy Microgrid Pavilion Webinar 2024, Iulie
Anonim
Omnik Inverter Off It's Cloud și pe My MQTT
Omnik Inverter Off It's Cloud și pe My MQTT
Omnik Inverter Off It's Cloud și pe My MQTT
Omnik Inverter Off It's Cloud și pe My MQTT

Am o instalație de energie solară folosind un invertor de șiruri Omnik. Omnik este un producător din China de invertoare PV și fabrică dispozitive extrem de eficiente. Opțional, puteți instala un modul WiFi pentru a-l „conecta”. Sunt foarte mulțumit de dispozitiv, cu două excepții notabile.

  1. „Telefonează acasă” către un serviciu cloud bazat pe China și atâta timp cât dispozitivul este conectat la Internet, acest lucru nu poate fi oprit. Nu-mi place asta.
  2. Invertorul nu are API documentat decent (nici serviciul cloud). Întrucât automatizarea caselor și dispozitivele IoT gravitează către mesajele MQTT, am dorit să trimită mesaje MQTT.

Pentru acest proiect, care rezolvă ambele probleme, ne îndreptăm spre prietenul nostru pretențios, dar de încredere, ESP8266. Am folosit un Wemos D1, dar orice încarnare care vă place poate fi folosită. Planul este de a:

  1. Nu dați modulului WiFi al invertorului nicio acreditare rețelei WiFi de acasă. Aceasta rezolvă problema 1.
  2. Lăsați Wemos să se conecteze periodic la punctul de acces al invertorului pentru a obține datele dorite. Putem folosi protocolul non-web pentru inginerie inversă. Am folosit acest cod ca punct de plecare.
  3. Apoi deconectați-vă, conectați-vă la rețeaua de domiciliu și publicați datele respective ca mesaj MQTT.

Lista noastră de materiale este extrem de simplă:

  • Un Wemos D1, care urmează să fie achiziționat prin intermediul site-ului web Wemos sau al site-ului dvs. preferat de licitație;
  • O sursă de alimentare USB cu un cablu USB-mini.

Nu este necesar deloc cablare. Costul este sub 10 EURO.

Presupun că ai deja

  • un invertor Omnik cu un modul WiFi instalat;
  • o infrastructură MQTT (broker, tablou de bord);
  • o versiune recentă a Arduino IDE cu suport pentru procesorul ESP8266 instalat.
  • ceva familiaritate cu cele de mai sus.

Există destul de multe instrucțiuni despre MQTT și despre utilizarea Arduino IDE pentru un procesor ESP8266, dar nu ezitați să întrebați în secțiunea de comentarii.

Pasul 1: Deconectați permanent Omnik de la Internet

Deconectați permanent Omnik de la Internet
Deconectați permanent Omnik de la Internet

Dacă, la fel ca mine, ați avut invertorul conectat la rețeaua dvs. WiFi, este surprinzător de greu să îl deconectați. Orice modificare pe care o faceți setărilor WiFi este verificată înainte de a fi aplicată. În loc să sar prin cercuri, cum ar fi schimbarea parolei de criptare a routerului și a invertorului, apoi schimbarea routerului, am decis să adopt o abordare mai curată și să încep de la zero.

Mergeți la invertor și efectuați următoarele acțiuni:

  • apăsați butonul Jos până când Set clipește, apoi apăsați Enter
  • Apăsați butonul Jos până când WiFi clipește, apoi apăsați Enter
  • Apăsați butonul Sus, astfel încât Da să clipească, apoi apăsați Enter

Conectați-vă la invertor

Deschideți computerul și găsiți o rețea WiFi numită AP_xxxxxxxx, cifrele care prezintă x. Conectați-vă la acesta. În funcție de sistemul de operare, este posibil ca mai întâi să o faceți să „uite” acea rețea dacă v-ați conectat anterior la aceasta, deoarece acum o parolă WiFi posibil stocată a dispărut.

Asigurați punctul de acces al invertorului

După conectare, deschideți browserul, introduceți 10.10.100.254 și apăsați Enter. Va apărea o fereastră de autentificare. Introduceți administrator în ambele câmpuri pentru a vă conecta. NU urmați expertul și configurați punctul de acces. Faceți clic pe Avansat în meniul din stânga, apoi submeniul Punct wireless.

Efectuați următoarele modificări:

  • Metoda de criptare la WPA2PSK
  • Tipul de criptare la TKIP
  • Introduceți o parolă WiFi. Notați parola, veți avea nevoie de ea pentru a vă conecta la invertor în curând.

Faceți clic pe Salvare și modulul WiFi va reporni. Veți pierde conexiunea, deoarece acum necesită parolă. Reconectați-vă și introduceți parola WiFi. Din nou, este posibil să trebuiască să vă faceți PC-ul să „uite” mai întâi rețeaua AP_xxxxxxxx. Acum ar trebui să fiți din nou conectat la invertor printr-o conexiune WiFi sigură.

Asigurați paginile de configurare ale invertorului

Deschideți browserul, introduceți 10.10.100.254 și apăsați din nou pe Enter. Va apărea o fereastră de autentificare. Introduceți din nou administrator în ambele câmpuri pentru a vă conecta. Faceți clic pe Cont în meniul din stânga. Schimbați numele de utilizator și parola în două șiruri unice, non-banale. Va trebui să le introduceți pe amândouă de două ori. Scrie-le. Faceți clic pe Salvare și modulul WiFi va reporni. Așteptați câteva secunde și reîncărcați pagina. Verificați dacă aveți nevoie de noul nume de utilizator și parola pentru a deschide paginile de configurare. Invertorul dvs. are acum un strat suplimentar de securitate împotriva schimbărilor făcute de persoane din afară.

Aceasta încheie toate lucrările care trebuie făcute la invertor. Acum este deconectat de la Internet, securizat în mod rezonabil, dar acționează în continuare ca un punct de acces WiFi pe care îl putem folosi pentru interogare.

Pasul 2: Descărcați și configurați software-ul pentru Wemos D1

Descărcați și configurați software-ul pentru Wemos D1
Descărcați și configurați software-ul pentru Wemos D1

Descărcați software-ul pentru Wemos. Puteți găsi codul aici. Trebuie să faceți câteva modificări pentru a o configura pentru rețeaua dvs. de acasă și pentru invertor

  • homeSsid: numele rețelei WiFi de acasă
  • homePassword: parola rețelei WiFi de acasă
  • omnikSsid: numele rețelei WiFi Omnik. Ar trebui să arate ca AP_xxxxxxxxx
  • omnikPassword: parola rețelei WiFi Omnik pe care ați atribuit-o în pasul anterior
  • omnikIP: adresa IP a invertorului. Aceasta este întotdeauna {10, 10, 100, 254}
  • omnikCommand: șirul de octeți necesar pentru interogarea invertorului, a se vedea mai jos.
  • mqtt_server: numele gazdei brokerului dvs. MQTT
  • mqtt_port: numărul portului TCP, de obicei 1883 pentru conexiuni nesigure sau 8883 pentru conexiuni securizate (SSL)
  • mqtt_username și mqtt_password: acreditările pentru brokerul MQTT
  • mqtt_clientID: introduceți aici câteva cifre aleatorii
  • mqtt_outTopic: subiectul mesajelor MQTT.

Matricea de octeți omnikCommand este specifică pentru invertorul dvs. individual. Am publicat un mic instrument sub formă de foaie de calcul Google pentru a calcula șirul. Trebuie să introduceți numărul de serie (aproximativ 10 cifre zecimale) în celula B1 și să utilizați șirul calculat în celula B4 în schița dvs.

Pentru a compila cu succes codul, aveți nevoie și de biblioteca PubSubClient.h. Asigurați-vă că placa corectă (Wemos D1) și portul sunt selectate, apoi încărcați schița pe tablă. Puteți pune mica placă Wemos într-un mic recipient de plastic pentru protecție și o puteți conecta la sursa de alimentare USB. Puneți-l undeva nu prea departe atât de invertor, cât și de routerul WiFi și sunteți gata!

Bucla principală din software se conectează la invertorul WiFi, apoi face o conexiune TCP la acesta, citește datele, se deconectează, se conectează la rețeaua WiFi de acasă, apoi la brokerul MQTT și publică datele reformatate acolo. Este nevoie de puțin sub 15 secunde pentru a face toate aceste conexiuni și deconectări. După aceea, există o întârziere de 20 de secunde, deci datele ar trebui publicate aproximativ la fiecare 35 de secunde.

Pasul 3: câteva cuvinte despre mesaje, broker și testare

Câteva cuvinte despre mesaje, broker și testare
Câteva cuvinte despre mesaje, broker și testare
Câteva cuvinte despre mesaje, broker și testare
Câteva cuvinte despre mesaje, broker și testare
Câteva cuvinte despre mesaje, broker și testare
Câteva cuvinte despre mesaje, broker și testare

Codul afișează un pic de date de depanare, deci dacă ceva nu funcționează, pur și simplu conectați din nou WeMos-ul la computer, porniți Arduino IDE și apăsați CTRL + SHFT + M pentru a porni o consolă serială. Asigurați-vă că viteza este setată la 115200.

Puteți să vă folosiți propriul broker sau să folosiți un serviciu bazat pe cloud. Îmi rulez propriul meu, Mosquitto instalat pe Synology NAS. Dacă sunteți bine cu un serviciu cloud, puteți utiliza Adafruit sau Amazon AWS sau oricare altul.

Mesajele sunt șiruri JSON formatate astfel:

La pornire este publicat următorul mesaj:

Aceasta poate fi utilizată pentru a detecta reporniri neașteptate.

Mesajele normale arată astfel:

Puterea în wați, tensiunile în volți, curenții în amperi, frecvența în hertz, energia în kilograme Ora de apă și temperatura în grade Celsius.

Folosesc mosquitto_sub pentru a verifica mesajele.

mosquitto_sub -h nume gazdă -t "Solar / Omnik" -u utilizator -P parolă -p 1883 -v

Vedeți captura ecranului pentru rezultate. Toate mesajele sunt publicate cu semnalizatorul de păstrare setat la adevărat.

Pe telefonul meu folosesc o aplicație numită MQTT Dash și am inclus o serigrafie și ce să introduc pentru a arăta acea selecție verde.

Recomandat: