Lytko bashkon

Pak një kohë më parë, ne ju paraqitëm termostatin e mençur. Artikulli aktual është menduar fillimisht si një demonstrim i firmware dhe sistemit të menaxhimit të tij. Por për të shpjeguar logjikën e punës së termostatit dhe atë që kemi realizuar, është e nevojshme të përshkruajmë gjithashtu tërë konceptin në përgjithësi.

Lytko bashkon

Rreth automatizimit

Në mënyrë të thjeshtë, gjithë automatizimi mund të ndahet në tri kategori:
Kategoria 1 — pajisje “tĂ« mençura” tĂ« veçanta. Ju bleni llamba, kĂ«netĂ« etj. nga prodhues tĂ« ndryshĂ«m. Avantazhet: çdo pajisje zgjeron mundĂ«sitĂ« dhe rrit komoditetin. Disavantazhet: pĂ«r çdo prodhues tĂ« ri nevojitet aplikacioni i tij. Protokollat e pajisjeve nga prodhues tĂ« ndryshĂ«m shpesh nuk janĂ« tĂ« pĂ«rputhshme me njĂ«ri-tjetrin.

Kategoria 2 — instalimi i njĂ« PC me njĂ« kartelĂ« ose i pajtueshĂ«m me x86. Kjo e heq kufizimin e fuqisĂ« procesoru, dhe nĂ« kĂ«tĂ« makinĂ« instalohet MajorDoMo ose çfarĂ«do shpĂ«rndarje serveri tjetĂ«r pĂ«r menaxhimin e shtĂ«pisĂ« inteligjente. NĂ« kĂ«tĂ« mĂ«nyrĂ«, pajisjet e shumicĂ«s sĂ« prodhuesve ndĂ«rlidhen nĂ« njĂ« hapĂ«sirĂ« informacioni tĂ« pĂ«rbashkĂ«t. KĂ«shtu, shfaqet njĂ« Server pĂ«r shtĂ«pinĂ« inteligjente. Avantazhet: pĂ«rputhshmĂ«ria nĂ«n njĂ« qendĂ«r tĂ« vetme, e cila ofron mundĂ«si tĂ« zgjeruara pĂ«r menaxhim. Disavantazhet: nĂ« rast tĂ« prishjes/kolapsit tĂ« serverit e gjithĂ« sistemi kthehet nĂ« fazĂ«n 1, dmth bĂ«het e shpĂ«rndarĂ«, ose bĂ«het e pa dobishme.

Kategoria 3 — varianti mĂ« ekstrem. NĂ« fazĂ«n e riparimit parashikohen tĂ« gjitha komunikimet dhe janĂ« dubluar tĂ« gjithĂ« sistemet. Avantazhet: gjithçka dĂ«rgohet nĂ« ideal dhe atĂ«herĂ« shtĂ«pia bĂ«het vĂ«rtet e mençur. Disavantazhet: çmimi ekstremisht i lartĂ« krahasuar me kategoritĂ« 1 dhe 2, nevoja pĂ«r tĂ« parashikuar gjithçka nĂ« mĂ«nyrĂ« tĂ« avancuar dhe pĂ«r tĂ« marrĂ« parasysh çdo detaj.

Shumica e përdoruesve zgjedhin variantin e parë dhe më pas kalojnë ngadalë në variantin e dytë. Pastaj, ata më të qëndrushëm arrijnë variantin 3.

Por ekziston një variant, i cili mund të quhet sistem i shpërndarë: çdo pajisje e veçantë do të jetë njëkohësisht server dhe klient. Në thelb, kjo është një përpjekje për të marrë dhe për të bashkuar variantin 1 dhe variantin 2. Të merren të gjitha avantazhet e tyre dhe të përjashtohen disavantazhet, për të kapur një mesatare të artë.

Ndoshta dikush do të thotë se një variant i tillë është tashmë zhvilluar. Por këto zgjidhje janë të ngushta; për njerëzit që janë të njohur me programimin. Qëllimi ynë është të ulim pragun e hyrjes në këto sisteme të distribuuara, si në formën e pajisjeve përfundimtare, ashtu edhe në integrimin e pajisjeve ekzistuese në sistemin tonë. Në rastin e termostatit, përdoruesi thjesht heq termostatin e tij të vjetër, instalon një të zgjuar dhe lidh sensorët që ka me të. Pa asnjë veprim shtesë.

Le të shqyrtojmë integrimin në sistemin tonë me një shembull.

TĂ« imagjinojmĂ« se nĂ« rrjetin tonĂ« ka 8 module Sonoff. Disa pĂ«rdorues do tĂ« jenĂ« tĂ« mjaftueshĂ«m pĂ«r menaxhimin pĂ«rmes sistemit tĂ« re Sonoff (kategoria 1). Disa do tĂ« fillojnĂ« tĂ« pĂ«rdorin njĂ« firmware tĂ« tretĂ« dhe ngadalĂ« do tĂ« kalojnĂ« nĂ« kategorinĂ« 2. Shumica e firmware-ve tĂ« treta funksionojnĂ« sipas njĂ« parimi tĂ« njĂ«jtĂ«: transferimi i tĂ« dhĂ«nave nĂ« serverin MQTT. OpenHub, Majordomo ose çdo shĂ«rbim tjetĂ«r shĂ«rbejnĂ« pĂ«r njĂ« qĂ«llim – tĂ« bashkojnĂ« pajisjet e shpĂ«rndara nĂ« njĂ« hapĂ«sirĂ« informative tĂ« vetme, e cila ndodhet ose nĂ« Internet, ose nĂ« njĂ« rrjet lokal. Pra, pranimi i njĂ« Serveri Ă«shtĂ« i detyrueshĂ«m. KĂ«shtu, ndodh problemi kryesor – nĂ« rast tĂ« dĂ«shtimit tĂ« Serverit, e gjithĂ« sistemi ndalon sĂ« funksionuari autonomisht. PĂ«r tĂ« parandaluar kĂ«tĂ«, sistemet komplikohet, metodo tĂ« dorĂ«s shtohen, tĂ« cilat dyfishojnĂ« automatizimin nĂ« rast dĂ«shtimi tĂ« Serverit.

Ne shkuam në një rrugë tjetër, ku çdo pajisje është e vetë-mjaftueshme. Kështu, Serveri nuk ka një rol vendimtar, por thjesht zgjeron funksionalitetin.

Tema e eksperimenteve mendore. Le tĂ« marrĂ« pĂ«rsĂ«ri ato 8 module Sonoff dhe tĂ« instalojmĂ« firmware-n Lytko. NĂ« tĂ« gjitha firmware-t Lytko Ă«shtĂ« implementuar funksioni SSDP. SSDP – njĂ« protocol rrjetor, i bazuar nĂ« njĂ« grup protokolesh tĂ« Internetit, i cili shĂ«rben pĂ«r shpalljen dhe zbulimin e shĂ«rbimeve rrjetore. PĂ«rgjigjja ndaj kĂ«rkesĂ«s mund tĂ« jetĂ« standarde ose e zgjeruar. Ne kemi pĂ«rfshirĂ« nĂ« kĂ«tĂ« pĂ«rgjigje pĂ«rveç funksioneve standarde krijimin e njĂ« liste tĂ« pajisjeve nĂ« rrjet. KĂ«shtu, pajisjet e gjejnĂ« njĂ«ra-tjetrĂ«n, dhe çdo njĂ« prej tyre do tĂ« ketĂ« njĂ« listĂ« tĂ« tillĂ«. Shembulli i listĂ«s SSDP:

"ssdpList": 
	{
		"id": 94967291,  
		"ip": "192.168.x.x",
                "type": "thermostat"
	}, 
	{
		"id": 94967282,
		"ip": "192.168.x.x",
                "type": "thermostat"
	}

Si e duket nga shembulli, lista pĂ«rfshin identifikuesit e pajisjeve, adresĂ«n IP nĂ« rrjet, llojin e bllokut (nĂ« rastin tonĂ« — termostati me bazĂ« Sonoff). Kjo listĂ« pĂ«rditĂ«sohet njĂ«herĂ« çdo dy minuta (kĂ«to intervale janĂ« tĂ« mjaftueshme pĂ«r t'u pĂ«rgjigjur ndaj ndryshimeve dinamike nĂ« numrin e pajisjeve nĂ« rrjet). KĂ«shtu, ne ndjekim shtimin, ndryshimin dhe çaktivizimin e pajisjeve pa ndonjĂ« veprim nga ana e pĂ«rdoruesit. Kjo listĂ« dĂ«rgohet nĂ« shfletuesin ose aplikacionin mobil, dhe skripta e formon vetĂ« faqen me numrin e pĂ«rcaktuar tĂ« blloqeve. Çdo bllok i pĂ«rgjigjet njĂ« pajisjeje/sensori/kontrolluesi. Vizualisht, lista duket kĂ«shtu:

Lytko bashkon

Por nëse esp8266/esp32 janë të lidhura me sensore të tjerë radio përmes cc2530 (ZigBee) ose nrf24 (MySensors)?

Për projektet

Në treg ekzistojnë sisteme të ndryshme të shpërndara. Sistemi ynë lejon integrimin me sistemet më të njohura.

Më poshtë janë projekte që përpiqen të ndryshojnë situatën me papajtueshmërinë midis prodhuesve të ndryshëm. Këto janë, për shembull, SLS Gateway, MySensors ose ZESP32. ZigBee2MQTT i lidhur me serverin MQTT, prandaj nuk i përshtatet shembullit.

Një nga opsionet për zbatimin e MySensors është një gateway e bazuar në ESP8266. Të tjerat janë mbi ESP32. Në to mund të integrohet principi ynë për zbulimin dhe krijimin e listës së pajisjeve.

Le tĂ« kryejmĂ« njĂ« eksperiment tjetĂ«r imagjinues. Kemi njĂ« gateway ZESP32 ose SLS Gateway, ose MySensors. Si mund t’i bashkojmĂ« ata nĂ« njĂ« hapĂ«sirĂ« informative tĂ« vetme? BĂ«jmĂ« hapĂ«sirĂ« pĂ«r funksionet standarde tĂ« kĂ«tyre gateway-ve duke shtuar bibliotekĂ«n e protokollit SSDP. Kur adresohet ky kontrollues pĂ«rmes SSDP, ai do tĂ« shtojĂ« nĂ« pĂ«rgjigjen standarde njĂ« listĂ« pajisjesh qĂ« janĂ« tĂ« lidhura me tĂ«. NĂ« bazĂ« tĂ« kĂ«saj informacioni, shfletuesi do tĂ« formojĂ« njĂ« faqe. NĂ« formĂ« tĂ« pĂ«rgjithshme, do tĂ« duket kĂ«shtu:

Lytko bashkon
Ndërfaqja Web

Lytko bashkon
Aplikacioni PWA

"ssdpList": 
{
   "id": 94967291, // identifikues unik i pajisjes
   "ip": "192.168.x.x", // adresa ip në rrjet
   "type": "thermostat" // lloji i pajisjes
},
{
   "id": 94967292,
   "ip": "192.168.x.x",
   "type": "thermostat"
},
{
   "id": 94967293,
   "ip": "192.168.x.x",
   "type": "thermostat"
},
{
   "id": 13587532,
   "type": "switch"
},
{
   "id": 98412557,
   "type": "smoke"
},
{
   "id": 57995113,
   "type": "contact_sensor"
},
{
   "id": 74123668,
   "type": "temperature_humidity_pressure_sensor"
},
{
   "id": 74621883,
   "type": "temperature_humidity_sensor"
}

Nga shembulli duket se pajisjet shtohen ndaras nga njëra-tjetra. Janë të lidhura 3 termostatë me adresa IP të veçanta dhe 5 sensora të ndryshëm me identitete unike. Nëse sensori është i lidhur me rrjetin Wi-Fi, ai do të ketë IP-në e tij, nëse është i lidhur me portën, atëherë adresa IP e pajisjes do të jetë adresa IP e portës.

Për komunikimin me pajisjet përdorim WebSocket. Kjo lejon të minimizojmë kostot e burimeve në krahasim me kërkesat GET dhe të marrim informacion në mënyrë dinamike gjatë lidhjes ose ndryshimit.

Të dhënat merren drejtpërdrejt nga pajisja e cila i përket bllokut, duke anashkaluar serverin. Si rezultat, në rast dështimi të ndonjë prej pajisjeve sistemi vazhdon të funksionojë. Në ndërfaqen web, thjesht nuk shfaqet pajisja që ka humbur nga lista. Por sinjali për humbjen, nëse është e nevojshme, do të vijë në formë njoftimi në aplikacionin e përdoruesit.

Përpjekja e parë për të realizuar një qasje të tillë ishte aplikacioni PWA. Kjo lejon ruajtjen e bazës së bllokut në pajisjen e përdoruesit dhe kërkimin e vetëm të dhënave të nevojshme. Por për shkak të veçorive të strukturës, ky variant është i paplotë. Dhe zgjidhja është një aplikacion natyral për Android dhe iOS, i cili tani është në zhvillim aktiv. Sipas parimit, aplikacioni do të punojë vetëm në rrjetin e brendshëm. Nëse është e nevojshme, gjithçka mund të kalojë në menaxhim të jashtëm. Kështu, kur përdoruesi largohet nga rrjeti lokal, aplikacioni automatikisht kalon në cloud.

Menaxhimi i jashtĂ«m — njĂ« kopje e plotĂ« e faqes. Kur aktivizohet faqja, pĂ«rdoruesi mund tĂ« kyçet nĂ« server dhe tĂ« menaxhojĂ« pajisjet pĂ«rmes kabinetit personal. KĂ«shtu, serveri zgjeron funksionalitetin, duke lejuar menaxhimin e pajisjeve nga jashtĂ« shtĂ«pisĂ« dhe pa qenĂ« i lidhur me pĂ«rcjelljen e porteve ose IP tĂ« dedikuar.

Kështu, varianti i përshkruar më sipër është i lirë nga disavantazhet e qasjes serverike dhe ka një numër avantazhesh në formë fleksibiliteti të lidhjes së pajisjeve të reja.

Për termostatin

Le të shqyrtojmë sistemin e menaxhimit duke marrë si shembull termostatin tonë.

Parashikohet:

  1. Rregullimi i temperaturës për çdo termostat (shfaqet në formën e një blloku të veçantë);
  2. Cakto orarin e punës së termostatit (mëngjes, ditë, mbrëmje, natë);
  3. Zgjedhja e rrjetit Wi-Fi dhe lidhja e pajisjes me të;
  4. Përditësimi i pajisjes 'në ajër';
  5. Cakto MQTT;
  6. Konfigurimi i rrjetit, të cilit i është lidhur pajisja.

Lytko bashkon

PĂ«rveç menaxhimit pĂ«rmes ndĂ«rfaqes web, ofrohet edhe ajo tradicionale — me prekjen e ekranit. NĂ« bord ndodhet monitori Nextion NX3224T024 prej 2.4 inç. Zgjedhja ra mbi kĂ«tĂ« pĂ«r shkak tĂ« lehtĂ«sisĂ« sĂ« punĂ«s me pajisjen. Por Ă«shtĂ« nĂ« zhvillim njĂ« monitor i ri mbi bazĂ«n e STM32. Funksionaliteti i tij nuk Ă«shtĂ« aspak mĂ« i dobĂ«t se ai i Nextion, por do tĂ« kushtojĂ« mĂ« lirĂ«, qĂ« do tĂ« ndikojĂ« pozitivisht nĂ« çmimin pĂ«rfundimtar tĂ« pajisjes.

Lytko bashkon

Si çdo ekran termostati që respekton vetveten, Nextion ynë di:

  • tĂ« vendosĂ« temperaturĂ«n e nevojshme pĂ«r pĂ«rdoruesin (me butona nĂ« tĂ« djathtĂ«);
  • tĂ« aktivizojĂ« dhe çaktivizojĂ« modalitetin e punĂ«s sipas orarit (butoni H);
  • tĂ« tregojĂ« punĂ«n e releve (shigjeta nĂ« tĂ« majtĂ«);
  • tĂ« ketĂ« mbrojtje nga fĂ«mijĂ«t (pengohen prekjet fizike, derisa çelĂ«si tĂ« jetĂ« hequr);
  • tĂ« tregojĂ« nivelin e sinjalit WiFi.

Përveç kësaj, me ndihmën e monitorit mund të:

  • zgjidhni tipin e sensorit tĂ« instaluar nga pĂ«rdoruesi;
  • menaxhoni funksionin e mbrojtjes nga fĂ«mijĂ«t;
  • pĂ«rditĂ«soni firmware-in.

Lytko bashkon

Me klikimin mbi barin WiFi, përdoruesi merr informacion për rrjetin e lidhur. Kodi QR përdoret për lidhjen e pajisjes në firmware-in e HomeKit.

Lytko bashkon

Demo e punës me ekranin:

Lytko bashkon

Ne zhvilluam një faqe demo me tre termostata të lidhur.

Do tĂ« pyesni: “Cila Ă«shtĂ« veçoria e termostatit tuaj?” Tani nĂ« treg ka shumĂ« termostata me funksion Wi-Fi, punĂ« sipas orarit, menaxhim me prekje. Dhe entuziastĂ«t kanĂ« shkruar module pĂ«r ndĂ«rveprimin me shumicĂ«n e sistemeve tĂ« njohura tĂ« shtĂ«pisĂ« inteligjente (Majordomo, HomeAssistant etj.).

Termostati ynë është kompatibil me këto sisteme dhe ka të gjitha funksionet e lartpërmendura. Por veçoria e dallueshme është se termostati përmirësohet vazhdimisht, falë fleksibilitetit të sistemit. Me çdo përditësim, funksionaliteti do të zgjerohet. Në mënyrën standard të menaxhimit të sistemit (sipër orarit), ne do të shtojmë një menaxhim adaptiv. Aplikacioni lejon marrjen e gjeolokacionit të përdoruesit. Falë kësaj, sistemi do të ndryshojë dinamikisht modalitetet e punës në varësi të vendndodhjes së tij. Dhe moduli i motit do të lejojë përshtatjen me kushtet atmosferike.

Dhe shkallĂ«zimi. Çdokush qĂ« dĂ«shiron mund tĂ« zĂ«vendĂ«sojĂ« termostatit tĂ« tij tĂ« zakonshĂ«m me tonin. Me pĂ«rpjekje minimale. Ne zgjodhĂ«m 5 sensorĂ«t mĂ« tĂ« njohur tĂ« disponueshĂ«m nĂ« treg dhe i shtuam mbĂ«shtetje. Por edhe nĂ« rast karakteristikash ekskluzive tĂ« sensorit, pĂ«rdoruesi mund ta lidha atĂ« me termostatit tonĂ«. PĂ«r kĂ«tĂ« do tĂ« nevojitet tĂ« kalibrohet termostatit pĂ«r tĂ« punuar me sensorin specifik. Ne do tĂ« ofrojmĂ« udhĂ«zime.

Duke lidhur termostatit ose çdo pajisje tjetër, ajo shfaqet automatikisht kudo: dhe në ndërfaqen web dhe në aplikacionin PWA. Shtimi i pajisjes ndodh automatikisht: mjafton ta lidha atë me rrjetin Wi-Fi.

Sistemi ynĂ« nuk kĂ«rkon njĂ« Server, dhe nĂ« rast tĂ« dĂ«shtimit tĂ« tij nuk shndĂ«rrohet nĂ« njĂ« pumpkin. Edhe nĂ« rast tĂ« dĂ«shtimit tĂ« njĂ«rit nga komponentĂ«t, sistemi nuk fillon tĂ« punojĂ« sipas njĂ« skenari emergjent. KontrollorĂ«t, sensorĂ«t, pajisjet — çdo element Ă«shtĂ« njĂ«kohĂ«sisht Server dhe klient, prandaj Ă«shtĂ« plotĂ«sisht autonom.

PĂ«r ata tĂ« interesuar — rrjetet tona sociale: Telegram, Instagram, Telegram News, VK, Facebook.

Posta: shop@lytko.com

P. S. ne nuk inkurajojmë heqjen dorë nga Serveri. Ne gjithashtu kemi mbështetje për serverin MQTT dhe kemi cloud tonin. Qëllimi ynë është të çojmë stabilitetin dhe besueshmërinë e sistemit në një nivel cilësor të ri. Që Serveri të mos jetë pika e dobët, por të plotësojë funksionalitetin dhe ta bëjë sistemin më të përshtatshëm.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster