Съдържание:

Omnik Inverter Off It Cloud и на My MQTT: 3 стъпки (със снимки)
Omnik Inverter Off It Cloud и на My MQTT: 3 стъпки (със снимки)

Видео: Omnik Inverter Off It Cloud и на My MQTT: 3 стъпки (със снимки)

Видео: Omnik Inverter Off It Cloud и на My MQTT: 3 стъпки (със снимки)
Видео: How to integrate your Solar Inverter into Home Assistant. First step to Solar Storage Automation. 2024, Ноември
Anonim
Omnik Inverter Off It's Cloud и на My MQTT
Omnik Inverter Off It's Cloud и на My MQTT
Omnik Inverter Off It's Cloud и на My MQTT
Omnik Inverter Off It's Cloud и на My MQTT

Имам инсталация за слънчева енергия, използваща струнен инвертор Omnik. Omnik е китайски производител на фотоволтаични инвертори и те произвеждат изключително ефективни устройства. По желание можете да инсталирате WiFi модул, за да го направите „свързан“. Много съм доволен от устройството, с две забележителни изключения.

  1. Той „телефонира у дома“на базирана в Китай облачна услуга и докато устройството е свързано с интернет, това не може да се изключи. Не ми харесва това.
  2. Инверторът няма приличен документиран API (нито облачната услуга). Тъй като устройствата за домашна автоматизация и IoT гравитират към MQTT съобщения, исках да изпраща MQTT съобщения.

За този проект, който решава и двата проблема, се обръщаме към нашия придирчив, но надежден приятел ESP8266. Използвах Wemos D1, но всяко въплъщение, което харесвате, може да се използва. Планът е да:

  1. Не давайте на WiFi модула на инвертора никакви идентификационни данни за домашната WiFi мрежа. Това решава проблем 1.
  2. Нека Wemos периодично се свързва с точката за достъп на инвертора, за да получи данните, които искаме. За това можем да използваме обратно проектиран не-уеб протокол. Използвах този код като отправна точка.
  3. След това прекъснете връзката, свържете се с домашната мрежа и публикувайте споменатите данни като MQTT съобщение.

Нашият материал е изключително прост:

  • Един Wemos D1, който да бъде закупен чрез уебсайта на Wemos или любимия ви търг;
  • Едно USB захранване с USB-мини кабел.

Изобщо не е необходимо окабеляване. Цената е под 10 евро.

Предполагам, че вече имате

  • инвертор Omnik с инсталиран WiFi модул;
  • MQTT инфраструктура (брокер, табло за управление);
  • скорошна версия на Arduino IDE с поддръжка на инсталиран процесор ESP8266.
  • известно запознаване с горното.

Има доста инструкции за MQTT и използването на Arduino IDE за процесор ESP8266, но не се колебайте да попитате в секцията за коментари.

Стъпка 1: Изключете Omnik от интернет за постоянно

Изключете Omnik от интернет за постоянно
Изключете Omnik от интернет за постоянно

Ако, подобно на мен, сте имали инвертора свързан към вашата WiFi мрежа, е изненадващо трудно да го изключите. Всяка промяна, която правите в настройките на WiFi, се проверява, преди да бъде приложена. Вместо да прескачам през обръчи, като например промяна на паролата за криптиране на рутера и инвертора, а след това обратно смяна на рутера, реших да взема по -чист подход и да започна от нулата.

Отидете до инвертора и изпълнете следните действия:

  • натиснете бутона надолу, докато Set мига, след това натиснете Enter
  • Натискайте бутона надолу, докато WiFi премигва, след това натиснете Enter
  • Натиснете бутона нагоре, така че Да да премигва, след това натиснете Enter

Свържете към инвертора

Отворете компютъра си и намерете WiFi мрежа, наречена AP_xxxxxxxx, x представя цифрите. Свържете се с него. В зависимост от операционната система може да се наложи първо да я накарате да „забрави“тази мрежа, ако сте се свързвали с нея преди, тъй като сега евентуално съхранена парола за WiFi е изчезнала.

Защитете точката за достъп на инвертора

След като се свържете, отворете браузъра си, въведете 10.10.100.254 и натиснете Enter. Ще се появи изскачащ прозорец за вход. Въведете администратор в двете полета, за да влезете. НЕ следвайте съветника и конфигурирайте точката за достъп. Кликнете върху Разширени в лявото меню, след това в подменюто Безжична точка.

Направете следните промени:

  • Метод на шифроване към WPA2PSK
  • Тип криптиране към TKIP
  • Въведете парола за WiFi. Запишете паролата, тя ще ви е необходима за скорошно свързване към инвертора.

Щракнете върху Запазване и WiFi модулът ще се рестартира. Ще загубите връзката, тъй като сега тя изисква парола. Свържете се отново и въведете паролата за WiFi. Отново може да се наложи първо да накарате вашия компютър да „забрави“мрежата AP_xxxxxxxx. Сега трябва отново да се свържете с инвертора чрез защитена WiFi връзка.

Защитете конфигурационните страници на инвертора

Отворете браузъра си, въведете 10.10.100.254 и натиснете отново Enter. Ще се появи изскачащ прозорец за вход. Отново въведете администратор в двете полета, за да влезете. Кликнете върху Акаунт в лявото меню. Променете потребителското име и паролата на два уникални, нетривиални низа. Ще трябва да въведете двамата два пъти. Напиши ги. Щракнете върху Запазване и WiFi модулът ще се рестартира. Изчакайте няколко секунди и презаредете страницата. Уверете се, че сега имате нужда от новото потребителско име и парола, за да отворите страниците с конфигурацията. Вашият инвертор вече има допълнителен слой защита срещу промени, направени от външни лица.

Това завършва цялата работа, която трябва да се свърши с инвертора. Сега той е изключен от интернет, разумно защитен, но все още действа като точка за достъп до WiFi, която можем да използваме за заявка.

Стъпка 2: Изтеглете и конфигурирайте софтуера за Wemos D1

Изтеглете и конфигурирайте софтуера за Wemos D1
Изтеглете и конфигурирайте софтуера за Wemos D1

Изтеглете софтуера за Wemos. Можете да намерите кода тук. Трябва да направите няколко промени, за да го конфигурирате за вашата домашна мрежа и вашия инвертор

  • homeSsid: името на вашата домашна WiFi мрежа
  • homePassword: паролата за вашата домашна WiFi мрежа
  • omnikSsid: името на вашата Omnik WiFi мрежа. Трябва да изглежда като AP_xxxxxxxxx
  • omnikPassword: паролата за вашата Omnik WiFi мрежа, която сте задали в предишната стъпка
  • omnikIP: IP адресът на инвертора. Това винаги е {10, 10, 100, 254}
  • omnikCommand: байтовият низ, необходим за заявка на вашия инвертор, вижте по -долу.
  • mqtt_server: името на хоста на вашия MQTT брокер
  • mqtt_port: номерът на TCP порта, обикновено 1883 за несигурни или 8883 за защитени (SSL) връзки
  • mqtt_username и mqtt_password: идентификационните данни за вашия MQTT брокер
  • mqtt_clientID: въведете тук произволни цифри
  • mqtt_outTopic: темата за MQTT съобщенията.

Байковият масив omnikCommand е специфичен за вашия индивидуален инвертор. Публикувах малък инструмент като електронна таблица на Google за изчисляване на низ. Трябва да въведете серийния номер (около 10 десетични цифри) в клетка В1 и да използвате низ, изчислен в клетка В4 във вашата скица.

За успешно компилиране на кода се нуждаете и от библиотеката PubSubClient.h. Уверете се, че са избрани правилната платка (Wemos D1) и порт, след което качете скицата на дъската. Можете да поставите малката платка Wemos в малък пластмасов контейнер за защита и да я свържете към USB захранването. Поставете го някъде недалеч както от инвертора, така и от вашия WiFi рутер и сте готови!

Основният контур в софтуера се свързва към инверторния WiFi, след това прави TCP връзка с него, чете данните, прекъсва връзката, свързва се с домашната WiFi мрежа, след това с брокера MQTT и публикува преформатираните данни там. Извършването на всичко това свързване и изключване отнема малко под 15 секунди. След това има забавяне от 20 секунди, така че данните трябва да се публикуват приблизително на всеки 35 секунди.

Стъпка 3: Няколко думи за съобщенията, брокера и тестването

Няколко думи за съобщенията, брокера и тестването
Няколко думи за съобщенията, брокера и тестването
Няколко думи за съобщенията, брокера и тестването
Няколко думи за съобщенията, брокера и тестването
Няколко думи за съобщенията, брокера и тестването
Няколко думи за съобщенията, брокера и тестването

Кодът извежда малко данни за отстраняване на грешки, така че ако нещо не работи, просто свържете WeMos към вашия компютър отново, стартирайте Arduino IDE и натиснете CTRL+SHFT+M, за да стартирате серийна конзола. Уверете се, че скоростта е зададена на 115200.

Можете или да използвате свой собствен брокер, или да използвате облачна услуга. Пускам свой собствен, Mosquitto, инсталиран на моя Synology NAS. Ако сте добре с облачна услуга, можете да използвате Adafruit или Amazon AWS или всяка друга.

Съобщенията са JSON низове, форматирани по следния начин:

При стартиране се публикува следното съобщение:

Това може да се използва за откриване на неочаквани рестартирания.

Нормалните съобщения изглеждат така:

Мощност във ватове, напрежения в волта, токове в ампери, честота в херци, енергия в киловатт и температура в градуси по Целзий.

Използвам mosquitto_sub за проверка на съобщенията.

mosquitto_sub -h име на хост -t "Solar/Omnik" -u потребител -P парола -p 1883 -v

Вижте снимката на екрана за резултатите. Всички съобщения се публикуват с флаг за запазване, зададен на true.

На телефона си използвам приложение, наречено MQTT Dash и съм включил отпечатване на екрана и какво да въведа, за да покажа този зелен бутон за включване.

Препоръчано: