Turinys:

„Omnik“keitiklis išjungtas „Cloud“ir „My MQTT“: 3 žingsniai (su nuotraukomis)
„Omnik“keitiklis išjungtas „Cloud“ir „My MQTT“: 3 žingsniai (su nuotraukomis)

Video: „Omnik“keitiklis išjungtas „Cloud“ir „My MQTT“: 3 žingsniai (su nuotraukomis)

Video: „Omnik“keitiklis išjungtas „Cloud“ir „My MQTT“: 3 žingsniai (su nuotraukomis)
Video: Весна на Заречной улице (1956) ЦВЕТНАЯ полная версия 2024, Liepa
Anonim
„Omnik“keitiklis išjungtas „Cloud“ir „My MQTT“
„Omnik“keitiklis išjungtas „Cloud“ir „My MQTT“
„Omnik“keitiklis išjungtas „Cloud“ir „My MQTT“
„Omnik“keitiklis išjungtas „Cloud“ir „My MQTT“

Turiu saulės energijos įrenginį, naudojant „Omnik“eilutės keitiklį. „Omnik“yra Kinijoje įsikūręs PV keitiklių gamintojas, kuris gamina itin efektyvius įrenginius. Pasirinktinai galite įdiegti „WiFi“modulį, kad jis būtų „prijungtas“. Esu labai patenkintas įrenginiu, išskyrus dvi pastebimas išimtis.

  1. Jis „paskambina namo“į Kinijoje veikiančią debesies paslaugą ir kol įrenginys prijungtas prie interneto, to negalima išjungti. Man tai nepatinka.
  2. Keitiklis neturi tinkamos dokumentuotos API (taip pat ir debesies paslaugos). Kadangi namų automatika ir daiktų interneto įrenginiai traukia MQTT pranešimus, norėjau, kad jie siunčia MQTT pranešimus.

Šiam projektui, kuris išsprendžia abi problemas, kreipiamės į savo išrankų, bet patikimą draugą ESP8266. Aš naudojau „Wemos D1“, bet galima naudoti bet kokį jums patinkantį įsikūnijimą. Planas yra toks:

  1. Neduokite keitiklio „WiFi“moduliui jokių prisijungimo duomenų prie namų „WiFi“tinklo. Tai išsprendžia 1 problemą.
  2. Leiskite „Wemos“periodiškai prisijungti prie keitiklio prieigos taško, kad gautų norimus duomenis. Tam galime naudoti atvirkščiai sukurtą ne žiniatinklio protokolą. Aš pradėjau naudoti šį kodą.
  3. Tada atjunkite, prisijunkite prie namų tinklo ir paskelbkite minėtus duomenis kaip MQTT pranešimą.

Mūsų medžiagų sąskaita yra labai paprasta:

  • Vienas „Wemos D1“, kurį reikia įsigyti per „Wemos“svetainę arba mėgstamą aukciono svetainę;
  • Vienas USB maitinimo šaltinis su USB mini kabeliu.

Laidų visai nereikia. Kaina yra mažesnė nei 10 eurų.

Manau, kad jau turite

  • „Omnik“keitiklis su įdiegtu „WiFi“moduliu;
  • MQTT infrastruktūra (brokeris, prietaisų skydelis);
  • naujausia „Arduino IDE“versija, palaikanti įdiegtą ESP8266 procesorių.
  • šiek tiek susipažinęs su aukščiau aprašytu.

Yra daug nurodymų apie MQTT ir „Arduino IDE“naudojimą ESP8266 procesoriui, tačiau nedvejodami paklauskite komentarų skiltyje.

1 veiksmas: visam laikui atjunkite „Omnik“nuo interneto

Visam laikui atjunkite „Omnik“nuo interneto
Visam laikui atjunkite „Omnik“nuo interneto

Jei, kaip ir aš, keitiklis buvo prijungtas prie „WiFi“tinklo, stebėtinai sunku jį atjungti. Bet kokie „WiFi“nustatymų pakeitimai tikrinami prieš juos pritaikant. Užuot šokinėjęs per lankus, pvz., Pakeisdamas maršrutizatoriaus ir keitiklio šifravimo slaptažodį, tada pakeisdamas maršrutizatorių atgal, nusprendžiau imtis švaresnio požiūrio ir pradėti nuo nulio.

Eikite į keitiklį ir atlikite šiuos veiksmus:

  • paspauskite žemyn mygtuką, kol sumirksės „Set“, tada paspauskite „Enter“
  • Spauskite žemyn mygtuką, kol mirksės „WiFi“, tada paspauskite „Enter“
  • Paspauskite mygtuką „aukštyn“, kad mirksėtų „Taip“, tada paspauskite „Enter“

Prijunkite prie keitiklio

Atidarykite kompiuterį ir suraskite „WiFi“tinklą AP_xxxxxxxx, kuriame pateikiami x skaitmenys. Prisijunkite prie jo. Priklausomai nuo operacinės sistemos, pirmiausia turėsite priversti „pamiršti“tą tinklą, jei prie jo buvote prisijungę anksčiau, nes dabar galimai išsaugoto „WiFi“slaptažodžio nebėra.

Apsaugokite keitiklio prieigos tašką

Prisijungę atidarykite naršyklę, įveskite 10.10.100.254 ir paspauskite „Enter“. Pasirodys prisijungimo langas. Abiejuose laukuose įveskite administratorių, kad prisijungtumėte. Nesekite vedlio ir nesukonfigūruokite prieigos taško. Kairiajame meniu spustelėkite Išplėstinė, tada submeniu Belaidis taškas.

Atlikite šiuos pakeitimus:

  • Šifravimo metodas WPA2PSK
  • Šifravimo tipas į TKIP
  • Įveskite „WiFi“slaptažodį. Užsirašykite slaptažodį, kurio netrukus prireiks prisijungti prie keitiklio.

Spustelėkite Išsaugoti ir „WiFi“modulis bus paleistas iš naujo. Prarasite ryšį, nes dabar reikia slaptažodžio. Prisijunkite iš naujo ir įveskite „WiFi“slaptažodį. Vėlgi, gali tekti pirmiausia priversti kompiuterį „pamiršti“AP_xxxxxxxx tinklą. Dabar turėtumėte vėl prisijungti prie keitiklio per saugų „WiFi“ryšį.

Apsaugokite keitiklio konfigūracijos puslapius

Atidarykite naršyklę, įveskite 10.10.100.254 ir dar kartą paspauskite „Enter“. Bus rodomas iššokantis prisijungimo langas. Dar kartą įveskite administratorių abiejuose laukuose, kad prisijungtumėte. Kairiajame meniu spustelėkite „Paskyra“. Pakeiskite vartotojo vardą ir slaptažodį į dvi unikalias, nereikšmingas eilutes. Abu turėsite įvesti du kartus. Užsirašykite juos. Spustelėkite Išsaugoti ir „WiFi“modulis bus paleistas iš naujo. Palaukite kelias sekundes ir iš naujo įkelkite puslapį. Patikrinkite, ar dabar jums reikia naujo vartotojo vardo ir slaptažodžio, kad atidarytumėte konfigūracijos puslapius. Jūsų keitiklis dabar turi papildomą apsaugą nuo pašalinių asmenų atliktų pakeitimų.

Tai baigia visus darbus, kuriuos reikia atlikti su keitikliu. Dabar jis atjungtas nuo interneto, pagrįstai apsaugotas, tačiau vis tiek veikia kaip „WiFi“prieigos taškas, kurį galime naudoti jo užklausai.

2 veiksmas: atsisiųskite ir sukonfigūruokite „Wemos D1“programinę įrangą

Atsisiųskite ir sukonfigūruokite „Wemos D1“programinę įrangą
Atsisiųskite ir sukonfigūruokite „Wemos D1“programinę įrangą

Atsisiųskite „Wemos“programinę įrangą. Kodą rasite čia. Turite atlikti keletą pakeitimų, kad sukonfigūruotumėte jį savo namų tinklui ir keitikliui

  • homeSsid: jūsų namų „WiFi“tinklo pavadinimas
  • homePassword: jūsų namų „WiFi“tinklo slaptažodis
  • omnikSsid: „Omnik WiFi“tinklo pavadinimas. Tai turėtų atrodyti kaip AP_xxxxxxxxx
  • omnikPassword: „Omnik WiFi“tinklo slaptažodis, kurį priskyrėte atlikdami ankstesnį veiksmą
  • omnikIP: keitiklio IP adresas. Tai visada yra {10, 10, 100, 254}
  • omnikCommand: baitų eilutė, reikalinga keitiklio užklausai, žr.
  • mqtt_server: jūsų MQTT tarpininko pagrindinio kompiuterio pavadinimas
  • „mqtt_port“: TCP prievado numeris, paprastai 1883, kai jis nesaugus, arba 8883, jei yra saugus (SSL) ryšys
  • mqtt_username ir mqtt_password: jūsų MQTT tarpininko įgaliojimai
  • mqtt_clientID: įveskite čia atsitiktinius skaitmenis
  • mqtt_outTopic: MQTT pranešimų tema.

„OmnikCommand“baitų masyvas yra būdingas jūsų individualiam keitikliui. Aš paskelbiau nedidelį įrankį kaip „Google“skaičiuoklę eilutei apskaičiuoti. B1 langelyje turite įvesti serijos numerį (apie 10 skaitmenų po kablelio) ir naudoti eskizo B4 langelyje apskaičiuotą eilutę.

Norint sėkmingai surinkti kodą, jums taip pat reikia „PubSubClient.h“bibliotekos. Įsitikinkite, kad pasirinkta tinkama plokštė („Wemos D1“) ir prievadas, tada įkelkite eskizą į lentą. Galite įdėti mažąją „Wemos“plokštę į mažą plastikinį indą apsaugai ir prijungti prie USB maitinimo šaltinio. Padėkite jį kur nors ne per toli nuo keitiklio ir „WiFi“maršrutizatoriaus, ir būsite pasiruošę!

Pagrindinė programinės įrangos kilpa jungiasi prie keitiklio „WiFi“, tada užmezga TCP ryšį, skaito duomenis, atsijungia, prisijungia prie namų „WiFi“tinklo, tada prie „MQTT“brokerio ir ten paskelbia performatuotus duomenis. Visa tai prijungti ir atjungti užtrunka šiek tiek mažiau nei 15 sekundžių. Po to vėluojama 20 sekundžių, todėl duomenys turėtų būti skelbiami maždaug kas 35 sekundes.

3 žingsnis: keletas žodžių apie pranešimus, tarpininką ir testavimą

Keletas žodžių apie pranešimus, tarpininką ir testavimą
Keletas žodžių apie pranešimus, tarpininką ir testavimą
Keletas žodžių apie pranešimus, tarpininką ir testavimą
Keletas žodžių apie pranešimus, tarpininką ir testavimą
Keletas žodžių apie pranešimus, tarpininką ir testavimą
Keletas žodžių apie pranešimus, tarpininką ir testavimą

Kodas pateikia šiek tiek derinimo duomenų, taigi, jei kažkas neveikia, tiesiog vėl prijunkite „WeMos“prie kompiuterio, paleiskite „Arduino IDE“ir paspauskite CTRL+SHFT+M, kad paleistumėte serijinę konsolę. Įsitikinkite, kad greitis nustatytas į 115200.

Galite naudoti savo brokerį arba naudoti debesies paslaugą. Aš valdau savo, „Mosquitto“, įdiegtą mano „Synology NAS“. Jei jums gerai tinka debesies paslauga, galite naudoti „Adafruit“arba „Amazon AWS“ar bet kurią kitą.

Pranešimai yra JSON eilutės, suformatuotos taip:

Įkėlimo metu paskelbiamas šis pranešimas:

Tai gali būti naudojama netikėtiems perkrovimams aptikti.

Įprasti pranešimai atrodo taip:

Galia vatais, įtampa voltais, srovė amperais, dažnis hercais, energija kilovatais ir temperatūra Celsijaus laipsniais.

Pranešimams tikrinti naudoju „mosquitto_sub“.

mosquitto_sub -h pagrindinio kompiuterio pavadinimas -t „Saulės/„ Omnik “-u vartotojas -P slaptažodis -p 1883 -v

Norėdami pamatyti rezultatus, žiūrėkite ekrano užsklandą. Visi pranešimai skelbiami, kai išlaikymo vėliava nustatyta į „true“.

Savo telefone naudoju programą, pavadintą „MQTT Dash“, ir įtraukiau ekrano atspaudą bei tai, ką reikia įvesti, kad būtų parodytas žalias maitinimo ratukas.

Rekomenduojamas: