INHOUDSOPGAWE:

Omnik -omskakelaar uit sy wolk en op my MQTT: 3 stappe (met foto's)
Omnik -omskakelaar uit sy wolk en op my MQTT: 3 stappe (met foto's)

Video: Omnik -omskakelaar uit sy wolk en op my MQTT: 3 stappe (met foto's)

Video: Omnik -omskakelaar uit sy wolk en op my MQTT: 3 stappe (met foto's)
Video: Bok Van Blerk, Appel - Lemoene 2024, Julie
Anonim
Omnik Inverter Off It's Cloud en op My MQTT
Omnik Inverter Off It's Cloud en op My MQTT
Omnik Inverter Off It's Cloud en op My MQTT
Omnik Inverter Off It's Cloud en op My MQTT

Ek het 'n sonkrag -installasie met 'n Omnik string -omvormer. Omnik is 'n vervaardiger van PV -omsetters wat in China gebaseer is en vervaardig uiters doeltreffende toestelle. U kan ook 'n WiFi -module installeer om dit 'verbind' te maak. Ek is baie tevrede met die toestel, met twee noemenswaardige uitsonderings.

  1. Dit "bel tuis" na 'n wolkdiens in China, en solank die toestel aan die internet gekoppel is, kan dit nie afgeskakel word nie. Ek hou nie daarvan nie.
  2. Die omskakelaar het geen ordentlike gedokumenteerde API nie (ook nie wolkdiens nie). Aangesien tuisautomatisering en IoT -toestelle na MQTT -boodskappe trek, wou ek hê dat dit MQTT -boodskappe moes stuur.

Vir hierdie projek, wat beide probleme oplos, draai ons na ons kieskeurige, maar betroubare vriend, die ESP8266. Ek het 'n Wemos D1 gebruik, maar enige inkarnasie wat jy wil, kan gebruik word. Die plan is om:

  1. Gee die WiFi -module van die omskakelaar geen geloofsbriewe aan die tuis WiFi -netwerk nie. Dit los probleem 1 op.
  2. Laat die Wemos periodiek met die toegangspunt van die omskakelaar skakel om die gewenste data te bekom. Ons kan daarvoor die omgekeerde, nie-web-protokol gebruik. Ek het hierdie kode as 'n beginpunt gebruik.
  3. Ontkoppel dan, koppel aan die tuisnetwerk en publiseer die gegewens as 'n MQTT -boodskap.

Ons materiaal is baie eenvoudig:

  • Een Wemos D1, wat gekoop moet word via die Wemos -webwerf of u gunsteling veilingswerf;
  • Een USB-kragbron met 'n USB-mini-kabel.

Daar is glad nie bedrading nodig nie. Die koste is onder 10 EURO.

Ek neem aan jy het reeds

  • 'n Omnik -omskakelaar met 'n WiFi -module geïnstalleer;
  • 'n MQTT -infrastruktuur (makelaar, paneelbord);
  • 'n onlangse weergawe van die Arduino IDE met ondersteuning vir die ESP8266 -verwerker geïnstalleer.
  • vertroudheid met bogenoemde.

Daar is 'n hele paar instruksies oor MQTT en die gebruik van die Arduino IDE vir 'n ESP8266 -verwerker, maar vra gerus in die kommentaarafdeling.

Stap 1: Koppel die Omnik permanent van die internet af

Ontkoppel die Omnik permanent van die internet
Ontkoppel die Omnik permanent van die internet

As u, soos ek, die omskakelaar aan u WiFi -netwerk gekoppel het, is dit verbasend moeilik om dit te ontkoppel. Elke verandering wat u aan die WiFi -instellings maak, word nagegaan voordat dit toegepas word. In plaas daarvan om deur hoepels te spring, soos om die enkripsiewagwoord van die router en die omskakelaar te verander, en dan die router terug te verander, het ek besluit om 'n skoner benadering te volg en van voor af te begin.

Gaan na die omskakelaar en voer die volgende aksies uit:

  • druk op die afknoppie totdat Stel knip, en druk dan op Enter
  • Druk die afknoppie totdat WiFi knipper, en druk dan Enter
  • Druk die Up -knoppie sodat Ja knipper, en druk dan Enter

Koppel aan die omskakelaar

Maak u rekenaar oop en vind 'n WiFi -netwerk genaamd AP_xxxxxxxx, die syfers van die x. Koppel daarby. Afhangende van die bedryfstelsel, moet u die netwerk eers 'vergeet' as u vroeër daaraan gekoppel is, aangesien 'n moontlik gestoorde WiFi -wagwoord weg is.

Beveilig die toegangspunt van die omskakelaar

Sodra u verbinding gemaak het, maak u u blaaier oop, voer 10.10.100.254 in en druk op Enter. 'N Opspringvenster verskyn. Voer admin in albei velde in om aan te meld. Volg NIE die towenaar en stel die toegangspunt op. Klik op Gevorderd in die menu aan die linkerkant en dan op die submenu Draadlose punt.

Maak die volgende veranderinge:

  • Enkripsiemetode na WPA2PSK
  • Enkripsietipe na TKIP
  • Voer 'n WiFi -wagwoord in. Skryf die wagwoord neer; u sal dit nodig hê om binnekort aan te sluit op die omskakelaar.

Klik op Stoor en die WiFi -module sal weer begin. U verbreek die verbinding, aangesien dit nou die wagwoord benodig. Koppel weer en voer die WiFi -wagwoord in. Weereens, u moet u rekenaar eers die AP_xxxxxxxx -netwerk laat vergeet. U moet nou weer via 'n veilige WiFi -verbinding met die omskakelaar gekoppel wees.

Beveilig die konfigurasiebladsye van die omskakelaar

Maak u blaaier oop, voer 10.10.100.254 in en druk weer op Enter. 'N Opspringvenster verskyn. Voer weer admin in beide velde in om aan te meld. Klik op Account in die menu aan die linkerkant. Verander die gebruikersnaam en die wagwoord in twee unieke, nie -triviale snare. U moet albei twee keer invoer. Skryf hulle neer. Klik op Stoor en die WiFi -module sal weer begin. Wag 'n paar sekondes en herlaai die bladsy. Verifieer dat u nou die nuwe gebruikersnaam en wagwoord nodig het om die konfigurasiebladsye oop te maak. U omskakelaar het nou 'n ekstra laag beveiliging teen veranderinge deur buitestaanders.

Dit sluit alle werk wat aan die omskakelaar gedoen moet word, af. Dit is nou ontkoppel van die internet, redelik beveilig, maar dit dien steeds as 'n WiFi -toegangspunt wat ons kan gebruik om dit te ondersoek.

Stap 2: Laai die sagteware vir die Wemos D1 af en instel dit

Laai die sagteware vir die Wemos D1 af en konfigureer dit
Laai die sagteware vir die Wemos D1 af en konfigureer dit

Laai die sagteware vir die Wemos af. U kan die kode hier vind. U moet 'n paar veranderinge aanbring om dit vir u tuisnetwerk en u omskakelaar op te stel

  • homeSsid: die naam van u tuis WiFi -netwerk
  • homePassword: die wagwoord van u tuis WiFi -netwerk
  • omnikSsid: die naam van u Omnik WiFi -netwerk. Dit moet soos AP_xxxxxxxxx lyk
  • omnikPassword: die wagwoord van u Omnik WiFi -netwerk wat u in die vorige stap toegeken het
  • omnikIP: die IP -adres van die omskakelaar. Dit is altyd {10, 10, 100, 254}
  • omnikCommand: die greepstring wat benodig word om u omskakelaar navraag te doen, sien hieronder.
  • mqtt_server: die gasheernaam van u MQTT -makelaar
  • mqtt_port: die TCP -poortnommer, gewoonlik 1883 vir onveilige of 8883 vir veilige (SSL) verbindings
  • mqtt_username en mqtt_password: die geloofsbriewe vir u MQTT -makelaar
  • mqtt_clientID: voer 'n paar ewekansige syfers hier in
  • mqtt_outTopic: die onderwerp van die MQTT -boodskappe.

Die omnikCommand byte -skikking is spesifiek vir u individuele omskakelaar. Ek het 'n klein hulpmiddel as 'n Google -sigblad gepubliseer om die string te bereken. U moet die reeksnommer (ongeveer 10 desimale syfers) in sel B1 invoer en die string in sel B4 in u skets gebruik.

Om die kode suksesvol saam te stel, benodig u ook die PubSubClient.h -biblioteek. Maak seker dat die regte bord (Wemos D1) en poort gekies is, en laai dan die skets op die bord. U kan die klein Wemos -bord in 'n klein plastiekhouer plaas om dit te beskerm en aan te sluit op die USB -kragtoevoer. Sit dit êrens, nie te ver van die omskakelaar en u WiFi -router af nie, en u is gereed!

Die hooflus in die sagteware maak verbinding met die omskakelaar WiFi, maak dan 'n TCP -verbinding, lees die data, ontkoppel, maak verbinding met die tuis WiFi -netwerk, dan met die MQTT -makelaar en publiseer die herformatteerde data daar. Dit neem net minder as 15 sekondes om al hierdie verbindings en ontkoppeling te doen. Daarna is daar 'n vertraging van 20 sekondes, dus moet die data ongeveer elke 35 sekondes gepubliseer word.

Stap 3: 'n Paar woorde oor die boodskappe, die makelaar en toetsing

'N Paar woorde oor die boodskappe, die makelaar en toetsing
'N Paar woorde oor die boodskappe, die makelaar en toetsing
'N Paar woorde oor die boodskappe, die makelaar en toetsing
'N Paar woorde oor die boodskappe, die makelaar en toetsing
'N Paar woorde oor die boodskappe, die makelaar en toetsing
'N Paar woorde oor die boodskappe, die makelaar en toetsing

Die kode gee 'n bietjie ontfoutingsdata, so as iets nie werk nie, koppel die WeMos weer aan op u rekenaar, begin die Arduino IDE en druk CTRL+SHFT+M om 'n seriële konsole te begin. Maak seker dat die spoed op 115200 gestel is.

U kan u eie makelaar gebruik of 'n wolkgebaseerde diens gebruik. Ek bestuur my eie, Mosquitto geïnstalleer op my Synology NAS. As dit goed gaan met 'n wolkdiens, kan u Adafruit of Amazon AWS of enige ander een gebruik.

Die boodskappe is JSON -snare wat so geformateer is:

By opstart word die volgende boodskap gepubliseer:

Dit kan gebruik word om onverwagte herlaai op te spoor.

Normale boodskappe lyk so:

Krag in watt, spannings in volt, strome in ampère, frekwensie in Hertz, energie in kilo Watt en temperatuur in grade Celsius.

Ek gebruik mosquitto_sub om die boodskappe na te gaan.

mosquitto_sub -h gasheernaam -t "Solar/Omnik" -u gebruiker -P wagwoord -p 1883 -v

Sien die skermgreep vir die resultate. Alle boodskappe word gepubliseer met die behoudsvlag op waar.

Op my foon gebruik ek 'n app genaamd MQTT Dash en ek het 'n skermafdruk ingesluit en wat ek moet invoer om die groen skakelaar te wys.

Aanbeveel: