ShIoTiny: ventilimi i një ambienteje të lagësht (projekt-shembull)

ShIoTiny: ventilimi i një ambienteje të lagësht (projekt-shembull)

Pikat kryesore ose për çfarë flet ky artikull

VazhdojmĂ« ciklin e artikujve mbi ShIoTiny — njĂ« kontrollues i programueshĂ«m vizual i bazuar nĂ« çipin ESP8266.

Në këtë artikull flitet me shembuj nga projekti i menaxhimit të ventilacionit në banjo ose në një dhomë tjetër me lagështirë të lartë për ndërtimin e programit për ShIoTiny.

Artikujt e mëparshëm të serisë.

ShIoTiny: automatizim i vogël, interneti i gjërave ose 'para pushimit për gjysmë viti'
ShIoTiny: nyjet, lidhjet dhe ngjarjet ose veçoritë e vizatimit të programeve

Linke

Firmware binar, diagrami i kontrolluesit dhe dokumentacioni
Udhëzimi dhe përshkrimi i nyjeve
Konfigurimi i brokerit MQTT cloudmqtt.com
Paneli i kontrollit MQTT dashboard për Android

Hyrje

Kuptimi jashtë përvojës nuk ekziston. Kjo është një e vërtetë e provuar nga koha dhe brezave. Prandaj nuk ka gjë më të mirë për të mësuar aftësi praktike se sa të përpiqesh të bësh diçka vetë. Dhe shembujt që tregojnë se çfarë mund të bëhet dhe çfarë nuk duhet provuar, do të vijnë siç duhet. Gabimet e të tjerëve, natyrisht, nuk do të mund të parandalojnë shfaqjen e gabimeve të tua, por mund të ndihmojnë në reduktimin e numrit të fundit.

Pyetjet dhe letrat e lexuesve nga artikujt e mëparshëm më nxitën të krijoj një projekt të vogël shembull për menaxhimin e ventilimit, për të treguar si funksionojnë njësitë ShIoTiny.

Ideja fillestare, mbi tĂ« cilĂ«n u ndĂ«rtua kontrolluesi ShIoTiny — njĂ« stacion pompimi dhe ujitjeje — nuk Ă«shtĂ« e pĂ«rshtatshme dhe interesante pĂ«r tĂ« gjithĂ«. Prandaj, kam marrĂ« njĂ« sistem tĂ« njohur dhe tĂ« dobishĂ«m tĂ« menaxhimit tĂ« ventilimit si shembull.

Të them se ideja e projektit nuk është e imja, por e kam marrë nga këtu dhe më pas e kam adaptuar për ShIoTiny.

Së pari, kupto çfarë do.

Procesi i pĂ«rmirĂ«simit Ă«shtĂ« i pafund. Dhe pikĂ«risht ky tipar ka shkatĂ«rruar shumĂ« ide dhe projekte tĂ« mira. Zhvilluesi, nĂ« vend qĂ« tĂ« lĂ«shonte njĂ« gjĂ«, ndonĂ«se jo tĂ« pĂ«rsosur, por funksionale — vazhdonte ta pĂ«rmirĂ«sonte. Dhe e pĂ«rmirĂ«sonte deri sa konkurruesit e kalonin, duke lĂ«shuar ndonjĂ«herĂ« zgjidhje qĂ« mund tĂ« mos ishin perfekte (dhe shpesh tĂ« qortueshme), por qĂ« funksiononin.

Prandaj është shumë e rëndësishme të dimë se ku të vendosim një pikë në projekt. Ose, në terma të tjerë, duhet të përcaktojmë se çfarë dëshirojmë të arrijmë në fund të projektit nga ajo që kemi në fillim. Në gjuhën shqipe, për dokumentin që përgatitet pikërisht me qëllimin për të përshkruar rrugën e krijimit të diçkaje, ka një fjalë të shkurtër dhe të qartë: 'plan', të cilën disa përkthyes të dobët dhe menaxherë të defektshëm e kanë titulluar për çudi 'hartë rrugore'. Po mirë, Zoti na ndihmoftë.

Plani ynë do të jetë si më poshtë. Le të supozojmë se ka një ambient, ku lagështia mund të rritet ndjeshëm nga koha në kohë. Për shembull, siç është një banjë apo kuzhinë. Lagështia është diçka e pakëndshme dhe mënyra për të luftuar me të është sa që është e vjetër: ajrosja e ambientit. Ka shumë mënyra për ajrosje. Por ne, ndoshta, do të hedhim poshtë mënyrat ekzotike dhe të vjetra siç janë afrikanët me fanelë dhe do të ndalemi te ventilatori i zakonshëm. Ventilatorët janë më të lirë dhe është më e lehtë t'i gjejmë në ato vende ku jetojmë.

Me një fjalë, ne duam të menaxhojmë ventilatorin: ta ndezim dhe, për rrjedhojë, ta fikim. Më saktë, duam që ai të ndizet dhe të fikej vetë kur është e nevojshme.

Duhet tĂ« pĂ«rcaktohet: nĂ«n cilat kushte ventilatori duhet tĂ« ndizet dhe nĂ«n cilat kushte — tĂ« fiket.

KĂ«tu gjithçka Ă«shtĂ« e qartĂ«: nĂ«se lagĂ«shtia Ă«shtĂ« mbi njĂ« kufi tĂ« caktuar — ventilatori ndizet dhe nxjerr ajrin; kur lagĂ«shtia kthehet nĂ« normale — ventilatori fiket.

Lexuesi i kujdesshëm menjëherë do të kapë fjalën «të caktuar». Nga kush i caktuar? Pse i caktuar?

Kufirin e lagĂ«shtisĂ« mund ta caktoni nĂ« disa mĂ«nyra. Ne do tĂ« shqyrtojmĂ« dy nga ato: e para — pĂ«rmes njĂ« rezistencĂ« variable dhe e dyta — pĂ«rmes rrjetit pĂ«rmes protokollit MQTT. Çdo njĂ«ra nga kĂ«to metoda ka avantazhe dhe disavantazhe, tĂ« cilat do tĂ« shqyrtohen mĂ« tej.

Për ata që nuk kuptuan, po shpjegoj se «lagështia kufitare» është niveli i lagështisë, mbi të cilin kërkohet ndezja e ventilatorit.

Pyetja e ardhshme: a t’i jepet pĂ«rdoruesit e drejta pĂ«r tĂ« aktivizuar ventilatorin drejtpĂ«rdrejt? Pra, pavarĂ«sisht nga niveli i lagĂ«shtisĂ«, me njĂ« klikim butoni? Ne do ta ofrojmĂ« kĂ«tĂ« mundĂ«si. Ventilatori mund tĂ« nevojitet jo vetĂ«m nĂ« rast tĂ« lagĂ«shtisĂ« sĂ« lartĂ«, por edhe pĂ«r tĂ« hequr nga dhoma, pĂ«r shembull, njĂ« erĂ« tĂ« pakĂ«ndshme, e njohur si «smirë».

Tani, ne kuptuam se çfarë duam dhe madje pak si do të funksionojë. Le të rendisim shkurtimisht të gjitha funksionet e sistemit tonë të menaxhimit të ventilacionit:

  • vendosja e kufirit tĂ« lagĂ«shtisĂ« (dy variante);
  • matja e nivelit tĂ« lagĂ«shtisĂ«;
  • aktivizimi automatik i ventilatorit;
  • çaktivizimi automatik i ventilatorit;
  • aktivizimi manual i ventilatorit (me njĂ« klikim butoni).

Pra, plani është i qartë. Ne kemi nevojë të realizojmë të gjitha funksionet e përmendura më sipër në programin tonë. Në bazë të këtij «plani» do të veprojmë. Fillimisht, do të çizojmë skemën strukturore të pajisjes.

Skema strukturore e pajisjes

Në të vërtetë, do të kemi dy skema. E para është për variantin ku niveli i lagështisë përcaktohet nga një rezistencë variable. Skema e dytë është për variantin ku niveli i lagështisë përcaktohet në rrjet përmes protokollit MQTT.

Por, pĂ«r shkak se kĂ«to skema do tĂ« ndryshojnĂ« vetĂ«m nĂ« njĂ« element — rezistorin variabĂ«l "pĂ«r cilĂ«simin e nivelit tĂ« lagĂ«shtisĂ«", do tĂ« vizatojmĂ« vetĂ«m njĂ« skemĂ« strukturale. Sigurisht, skema strukturale sipas GOST duket ndryshe. Por ne nuk po e orientojmĂ« veten te inxhinierĂ«t e nivelit tĂ« lartĂ«, por te brezi i ri. Prandaj, qartĂ«sia Ă«shtĂ« mĂ« e rĂ«ndĂ«sishme.

ShIoTiny: ventilimi i një ambienteje të lagësht (projekt-shembull)

Pra, çfarĂ« shohim nĂ« figurĂ«? Ventilatori Ă«shtĂ« i lidhur me rele Relay1 tĂ« kontrollit ShIoTiny. Dua tĂ« theksoj se ventilatori Ă«shtĂ« njĂ« pajisje qĂ« ndodhet nĂ«n tension tĂ« lartĂ«. Prandaj, nĂ«se ndokush do tĂ« bĂ«jĂ« diçka tĂ« tillĂ« vetĂ« — tregoni kujdes. DomethĂ«nĂ«, sĂ« paku, para se t'i fusni gishta ose pajisjet matĂ«se nĂ« skemĂ« — çaktivizoni pĂ«r tĂ« paktĂ«n ventilatorin. Dhe njĂ« vĂ«rejtje e dytĂ«. NĂ«se ventilatori juaj Ă«shtĂ« mĂ« i fuqishĂ«m se 250W, atĂ«herĂ« nuk duhet ta lidhni direkt me ShIoTiny por vetĂ«m nĂ«pĂ«rmjet njĂ« starteri.

E bëmë një zgjidhje me ventilatorin. Tani është butoni "ndezje manuale" për ventilatorin. Ai është i lidhur me hyrjen Input1. Këtu nuk ka më për të sqaruar.

Sensori pĂ«r temperaturĂ« dhe nivel lagĂ«shtie DHT-11 (ose DHT-22 apo ekuivalente tĂ« tij). PĂ«r lidhjen e tij Ă«shtĂ« paraparĂ« njĂ« hyrje speciale nĂ« kontrollues ShIoTiny. Siç shihet nĂ« figurĂ« — lidhja e kĂ«tij sensori gjithashtu nuk paraqet ndonjĂ« problem.

Dhe, pĂ«rfundimisht, njĂ« rezistencĂ« variable qĂ« pĂ«rcakton nivelin e lagĂ«shtisĂ«. MĂ« saktĂ«sisht — njĂ« ndarĂ«s, i pĂ«rbĂ«rĂ« nga rezistenca variable dhe tĂ« qĂ«ndrueshme. Nuk ka probleme me lidhjen e tij, por dua tĂ« sqaroj se ADC i integruar nĂ« ESP8266 Ă«shtĂ« i projektuar pĂ«r maksimum 1 Volt. Prandaj, Ă«shtĂ« e nevojshme njĂ« ndarĂ«s tensioni pĂ«rafĂ«rsisht 5 herĂ«.

Dhe një herë tjetër, dua të kujtoj se ky ndarës nuk është i nevojshëm nëse niveli i lagështisë përcaktohet me rrjet nëpërmjet protokollit MQTT.

Të fillojmë të hartojmë algoritmin e punës së pajisjes në redaktorin ElDraw ShIoTiny. Si të hyni në këtë redaktor, mund ta lexoni në artikujt e mëparshëm ose në udhëzimin, lidhja e të cilit është në fillim të artikullit.

Mënyra e parë, më e thjeshtë

Të fillojmë me të thjeshtën: aktivizimin e relës Relay1 kur niveli i lagështisë tejkalon ato pragu për një kohë të caktuar.

ShIoTiny: ventilimi i një ambienteje të lagësht (projekt-shembull)

Si e shohim, nuk ka asgjĂ« tĂ« komplikuar: vetĂ«m katĂ«r nyje, pa pĂ«rfshirĂ« nyjet e komenteve. DHT11 — Ă«shtĂ« sensor temperaturĂ« dhe lagĂ«shti (mund tĂ« zĂ«vendĂ«sohet me DHT22).

Konsistenca CONST — Ă«shtĂ« niveli i lagĂ«shtisĂ« kufi, nĂ« pĂ«rqindje.

Komparatori — njĂ« nyje qĂ« krahason dy numra dhe tregon 1 nĂ« daljen, nĂ«se kushti i caktuar pĂ«rmbushet dhe 0, nĂ«se kushti nuk pĂ«rmbushet.

NĂ« rastin tonĂ«, kushti i tillĂ« do tĂ« jetĂ« A>B, ku A — niveli i lagĂ«shtisĂ« i matur nga sensori, dhe B — niveli kufi i lagĂ«shtisĂ« sĂ« njĂ«jtĂ«.

Sa herë niveli i lagështisë së matur (A) kalon nivelin e lagështisë kufi (B), menjëherë në daljen e komparatorit A>B do të shfaqet 1 dhe releja do të ndizet. Dhe anasjelltas, sa herë niveli i lagështisë kthehet në normal (në kuptimin që A<=B), menjëherë në daljen e komparatorit A>B do të shfaqet 0 dhe releja do të fiket.

A Ă«shtĂ« e qartĂ«? PĂ«r ata qĂ« nuk e kuptojnĂ« mirĂ« — lexoni pĂ«rsĂ«ri ose shikoni pĂ«rshkrimin e funksionimit tĂ« nyjeve nĂ« manual.

Dua të theksoj se të dhënat nga sensori DHT11 refreshohen rreth një herë në 10 sekonda. Prandaj, releja nuk do të mund të ndizet dhe të fiket më shpesh se një herë në 10 sekonda.

Një gjë e tillë është në rregull, por ne do të donim të caktuarim nivelin e lagështisë kufi me anë të një rezistori të ndryshueshëm. Nuk ka asgjë më të lehtë!

ShIoTiny: ventilimi i një ambienteje të lagësht (projekt-shembull)

Thjesht do të zëvendësojmë nyjën-konsistente me nyjën ADC. Sepse pikërisht me ADC ne e lidhëm ndarësin e tensionit me një rezistor të ndryshueshëm.

Tensjoni në hyrje të ADC ndryshon nga 0 deri në 1 Volt. Ndërsa lagështia në daljen e sensorit ndryshon nga 0 deri në 100%. Si i krahasojmë ne këto? E thahet, është shumë e thjeshtë. Njësia ADC në ShIoTiny nuk mat vetëm tensionin në hyrje, por gjithashtu e di ta shkallëzojë dhe ta zhvendosë..

Do të thotë, në daljen e njësisë ADC1 (ADC) do të ketë vlerën X, e llogaritur sipas formulës

ShIoTiny: ventilimi i një ambienteje të lagësht (projekt-shembull)

, ku ShIoTiny: ventilimi i njĂ« ambienteje tĂ« lagĂ«sht (projekt-shembull) — tensioni nĂ« hyrje tĂ« ADC (nga 0 deri nĂ« 1V); k — gama (ADC range) dhe b-zhvendosja (ADC offset). Prandaj, nĂ«se caktojmĂ« k=100 dhe b=0, atĂ«herĂ« teksa ndryshon ShIoTiny: ventilimi i njĂ« ambienteje tĂ« lagĂ«sht (projekt-shembull) nĂ« gamĂ«n nga 0 deri nĂ« 1, vlera X nĂ« daljen e njĂ«sisĂ« ADC do tĂ« ndryshojĂ« nĂ« gamĂ«n nga 0 deri nĂ« 100. Pra, numerikisht e barabartĂ« me gamĂ«n e ndryshimit tĂ« lagĂ«shtisĂ« nga 0 deri nĂ« 100%.

Ose, nĂ« mĂ«nyrĂ« tĂ« thjeshtĂ«, duke rrotulluar motorin e rezistorit tĂ« ndryshueshĂ«m, mund tĂ« caktojmĂ« nivelin kufizues tĂ« lagĂ«shtisĂ« nga 0 deri nĂ« 100. E vetmja pak rethanĂ« Ă«shtĂ« se nuk ka asnjĂ« pajisje shfaqjeje. Por nĂ« praktikĂ«, nĂ«se motorit tĂ« rezistorit tĂ« ndryshueshĂ«m i bĂ«jmĂ« 6 ndarje 0%, 20%, 40%, 60%, 80%, 100%) — kjo mjafton pĂ«r tĂ« vendosur nivelin kufizues tĂ« lagĂ«shtisĂ«.

Si tĂ« vendosim koeficientĂ«t k — gama (ADC range) dhe b-shkak (ADC offset)? Po, kaq e thjeshtĂ«! TĂ« tregoni me mouse nĂ« nyje ADC1 dhe menjĂ«herĂ« do t'ju shfaqet njĂ« dritare konfigurimi. NĂ« tĂ« mund tĂ« vendosni gjithçka qĂ« ju nevojitet. NĂ« rastin tonĂ«, kjo do tĂ« jetĂ« njĂ« dritare si nĂ« ilustrim.

ShIoTiny: ventilimi i një ambienteje të lagësht (projekt-shembull)

Pra, ne kemi një zgjidhje të thjeshtë funksionale. Të fillojmë ta përmirësojmë atë.
Dhe, për t'u thënë ndryshe, zgjidhja e thjeshtë ka një avantazh - nuk ka nevojë për internet. Ajo është plotësisht autonome.

Varianti i dytë, lidhim butonin

Të gjitha funksionon dhe të gjithë janë të lumtur. Por ja ku është problemi, nuk mund ta aktivizojmë ventilimin me forcë. Ne tashmë u pajtuam që te hyra Input1 do të kemi një buton të lidhur, i cili do të aktivizojë dhe çaktivizojë ventilatorin me forcë, pa marrë parasysh sensorin e lagështisë.
Ka ardhur koha për të përpunuar këtë buton në skemën-tona.

ShIoTiny: ventilimi i një ambienteje të lagësht (projekt-shembull)

Blloku i përpunimit të shtypjes së butonit është i shquar me një vijë portokalli. Ai përfaqëson një numërues të shtypjeve të butonit, i cili reseton në zero kur vlera në daljen e tij kalon një (vija e gjelbër, dalja e nyjës CT).

Të gjitha funksionon këtu po aq e thjeshtë sa më parë: numëruesi CT numëron shtypjet e butonit të lidhur me hyrjen Input1. Pra mund të thuhet se vlera në daljen e këtij numëratori rritet me 1 me çdo shtypje butoni.

Sa herë që kjo vlerë bëhet e barabartë me dy (domethënë më shumë se 1), menjëherë në daljen e krahasuesit A>B do të shfaqet 1. Dhe ky 1 do ta rikthejë numëratorin CT në zero. Këtu flasim për krahasuesin, atë të poshtëm në skemë!

KĂ«shtu, butoni ynĂ« ka dy gjendje — 0 dhe 1. NĂ«se do na duhej mĂ« shumĂ« gjendje (3 ose 4 ose akoma mĂ« shumĂ«) — do mjaftonte tĂ« ndryshonim konstantĂ«n CONST nga njĂ« nĂ« njĂ« vlerĂ« tjetĂ«r.

Pra, kemi dy kushte për aktivizimin e ventilatorit: kalimi i nivelit të caktuar të lagështisë dhe shtypja e një herëshme e butonit. Kurdo që përmbushet një nga kushtet, ventilatori do të ndizet. Dhe do të punojë derisa të shtypet përsëri butoni DHE në mënyrë që niveli i lagështisë të kthehet në normal.

Natyrisht, mund tĂ« komplikohet akoma mĂ« shumĂ« algoritmi, por nuk do ta bĂ«jmĂ« kĂ«tĂ« — do ta lĂ«mĂ« hapĂ«sirĂ« pĂ«r krijuesit e dĂ«shirueshĂ«m.

Opsioni i tretë, lidhemi me internetin

E gjithë çka që përmendëm është plotësisht funksionale. Por, si do të ishte me stilin? Cdo haker hipster me akne do të qeshë me atë që rrotullon një dorë dhe shtyp një buton, në vend që ta menaxhojë nga telefoni! Të rrotullosh një dorë është 'jashtë modës'. Por të lëvizësh gishtin në ekranin e telefonit, duke e shkruar atë derisa të bëhet gjak, është kulmi i dëshirave të hacker hipster-it (nuk mund të dalloj të gjithë ata - ndjesë nëse gabova).

Por le të jemi të kuptueshëm për këta individë. Menaxhimi përmes internetit ka dhe avantazhe reale. E para, është vizibiliteti. Ka shumë aplikacione për të gjitha platformat që lejojnë me disa klikime të krijosh një panel menaxhimi të përmirësuar për kontrollin tonë. E dyta, kjo ofron mundësinë për të vëzhguar në distancë nivelin e lagështisë në ambient. Dhe e treta, mund të shohim jo vetëm nëse ventilatori është duke u lëvizur apo jo, por edhe cilat janë nivelet e lagështisë të caktuar. Po ashtu, nëse ventilatori është aktivizuar automatikisht ose manual. Në përgjithësi, gjithçka që dëshiron.

Sigurisht, është shumë për një ventilator për të marrë kaq shumë vëmendje. Por ky është vetëm një shembull.

Pra, për t'u lidhur me internetin do të përdorim teknologjinë MQTT dhe protokollin e njëjtë.
Për të përdorur këtë teknologji, na nevojitet MQTT-broker. Ky është një server i veçantë, i cili shërben për MQTT-klientët, për shembull ShIoTIny dhe smartphone-in tuaj.

Thelbi i teknologjisë MQTT qëndron në faktin se çdo klient publikon në MQTT-broker (server) të dhëna të rastësishme nën një emër të caktuar (të quajtur temë në terminologjinë MQTT). Klientët e tjerë mund të subscribojnë për të dhëna të rastësishme sipas emrit të tyre (temë) dhe të marrin të dhëna të sapo-publikuara. Kështu, e gjithë shkëmbimi i të dhënave ndodh sipas parimit klient-broker-klient.

Unë nuk do të theksoj detajet. Në internet ka shumë artikuj dhe leksione rreth mënyrës se si funksionon MQTT dhe cilat janë programet për krijimin e paneleve të kontrollit. Thjesht do të tregoj se si të marrim dhe publikojmë të dhëna përmes ShIoTiny.

Si broker kam përdorur www.cloudmqtt.com, por principet janë të njëjta kudo.

Prandaj, le tĂ« supozojmĂ« se jeni regjistruar te MQTT-broker. NĂ« pĂ«rgjithĂ«si, brokeri do t'ju japĂ« (ose do tĂ« kĂ«rkojĂ« tĂ« shpikni) emrin e pĂ«rdoruesit dhe fjalĂ«kalimin (pĂ«r autorizim), si dhe portin pĂ«r lidhje. Lidhni ShIoTiny pĂ«r me MQTT-brokerin mundomĂ« dy mĂ«nyra — lidhje e zakonshme dhe pĂ«r TLS (SSL).

Të gjitha këto parametra në ShIoTiny në tabin Rrjetëzimi, seksioni MQTT Lidhja me serverin.

ShIoTiny: ventilimi i një ambienteje të lagësht (projekt-shembull)

NĂ«se tuaj MQTT-broker nuk kĂ«rkon autorizim — mos e vendosni emrin e pĂ«rdoruesit dhe fjalĂ«kalimin (lĂ«rini kĂ«to fusha tĂ« zbrazĂ«ta).

Parametri Parapha MQTT kërkon një shpjegim të veçantë.

Parapha e parametrave MQTT — Ă«shtĂ« njĂ« varg qĂ« shtohet pĂ«r emrin e temĂ«s (temĂ«) gjatĂ« publikimit dhe abonimit nĂ« brokerin MQTT. PĂ«r tĂ« vendosur paraphĂ«n MQTT pĂ«r kontrolerin tuaj, thjesht duhet ta shkruani nĂ« fushĂ«n e hyrjes "Parapha e temĂ«s MQTT» («Parapha MQTT". Parapha gjithmonĂ« fillon me njĂ« slash («/»)! NĂ«se nuk e vendosni slash-in nĂ« fushĂ«n e hyrjes — ai do tĂ« shtohet automatikisht. NĂ« paraphĂ« nuk lejohet pĂ«rdorimi i simboleve «#» dhe «+». Nuk ka kufizime tĂ« tjera.

Për shembull, nëse po publikoni parametrin "status" (ose po abonoheni në të), dhe parapha juaj është caktuar si "/shiotiny/", atëherë në brokerin ky parametër do të publikohet nën emrin "/shiotiny/status". Nëse keni caktuar një paraphë të zbrazët, të gjitha parametrat në broker do të fillojnë me një slash («/»): «status" do të publikohet si "/status».

Pra, le të konsiderojmë se keni regjistruar në MQTT-broker dhe keni marrë emrin, fjalëkalimin dhe portin. Më pas, keni hyrë këta parametra në tabin Rrjetëzimi, seksioni MQTT Lidhja me serverin të kontrollit ShIoTiny.

Le të supozojmë se parapha është vendosur në vlerën "/room/».

Le të fillojmë me publikimin e statusit të të gjitha parametrave kyç: rele Realay1, statusin e aktivizimit manual, statusin e aktivizimit automatik dhe, në fund, nivelet e pragut dhe aktuale të lagështirës. Dhe si bonus - temperaturën në ambient. Si ta bëjmë këtë, shihni në figurë.

ShIoTiny: ventilimi i një ambienteje të lagësht (projekt-shembull)

Siç shohim, ndryshimi nga varianti i mëparshëm është vetëm nodet "MQTT Publish". Duke marrë parasysh prefiksin, publikohen parametrat e mëposhtëm:
ShIoTiny: ventilimi i një ambienteje të lagësht (projekt-shembull)

Siç shohim, gjithë statusi i sistemit është në dorë tonë!

Por ne duam jo vetĂ«m tĂ« shohim, por edhe tĂ« menaxhojmĂ«. ÇfarĂ« tĂ« bĂ«jmĂ«? ShumĂ« thjesht. Ne do ta heqim vendosjen e nivelit tĂ« pragut tĂ« lagĂ«shtirĂ«s me ndihmĂ«n e ADC dhe njĂ« rezistor tĂ« ndryshueshĂ«m dhe do tĂ« caktosh kĂ«tĂ« nivel prag tĂ« lagĂ«shtirĂ«s pĂ«r MQTT drejt nga smartphone-i!

ShIoTiny: ventilimi i një ambienteje të lagësht (projekt-shembull)

Heqim nodin ADC nga skema dhe vendosim aty tre nodet e reja: FLASH store, FLASH restore dhe MQTT describe.

Funksioni i nodit MQTT describe është i qartë: ai merr parametrin /room/trigHset (niveli i pragut të lagështirës) nga brokeri MQTT. Por çfarë bën ai me të dhënat më pas? Thjesht i dërgon atyre nodit FLASH store, i cili, nga ana e tij, i ruan këto të dhëna në memorjen e përhershme nën emrin trigH. Pas kësaj, nodi FLASH restore lexon nga memoria e përhershme të dhënat nën emrin trigH dhe çfarë ndodh më pas e dimë tashmë.

Pse këto komplikime? Pse nuk mund të jepen menjëherë të dhënat e marra në hyrje të krahasuesit?

Siç thoshte shoku Sh. Holmes — kjo Ă«shtĂ« elementare! AsnjĂ« nuk garanton qĂ« pas ndezjes sĂ« pajisjes tuaj, ajo do tĂ« lidhet me me MQTT-brokerin. Dhe ndihmĂ«sja e lagĂ«shtisĂ« duhet matur. Po ashtu, duhet tĂ« ndezim ventilatorin. Por pa informacion mbi nivelin prag tĂ« lagĂ«shtisĂ«, kjo Ă«shtĂ« e pamundur! Prandaj, pajisja jonĂ«, kur ndizet, nxjerr nivelin prag tĂ« lagĂ«shtisĂ« tĂ« ruajtur mĂ« parĂ« nga kujtesa jo e varur nga energjia dhe e pĂ«rdor atĂ« pĂ«r tĂ« marrĂ« vendime. NdĂ«rsa kur tĂ« ngarkohet lidhja me brokerin MQTT dhe dikush tĂ« publikojĂ« njĂ« vlerĂ« tĂ« re /room/trigHset, atĂ«herĂ« do tĂ« pĂ«rdoret kjo vlerĂ« e re.

Më pas, mund të imagjinoni çfarëdo. Për shembull, përveç lagështisë, të regjistroni edhe temperaturën. Ose të shtoni një menaxhim "inteligjent" të ndriçimit (na kanë mbetur dy rele dhe dy hyrje të papërdorura). Të gjitha janë në duar tuaja!

Përfundimi

Ja, kemi shqyrtuar disa shembuj të realizimit të një kontrollisi të thjeshtë në thelb mbi bazën e ShIoTiny. Ndoshta kjo do të jetë e dobishme për dikë.

Si gjithmonë, propozime, dëshira, pyetje, gabime dhe të tjera - në email: shiotiny@yandex.ru

Burimi: habr.com

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