Taula de continguts:

Inversor Omnik desactivat és al núvol i al meu MQTT: 3 passos (amb imatges)
Inversor Omnik desactivat és al núvol i al meu MQTT: 3 passos (amb imatges)

Vídeo: Inversor Omnik desactivat és al núvol i al meu MQTT: 3 passos (amb imatges)

Vídeo: Inversor Omnik desactivat és al núvol i al meu MQTT: 3 passos (amb imatges)
Vídeo: Configuración Inversor Voltronic Axpert 5000W 48V para baterías de Litio 2024, De novembre
Anonim
Inversor Omnik desactivat és al núvol i a My MQTT
Inversor Omnik desactivat és al núvol i a My MQTT
Inversor Omnik desactivat és al núvol i a My MQTT
Inversor Omnik desactivat és al núvol i a My MQTT

Tinc una instal·lació d’energia solar que utilitza un inversor de cadenes Omnik. Omnik és un fabricant d'inversors fotovoltaics basat a la Xina i fabrica dispositius extremadament eficients. Opcionalment, podeu instal·lar un mòdul WiFi per fer-lo "connectat". Estic molt content amb el dispositiu, amb dues excepcions notables.

  1. "Telefona a casa" a un servei al núvol basat a Xina i, sempre que el dispositiu estigui connectat a Internet, no es pot apagar. Això no m’agrada.
  2. L’inversor no té cap API documentada decent (ni el servei al núvol). Com que la domòtica i els dispositius IoT estan gravitant cap als missatges MQTT, volia que enviés missatges MQTT.

Per a aquest projecte, que resol tots dos problemes, ens dirigim cap al nostre amic exigent però fiable, l’ESP8266. He utilitzat un Wemos D1, però es pot utilitzar qualsevol encarnació que vulgueu. El pla és:

  1. No doneu al mòdul WiFi del convertidor cap credencial a la xarxa WiFi domèstica. Això resol el problema 1.
  2. Deixeu que els Wemos es connectin periòdicament al punt d’accés del convertidor per adquirir les dades que desitgem. Per a això, podem utilitzar el protocol no web d’enginyeria inversa. He utilitzat aquest codi com a punt de partida.
  3. A continuació, desconnecteu-vos, connecteu-vos a la xarxa domèstica i publiqueu aquestes dades com a missatge MQTT.

La nostra factura de material és extremadament senzilla:

  • Un Wemos D1, que es pot comprar a través del lloc web de Wemos o del vostre lloc de subhastes preferit;
  • Una font d'alimentació USB amb un cable USB-mini.

No es necessita cap cablejat. El cost és inferior a 10 EUROS.

Suposo que ja ho teniu

  • un inversor Omnik amb un mòdul WiFi instal·lat;
  • una infraestructura MQTT (broker, tauler);
  • una versió recent de l'IDE Arduino amb suport per al processador ESP8266 instal·lat.
  • certa familiaritat amb l'anterior.

Hi ha força instruccions sobre l'MQTT i l'ús de l'IDE Arduino per a un processador ESP8266, però no dubteu a demanar-ho a la secció de comentaris.

Pas 1: desconnecteu l'Omnik d'Internet permanentment

Desconnecteu l'Omnik d'Internet permanentment
Desconnecteu l'Omnik d'Internet permanentment

Si, com jo, teníeu l’inversor connectat a la vostra xarxa WiFi, és sorprenentment difícil desconnectar-lo. Qualsevol canvi que feu a la configuració de WiFi es comprova abans que s'apliqui. En lloc de saltar per cèrcols com canviar la contrasenya de xifratge del router i de l’inversor i, després, canviar el router, vaig decidir adoptar un enfocament més net i començar de zero.

Aneu a l’inversor i realitzeu les accions següents:

  • premeu el botó avall fins que Parpelleja parpelleja i premeu Retorn
  • Premeu el botó Avall fins que parpegi WiFi i, a continuació, premeu Retorn
  • Premeu el botó Amunt perquè Sí parpellegi i premeu Retorn

Connecteu-lo a l’inversor

Obriu l’ordinador i cerqueu una xarxa WiFi anomenada AP_xxxxxxxx, els dígits que presenten les x. Connecteu-hi. Depenent del sistema operatiu, és possible que primer hagueu d'oblidar "la xarxa" si us heu connectat abans, ja que ara hi ha una contrasenya WiFi emmagatzemada.

Assegureu el punt d’accés de l’inversor

Un cop connectat, obriu el navegador, introduïu 10.10.100.254 i premeu Retorn. Apareixerà una finestra emergent d'inici de sessió. Introduïu administrador als dos camps per iniciar la sessió. NO seguiu l'assistent i configureu el punt d'accés. Feu clic a Avançat al menú de l'esquerra i, a continuació, al submenú Punt sense fils.

Feu els canvis següents:

  • Mètode de xifratge a WPA2PSK
  • Tipus de xifratge a TKIP
  • Introduïu una contrasenya WiFi. Escriviu la contrasenya, la necessitareu aviat per connectar-vos a l’inversor.

Feu clic a Desa i es reiniciarà el mòdul WiFi. Perdreu la connexió ja que ara requereix la contrasenya. Torneu a connectar i introduïu la contrasenya WiFi. Una vegada més, potser haureu de fer que el vostre PC "oblidi" la xarxa AP_xxxxxxxx primer. Ara hauríeu de tornar a connectar-vos a l’inversor mitjançant un enllaç WiFi segur.

Assegureu les pàgines de configuració de l’inversor

Obriu el navegador, introduïu 10.10.100.254 i torneu a prémer Retorn. Apareixerà una finestra emergent d'inici de sessió. Torneu a introduir l'administrador als dos camps per iniciar la sessió. Feu clic a Compte al menú de l'esquerra. Canvieu el nom d'usuari i la contrasenya per dues cadenes úniques i no trivials. Haureu d’entrar-les dues vegades. Escriviu-los. Feu clic a Desa i es reiniciarà el mòdul WiFi. Espereu uns segons i torneu a carregar la pàgina. Verifiqueu que ara necessiteu el nom d’usuari i la contrasenya nous per obrir les pàgines de configuració. Ara el vostre inversor té una capa addicional de seguretat contra els canvis realitzats per forasters.

D’aquesta manera es conclou tot el treball que s’ha de fer a l’inversor. Ara està desconnectat d'Internet, està prou protegit, però encara funciona com un punt d'accés WiFi que podem utilitzar per consultar-lo.

Pas 2: descarregueu i configureu el programari per a Wemos D1

Descarregueu i configureu el programari per a Wemos D1
Descarregueu i configureu el programari per a Wemos D1

Baixeu-vos el programari per a Wemos. Podeu trobar el codi aquí. Heu de fer alguns canvis per configurar-lo per a la vostra xarxa domèstica i el vostre inversor

  • homeSsid: el nom de la xarxa WiFi de casa
  • homePassword: la contrasenya de la xarxa WiFi de casa
  • omnikSsid: el nom de la vostra xarxa WiFi Omnik. Ha de semblar AP_xxxxxxxxx
  • omnikPassword: la contrasenya de la vostra xarxa WiFi Omnik que heu assignat al pas anterior
  • omnikIP: l'adreça IP de l'inversor. Això sempre és {10, 10, 100, 254}
  • omnikCommand: la cadena de bytes necessària per consultar el vostre inversor, vegeu-la a continuació.
  • mqtt_server: el nom d'amfitrió del vostre corredor MQTT
  • mqtt_port: el número de port TCP, normalment 1883 per a connexions insegures o 8883 per a connexions segures (SSL)
  • mqtt_username i mqtt_password: les credencials del vostre corredor MQTT
  • mqtt_clientID: introduïu aquí alguns dígits aleatoris
  • mqtt_outTopic: tema dels missatges MQTT.

La matriu de bytes omnikCommand és específica per al vostre inversor individual. Vaig publicar una petita eina com a full de càlcul de Google per calcular la cadena. Cal introduir el número de sèrie (al voltant de 10 dígits decimals) a la cel·la B1 i utilitzar la cadena calculada a la cel·la B4 al vostre esbós.

Per compilar correctament el codi, també necessiteu la biblioteca PubSubClient.h. Assegureu-vos que el port i el port adequats (Wemos D1) estiguin seleccionats i, a continuació, pengeu l’esbós al tauler. Podeu col·locar la petita placa Wemos en un petit contenidor de plàstic per protegir-la i connectar-la a la font d'alimentació USB. Poseu-lo en un lloc no gaire lluny de l’inversor i del vostre encaminador WiFi i ja estareu preparats.

El bucle principal del programari es connecta a l’inversor WiFi, després hi fa una connexió TCP, llegeix les dades, es desconnecta, es connecta a la xarxa WiFi domèstica, després al corredor MQTT i hi publica les dades reformatades. Es triga poc menys de 15 segons a connectar-se i desconnectar-se. Després d’això, hi ha un retard de 20 segons, de manera que les dades s’han de publicar aproximadament cada 35 segons.

Pas 3: poques paraules sobre els missatges, el corredor i les proves

Poques paraules sobre els missatges, el corredor i les proves
Poques paraules sobre els missatges, el corredor i les proves
Poques paraules sobre els missatges, el corredor i les proves
Poques paraules sobre els missatges, el corredor i les proves
Poques paraules sobre els missatges, el corredor i les proves
Poques paraules sobre els missatges, el corredor i les proves

El codi emet una mica de dades de depuració, de manera que si alguna cosa no funciona, només cal que connecteu el WeMos al vostre ordinador, engegueu l’IDE Arduino i premeu CTRL + SHFT + M per iniciar una consola sèrie. Assegureu-vos que la velocitat estigui configurada en 115200.

Podeu utilitzar el vostre propi broker o fer servir un servei basat en el núvol. Executo el meu propi, Mosquitto instal·lat al meu Synology NAS. Si esteu bé amb un servei al núvol, podeu utilitzar Adafruit o Amazon AWS o qualsevol altre.

Els missatges són cadenes JSON amb el format següent:

En arrencar es publica el següent missatge:

Es pot utilitzar per detectar reinicis inesperats.

Els missatges normals tenen aquest aspecte:

Potència en watts, tensions en volts, corrents en amperes, freqüència en Hz, energia en quilo Temps d’aigua i temperatura en graus Celsius.

Utilitzo mosquitto_sub per comprovar els missatges.

mosquitto_sub -h nom d'amfitrió -t "Solar / Omnik" -u usuari -P contrasenya -p 1883 -v

Consulteu la captura de pantalla per veure els resultats. Tots els missatges es publiquen amb el senyalador de retenció establert a true.

Al meu telèfon faig servir una aplicació anomenada MQTT Dash i he inclòs una serigrafia i què he d’entrar per mostrar aquest marcatge verd verd.

Recomanat: