Talaan ng mga Nilalaman:

Omnik Inverter Off Cloud Ito at sa Aking MQTT: 3 Hakbang (na may Mga Larawan)
Omnik Inverter Off Cloud Ito at sa Aking MQTT: 3 Hakbang (na may Mga Larawan)

Video: Omnik Inverter Off Cloud Ito at sa Aking MQTT: 3 Hakbang (na may Mga Larawan)

Video: Omnik Inverter Off Cloud Ito at sa Aking MQTT: 3 Hakbang (na may Mga Larawan)
Video: Omnik solar grid inverter 2024, Hulyo
Anonim
Omnik Inverter Off Cloud Ito at sa Aking MQTT
Omnik Inverter Off Cloud Ito at sa Aking MQTT
Omnik Inverter Off Cloud Ito at sa Aking MQTT
Omnik Inverter Off Cloud Ito at sa Aking MQTT

Mayroon akong isang pag-install ng solar power gamit ang isang inverter na Omnik string. Ang Omnik ay isang taga-China na tagagawa ng mga inverters ng PV at gumawa sila ng labis na mahusay na mga aparato. Bilang pagpipilian, maaari kang mag-install ng isang module ng WiFi upang gawin itong "konektado". Napaka-kontento ko sa aparato, na may dalawang pambihirang pagbubukod.

  1. Ito ay "telepono sa bahay" sa isang serbisyong cloud based sa China at basta ang aparato ay nakakonekta sa Internet, hindi ito maaaring patayin. Ayoko ng ganun.
  2. Ang inverter ay walang disenteng naka-dokumentong API (at hindi rin cloud service). Tulad ng pag-automate ng bahay at mga aparato ng IoT ay nakakubkob patungo sa mga mensahe sa MQTT, nais kong magpadala ng mga mensahe sa MQTT.

Para sa proyektong ito, na malulutas ang parehong mga isyu, lumiliko kami sa aming picky ngunit maaasahang kaibigan na ang ESP8266. Gumamit ako ng isang Wemos D1, ngunit ang anumang pagkakatawang-tao na gusto mo ay maaaring magamit. Ang plano ay upang:

  1. Hindi ibigay ang module ng WiFi ng inverter anumang mga kredensyal sa home WiFi network. Nalulutas nito ang problema 1.
  2. Hayaan ang mga Wemos na pana-panahong kumonekta sa Access Point ng Inverter upang makuha ang data na gusto namin. Maaari naming gamitin ang reverse engineered non-web protocol para doon. Ginamit ko ang code na ito bilang isang panimulang punto.
  3. Pagkatapos ay idiskonekta, kumonekta sa home network at i-publish ang nasabing data bilang isang mensahe ng MQTT.

Ang aming kuwenta ng materyal ay lubos na simple:

  • Isang Wemos D1, na mabibili sa pamamagitan ng website ng Wemos o iyong paboritong site sa auction;
  • Isang USB power supply na may isang USB-mini cable.

Walang kinakailangang mga kable. Ang gastos ay mas mababa sa 10 EUROs.

Ipagpalagay kong mayroon ka na

  • isang inverter na Omnik na may naka-install na module ng WiFi;
  • isang MQTT na imprastraktura (broker, dashboard);
  • isang kamakailang bersyon ng Arduino IDE na may suporta para sa na-install na processor ng ESP8266.
  • ilang pamilyar sa nabanggit.

Mayroong ilang mga itinuturo tungkol sa MQTT at ginagamit ang Arduino IDE para sa isang processor ng ESP8266, ngunit huwag mag-atubiling magtanong sa seksyon ng komento.

Hakbang 1: Idiskonekta ang Omnik Mula sa Internet ng Permanenteng

Idiskonekta nang tuluyan ang Omnik Mula sa Internet
Idiskonekta nang tuluyan ang Omnik Mula sa Internet

Kung, tulad ko, mayroon kang konverter na nakakonekta sa iyong WiFi network, nakakagulat na mahirap itong idiskonekta. Ang anumang pagbabago na gagawin mo sa mga setting ng WiFi ay nasuri bago ito mailapat. Sa halip na tumalon sa mga hoops tulad ng pagbabago ng password ng pag-encrypt ng router at inverter, pagkatapos ay baguhin ang router, nagpasya akong kumuha ng isang mas malinis na diskarte at magsimula sa simula.

Pumunta sa inverter at isagawa ang mga sumusunod na pagkilos:

  • pindutin ang Pababang pindutan hanggang sa Itakda ang mga kislap, pagkatapos ay pindutin ang Enter
  • Pindutin ang Down button hanggang sa kumurap ang WiFi, pagkatapos ay pindutin ang Enter
  • Pindutin ang Up button upang ang Oo ay kumurap, pagkatapos ay pindutin ang Enter

Kumonekta sa inverter

Buksan ang iyong computer at hanapin ang isang WiFi network na tinatawag na AP_xxxxxxxx, ang paglabas ng mga digit ng x. Kumonekta dito Nakasalalay sa operating system na maaaring kailanganin mo munang gawin itong "kalimutan" ang network na iyon kung nakakonekta ka rito, tulad ng isang posibleng nakaimbak na password sa WiFi ay nawala.

I-secure ang access point ng inverter

Kapag nakakonekta, buksan ang iyong browser, ipasok ang 10.10.100.254 at pindutin ang Enter. Lilitaw ang isang popup popup. Ipasok ang admin sa parehong mga patlang upang mag-log in. HUWAG sundin ang wizard at i-configure ang access point. Mag-click sa Advanced sa kaliwang menu, pagkatapos ang submenu Wireless point.

Gawin ang mga sumusunod na pagbabago:

  • Paraan ng pag-encrypt sa WPA2PSK
  • Uri ng pag-encrypt sa TKIP
  • Magpasok ng isang password sa WiFi. Isulat ang password, kakailanganin mo ito upang kumonekta sa inverter sa lalong madaling panahon.

I-click ang I-save at ang module ng WiFi ay muling magsisimula. Maluluwag mo ang koneksyon dahil nangangailangan ito ngayon ng password. Muling kumonekta, at ipasok ang password ng WiFi. Muli, maaaring kailangan mong gawin ang iyong PC na "kalimutan" muna ang AP_xxxxxxxx network. Dapat na konektado ka ngayon sa inverter muli sa isang ligtas na link ng WiFi.

I-secure ang mga pahina ng pagsasaayos ng inverter

Buksan ang iyong browser, ipasok ang 10.10.100.254 at pindutin muli ang Enter. Lilitaw ang isang popup popup. Muli ipasok ang admin sa parehong mga patlang upang mag-log in. Mag-click sa Account sa kaliwang menu. Baguhin ang username at ang password sa dalawang natatanging, hindi walang halaga na mga string. Kailangan mong ipasok ang pareho sa kanila ng dalawang beses. Isulat ang mga ito. I-click ang I-save at ang module ng WiFi ay muling magsisimula. Maghintay ng ilang segundo at i-reload ang pahina. I-verify na kailangan mo ngayon ng bagong username at password upang buksan ang mga pahina ng pagsasaayos. Ang iyong inverter ay mayroon nang dagdag na layer ng seguridad laban sa mga pagbabagong ginawa ng mga tagalabas.

Tinatapos nito ang lahat ng gawaing kailangang gawin sa inverter. Ito ay naka-disconnect ngayon mula sa Internet, makatuwirang na-secure, ngunit kumikilos pa rin ito bilang isang WiFi Access Point na maaari naming magamit upang i-query ito.

Hakbang 2: I-download at I-configure ang Software para sa Wemos D1

I-download at I-configure ang Software para sa Wemos D1
I-download at I-configure ang Software para sa Wemos D1

I-download ang software para sa Wemos. Maaari mong makita ang code dito. Kailangan mong gumawa ng ilang mga pagbabago upang mai-configure ito para sa iyong home network at iyong inverter

  • homeSsid: ang pangalan ng iyong home WiFi network
  • homePassword: ang password ng iyong home WiFi network
  • omnikSsid: ang pangalan ng iyong Omnik WiFi network. Dapat magmukhang AP_xxxxxxxxx
  • omnikPassword: ang password ng iyong Omnik WiFi network na itinalaga mo sa nakaraang hakbang
  • omnikIP: ang IP address ng inverter. Ito ay palaging {10, 10, 100, 254}
  • omnikCommand: ang byte string na kinakailangan upang magtanong sa iyong inverter, tingnan sa ibaba.
  • mqtt_server: ang hostname ng iyong MQTT broker
  • mqtt_port: ang numero ng port ng TCP, karaniwang 1883 para sa mga hindi secure o 8883 para sa mga secure na (SSL) na koneksyon
  • mqtt_username at mqtt_password: ang mga kredensyal para sa iyong MQTT broker
  • mqtt_clientID: maglagay ng ilang mga random na digit dito
  • mqtt_outTopic: ang paksa ng mga mensahe sa MQTT.

