Innehållsförteckning:
- Steg 1: Koppla bort Omnik permanent från Internet
- Steg 2: Ladda ner och konfigurera programvaran för Wemos D1
- Steg 3: Några ord om meddelandena, mäklaren och testning
Video: Omnik Inverter Off It's Cloud and on My MQTT: 3 Steps (with Pictures)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Jag har en solenergianläggning med en Omnik strängomvandlare. Omnik är en Kina -baserad tillverkare av PV -växelriktare och de tillverkar extremt effektiva enheter. Alternativt kan du installera en WiFi -modul för att göra den "ansluten". Jag är mycket nöjd med enheten, med två anmärkningsvärda undantag.
- Den "ringer hem" till en Kina -baserad molntjänst och så länge enheten är ansluten till Internet kan den inte stängas av. Jag gillar inte det.
- Inverteraren har inget anständigt dokumenterat API (inte heller molntjänst). Eftersom hemautomatisering och IoT -enheter drar mot MQTT -meddelanden, ville jag att den skulle skicka MQTT -meddelanden.
För detta projekt, som löser båda frågorna, vänder vi oss mot vår kräsen men pålitliga vän ESP8266. Jag använde en Wemos D1, men vilken inkarnation du vill kan användas. Planen är att:
- Ge inte inverterarens WiFi -modul några inloggningsuppgifter till hemmets WiFi -nätverk. Detta löser problem 1.
- Låt Wemos regelbundet ansluta till växelriktarens åtkomstpunkt för att hämta de data vi vill ha. Vi kan använda det omvända protokollet för icke-webbprotokoll för det. Jag använde denna kod som utgångspunkt.
- Koppla sedan bort, anslut till hemnätverket och publicera nämnda data som ett MQTT -meddelande.
Vår materialräkning är extremt enkel:
- En Wemos D1, som ska köpas via Wemos webbplats eller din favorit auktionssajt;
- En USB-strömförsörjning med en USB-minikabel.
Det behövs ingen ledning alls. Kostnaden är under 10 euro.
Jag antar att du redan har
- en Omnik -inverter med en WiFi -modul installerad;
- en MQTT -infrastruktur (mäklare, instrumentpanel);
- en ny version av Arduino IDE med stöd för ESP8266 -processorn installerad.
- viss förtrogenhet med ovanstående.
Det finns en hel del instruktioner om MQTT och användning av Arduino IDE för en ESP8266 -processor, men fråga gärna i kommentarsfältet.
Steg 1: Koppla bort Omnik permanent från Internet
Om du, precis som jag, hade växelriktaren ansluten till ditt WiFi -nätverk är det förvånansvärt svårt att koppla bort den. Alla ändringar du gör i WiFi -inställningarna kontrolleras innan de tillämpas. Istället för att hoppa igenom ringar som att ändra krypteringslösenordet för routern och omformaren, sedan byta tillbaka routern, bestämde jag mig för att ta ett renare tillvägagångssätt och börja om från början.
Gå till växelriktaren och utför följande åtgärder:
- tryck på nedåtknappen tills Set blinkar och tryck sedan på Retur
- Tryck på nedåtknappen tills WiFi blinkar och tryck sedan på Retur
- Tryck på Upp -knappen så att Ja blinkar och tryck sedan på Retur
Anslut till växelriktaren
Öppna din dator och hitta ett WiFi -nätverk som heter AP_xxxxxxxx, x: s presenterande siffror. Anslut till den. Beroende på operativsystem kan du först behöva få det att "glömma" det nätverket om du har anslutit till det tidigare, eftersom nu ett eventuellt lagrat WiFi -lösenord är borta.
Säkra växelriktarens åtkomstpunkt
När du är ansluten öppnar du din webbläsare, anger 10.10.100.254 och trycker på Retur. En popup -inloggning visas. Ange admin i båda fälten för att logga in. Följ INTE guiden och konfigurera åtkomstpunkten. Klicka på Avancerat i menyn till vänster och sedan på undermenyn Trådlös punkt.
Gör följande ändringar:
- Krypteringsmetod till WPA2PSK
- Krypteringstyp till TKIP
- Ange ett WiFi -lösenord. Skriv ner lösenordet, du behöver det för att ansluta till omformaren snart.
Klicka på Spara och WiFi -modulen startar om. Du kommer att tappa anslutningen eftersom det nu kräver lösenordet. Anslut igen och ange WiFi -lösenordet. Återigen kan du behöva få din dator att "glömma" AP_xxxxxxxx -nätverket först. Du bör nu anslutas till växelriktaren igen via en säker WiFi -länk.
Säkra omformarens konfigurationssidor
Öppna din webbläsare, ange 10.10.100.254 och tryck på Retur igen. En popup -inloggning visas. Ange igen admin i båda fälten för att logga in. Klicka på Konto i menyn till vänster. Ändra användarnamnet och lösenordet till två unika, icke triviala strängar. Du måste ange dem två gånger. Skriv ner dem. Klicka på Spara och WiFi -modulen startas om. Vänta några sekunder och ladda om sidan. Kontrollera att du nu behöver det nya användarnamnet och lösenordet för att öppna konfigurationssidorna. Din växelriktare har nu ett extra lager av säkerhet mot förändringar som görs av utomstående.
Detta avslutar allt arbete som måste utföras på växelriktaren. Den är nu bortkopplad från Internet, rimligen säker, men den fungerar fortfarande som en WiFi -åtkomstpunkt som vi kan använda för att fråga den.
Steg 2: Ladda ner och konfigurera programvaran för Wemos D1
Ladda ner programvaran för Wemos. Du hittar koden här. Du måste göra några ändringar för att konfigurera det för ditt hemnätverk och din växelriktare
- homeSsid: namnet på ditt WiFi -hemnätverk
- homePassword: lösenordet för ditt hem WiFi -nätverk
- omnikSsid: namnet på ditt Omnik WiFi -nätverk. Det ska se ut som AP_xxxxxxxxx
- omnikPassword: lösenordet för ditt Omnik WiFi -nätverk som du tilldelade i föregående steg
- omnikIP: omriktarens IP -adress. Detta är alltid {10, 10, 100, 254}
- omnikCommand: byte -strängen som krävs för att fråga din inverter, se nedan.
- mqtt_server: värdnamnet för din MQTT -mäklare
- mqtt_port: TCP -portnummer, vanligtvis 1883 för osäkra eller 8883 för säkra (SSL) anslutningar
- mqtt_username och mqtt_password: referenser för din MQTT -mäklare
- mqtt_clientID: ange några slumpmässiga siffror här
- mqtt_outTopic: ämnet för MQTT -meddelanden.
OmnikCommand -byte -arrayen är specifik för din individuella inverter. Jag publicerade ett litet verktyg som ett Google -kalkylblad för att beräkna strängen. Du måste ange serienumret (cirka 10 decimaler) i cell B1 och använda strängen beräknad i cell B4 i din skiss.
För att lyckas kompilera koden behöver du också PubSubClient.h -biblioteket. Se till att rätt kort (Wemos D1) och port är valt och ladda sedan upp skissen till kortet. Du kan lägga det lilla Wemos -kortet i en liten plastbehållare för skydd och ansluta det till USB -strömförsörjningen. Lägg den någonstans inte för långt från både inverteraren och din WiFi -router så är du klar!
Huvudslingan i programvaran ansluter till växelriktaren WiFi, gör sedan en TCP -anslutning till den, läser data, kopplar bort, ansluter till hemmets WiFi -nätverk, sedan till MQTT -mäklaren och publicerar den omformaterade data där. Det tar knappt 15 sekunder att göra allt detta anslutning och frånkoppling. Efter det är det en fördröjning på 20 sekunder, så data bör publiceras ungefär var 35: e sekund.
Steg 3: Några ord om meddelandena, mäklaren och testning
Koden matar ut lite felsökningsdata, så om något inte fungerar, helt enkelt ansluta WeMos till din dator igen, starta Arduino IDE och tryck på CTRL+SHFT+M för att starta en seriekonsol. Se till att hastigheten är inställd på 115200.
Du kan antingen använda din egen mäklare eller använda en molnbaserad tjänst. Jag kör min egen, mygga installerad på min Synology NAS. Om du har det bra med en molntjänst kan du använda Adafruit eller Amazon AWS eller någon annan.
Meddelandena är JSON -strängar formaterade så här:
Vid start publiceras följande meddelande:
Detta kan användas för att upptäcka oväntade omstart.
Normala meddelanden ser ut så här:
Effekt i watt, spänningar i volt, strömmar i ampere, frekvens i Hertz, energi i kiloWatthours och temperatur i grader Celsius.
Jag använder mosquitto_sub för att kontrollera meddelandena.
mosquitto_sub -h värdnamn -t "Solar/Omnik" -u användare -P lösenord -p 1883 -v
Se skärmgreppet för resultaten. Alla meddelanden publiceras med behållningsflaggan inställd på true.
På min telefon använder jag en app som heter MQTT Dash och jag har inkluderat en skärmutskrift och vad jag ska ange för att visa den gröna strömbrytaren.
Rekommenderad:
Phony Fliers With Rip-off Tabs: 6 Steps (with Pictures)
Phony Fliers With Rip-off Tabs: Folk lägger ut reklamblad hela tiden, vanligtvis med ett mycket specifikt intresse som måste fyllas, till exempel en annons för barnvakt, marknadsföra en tjänst eller sälja en gammal soffa. Problemet är att dessa intressen är begränsade; inte alla
Unity Multiplayer 3D Hologram Game and Hologram Projector for PC: 16 Steps (with Pictures)
Unity Multiplayer 3D Hologram Game och Hologram Projector för PC: På inspirerad på Holus gillar jag att utveckla en holografisk display mycket billig. Men när jag försökte hitta spel hittade jag ingenting på webben. Så jag planerar att utveckla mitt eget spel i Unity. Detta är mitt första spel i enhet. Innan dess utvecklade jag några spel i Flash, men
YABC - Yet Another Blynk Controller - IoT Cloud Temperature and Humidity Controller, ESP8266: 4 Steps
YABC - Yet Another Blynk Controller - IoT Cloud Temperature and Humidity Controller, ESP8266: Hej Makers, jag började nyligen odla svamp hemma, Ostron svamp, men jag har redan 3x av dessa kontroller hemma för Fermenter Temperaturkontroll för mitt hem brygga, fru gör också det här Kombucha nu, och som termostat för värme
Raspberry Pi Oled Clock Watch It Hear It and Feel It: 5 Steps (with Pictures)
Raspberry Pi Oled Clock Watch It Hear It and Feel It: Det här är en smart klocka som visar tiden på en OLED -display och du kan också höra tid vid olika tidsintervall som är full för blinda och det ändrar också LED -färgen med tiden som ljus i skymningen ljus på kvällen blir orange till gult och gillar
555 Timer With a Decade Counter and LEDs and Piezo Buzzer; basic Description of Circuit: 6 Steps
555 Timer With a Decade Counter och LEDs och Piezo Buzzer; grundläggande beskrivning av krets: Denna krets består av tre delar. De är en piezo -summer som producerar ljud. En kod (program) spelar " Grattis på födelsedagen " av Arduino genom piezoen. Nästa steg är en 555 -timer som kommer att producera pulser som fungerar som en klocka