Ang omnikCommand byte array ay tiyak para sa iyong indibidwal na inverter. Nag-publish ako ng isang maliit na tool bilang isang Google spreadsheet upang makalkula ang string. Kailangan mong i-input ang serial number (mga 10 decimal digit) sa cell B1 at gamitin ang string na kinakalkula sa cell B4 sa iyong sketch.

Upang matagumpay na maipon ang code kailangan mo rin ng library ng PubSubClient.h. Tiyaking napili ang tamang board (Wemos D1) at port, pagkatapos ay i-upload ang sketch sa board. Maaari mong ilagay ang maliit na board ng Wemos sa isang maliit na lalagyan ng plastik para sa proteksyon at ikonekta ito sa USB power supply. Ilagay ito sa isang lugar na hindi masyadong malayo mula sa parehong inverter at iyong WiFi router at itinakda ka!

Ang pangunahing loop sa software ay kumokonekta sa inverter WiFi, pagkatapos ay gumagawa ng isang koneksyon sa TCP dito, binabasa ang data, ididiskonekta, kumokonekta sa home WiFi network, pagkatapos ay sa MQTT broker, at nai-publish ang nai-reformat na data doon. Tumatagal ito sa ilalim ng 15 segundo upang gawin ang lahat ng ito sa pagkonekta at pagdiskonekta. Pagkatapos nito, mayroong isang pagkaantala ng 20 segundo, kaya ang data ay dapat na ma-publish ng halos bawat 35 segundo.

Hakbang 3: Ilang mga Salita Tungkol sa Mga Mensahe, ang Broker at Pagsubok

Ilang mga Salita Tungkol sa Mga Mensahe, ang Broker at Pagsubok
Ilang mga Salita Tungkol sa Mga Mensahe, ang Broker at Pagsubok
Ilang mga Salita Tungkol sa Mga Mensahe, ang Broker at Pagsubok
Ilang mga Salita Tungkol sa Mga Mensahe, ang Broker at Pagsubok
Ilang mga Salita Tungkol sa Mga Mensahe, ang Broker at Pagsubok
Ilang mga Salita Tungkol sa Mga Mensahe, ang Broker at Pagsubok

Ang code ay naglalabas ng kaunting pag-debug ng data, kaya kung may isang bagay na hindi gumagana, i-hook up muli ang WeMos sa iyong PC, simulan ang Arduino IDE at pindutin ang CTRL + SHFT + M upang magsimula sa isang serial console. Tiyaking ang bilis ay nakatakda sa 115200.

Maaari mong gamitin ang iyong sariling broker, o gumamit ng cloud based na serbisyo. Nagpapatakbo ako ng aking sarili, na naka-install ang Mosquitto sa aking Synology NAS. Kung OK ka sa isang serbisyo sa cloud, maaari mong gamitin ang Adafruit o Amazon AWS o anumang iba pa.

Ang mga mensahe ay naka-format tulad ng mga string ng JSON:

Sa boot ang sumusunod na mensahe ay nai-publish:

Maaari itong magamit upang makita ang hindi inaasahang mga reboot.

Ang mga normal na mensahe ay ganito ang hitsura:

Lakas sa watts, voltages sa Volts, alon sa Amps, dalas sa Hertz, Enerhiya sa kiloWatthours at temperatura sa degree Celsius.

Gumagamit ako ng mosquitto_sub upang suriin ang mga mensahe.

mosquitto_sub -h hostname -t "Solar / Omnik" -u gumagamit -P password -p 1883 -v

Tingnan ang grab ng screen para sa mga resulta. Ang lahat ng mga mensahe ay nai-publish na may panatilihin ang flag na itinakda sa totoo.

Sa aking telepono ay gumagamit ako ng isang app na tinatawag na MQTT Dash at nagsama ako ng isang pag-print sa screen at kung ano ang ipasok upang maipakita ang berdeng kapangyarihan na iyon.

Inirerekumendang: