
Pikat kryesore ose për çfarë është ky artikull
Po vazhdojmĂ« ciklin e artikujve rreth ShIoTiny â njĂ« kontrollues vizualisht programueshĂ«m i bazuar nĂ« çipin ESP8266.
Në këtë artikull flitet për shembullin e projektit të kontrollit të ventilacionit në tualet ose ndonjë dhomë tjetër me lagështi të lartë, dhe se si ndërtohet programi për ShIoTiny.
Artikujt e mëparshëm të serisë.
Linket
Hyrje
Nuk ka kuptim të kuptosh diçka pa përvojë. Kjo është një e vërtetë, e provuar në kohë dhe nga breza. Prandaj, nuk ka gjë më të mirë për të mësuar aftësi praktike sesa të provosh të bësh diçka vetë. Dhe shembujt që tregojnë se çfarë mund të bëhet dhe çfarë nuk duhet provuar do të jenë shumë të dobishëm këtu. Gabimet e të tjerëve, sigurisht, nuk do të parandalojnë shfaqjen e gabimeve tuaja, por mund të ndihmojnë në reduktimin e numrit të atyre të fundit.
Pyetjet dhe letrat e lexuesve të artikujve të mëparshëm më nxitën të bëj një projekt të vogël shembull për kontrollin e ventilacionit për të treguar se si funksionojnë njësitë ShIoTiny.
Ideja fillestare, mbi tĂ« cilĂ«n u krijua kontrolluesi ShIoTiny â njĂ« stacion pompimi dhe ujitjeje â nuk i pĂ«rshtatet tĂ« gjithĂ«ve dhe nuk Ă«shtĂ« interesante pĂ«r tĂ« gjithĂ«. Prandaj, unĂ« mora njĂ« sistem tĂ« njohur dhe shumĂ« tĂ« dobishĂ«m pĂ«r kontrollin e ventilacionit si shembull.
Do të them se ideja e projektit nuk është e imja, por dhe më pas e kam adaptuar për ShIoTiny.
Së pari kupto çfarë dëshiron
Procesi i pĂ«rmirĂ«simit Ă«shtĂ« i pafund. Dhe kĂ«tĂ« cilĂ«si e ka shkatĂ«rruar njĂ« numĂ«r tĂ« madh idesh dhe projektesh tĂ« mira. Zhvilluesi, nĂ« vend qĂ« tĂ« lĂ«shojĂ« njĂ« gjĂ« ndoshta jo tĂ« pĂ«rkryer, por funksionale â vazhdonte ta pĂ«rmirĂ«sonte. Dhe e pĂ«rmirĂ«sonte deri sa konkurrentĂ«t e kalonin, duke lĂ«shuar ndoshta jo tĂ« pĂ«rsosur (shpesh edhe tĂ« tmerrshme), por njĂ« zgjidhje qĂ« funksionon.
Prandaj, Ă«shtĂ« shumĂ« e rĂ«ndĂ«sishme tĂ« dish â ku tĂ« vendosĂ«sh njĂ« pikĂ« nĂ« projekt. Ose, me fjalĂ« tĂ« tjera, duhet tĂ« pĂ«rcaktojmĂ« çfarĂ« dĂ«shirojmĂ« tĂ« arrijmĂ« nĂ« fund tĂ« projektit nga ajo qĂ« kemi nĂ« fillim. NĂ« gjuhĂ«n ruse pĂ«r dokumentin qĂ« pĂ«rpilohet me qĂ«llim pĂ«r tĂ« pĂ«rshkruar mĂ«nyrĂ«n e krijimit tĂ« diçkaje, ekziston njĂ« fjalĂ« e shkurtĂ«r dhe e qartĂ« «plan», qĂ« pĂ«rkthyesit e ngadalshĂ«m dhe menaxherĂ«t e defektshĂ«m nĂ« kohĂ«t e fundit e kanĂ« filluar ta quajnĂ« «hartĂ« rrugore». Po, le t'i lĂ«mĂ« ata mĂ«njanĂ«.
Plani ynë do të jetë si më poshtë. Supozojmë se kemi një ambient, lagështia e të cilit mund të rritet ndjeshëm në kohë. Për shembull, siç është një banjë ose kuzhina. Lagështia është një gjë e padëshiruar dhe mënyra për t'u luftuar me të është aq e vjetër sa bota: ajrosja e ambientit. Ka shumë mënyra për ajrosje. Por, mendoj se do t'i heqim anash metodat ekzotike dhe të pratuara, si afro-amerikanët me fustanellat dhe do të ndalemi në ventilatorin e zakonshëm. Ventilatorët janë më të lirë dhe gjithashtu më të lehtë për t'u gjetur në vendin tonë.
Me fjalë të tjera, ne duam të menaxhojmë ventilatorin: ta aktivizojmë dhe, për rrjedhojë, ta çaktivizojmë. Saktësisht, ne duam që ai të aktivizohet dhe të çaktivizohet automatikisht kur është e nevojshme.
Dhe mbetet tĂ« pĂ«rcaktohet: nĂ« cilat kushte ventilatori duhet tĂ« aktivizohet dhe nĂ« cilat kushte â tĂ« çaktivizohet.
KĂ«tu gjithçka Ă«shtĂ« e qartĂ«: nĂ«se lagĂ«shtia Ă«shtĂ« mbi njĂ« prag tĂ« caktuar â ventilatori aktivizohet dhe nxjerr ajrin; lagĂ«shtia ka ardhur nĂ« normĂ« â ventilatori çaktivizohet.
Lexuesi i vëmendshëm menjëherë do të kapë fjalën «të caktuar». Nga kush e caktuar? Si e caktuar?
Pragu i lagĂ«shtisĂ« mund tĂ« caktosh nĂ« disa mĂ«nyra. Ne do tĂ« shqyrtojmĂ« dy prej tyre: e para â pĂ«rmes njĂ« rezistencĂ« tĂ« ndryshueshme dhe e dyta â pĂ«rmes rrjetit pĂ«rmes protokollit MQTT. Secila nga kĂ«to metoda ka avantazhe dhe disavantazhe, tĂ« cilat do tĂ« shqyrtohen mĂ« vonĂ«.
PĂ«r ata qĂ« nuk e kuptuan, po e shpjegoj se «lagĂ«shtia prag» â Ă«shtĂ« njĂ« nivel i tillĂ« lagĂ«shtie, kur e kalon atĂ«, kĂ«rkohet aktivizimi i ventilatorit.
Pyetje tjetër: a duhet t'i japim përdoruesit të drejtën për të aktivizuar ventilatorin direkt? Pra, pa marrë parasysh nivelin e lagështisë, me një klikim butoni? Ne do ta parashikojmë këtë mundësi. Sepse ventilatori mund të nevojitet jo vetëm kur ka lagështi të lartë, por edhe për të hequr nga ambienti, për shembull, erën e pakëndshme, të njohur në popull si "erë".
Pra, ne e kuptuam çfarë duam dhe madje pak si do të funksionojë. Do të përmbledhim shkurtimisht të gjitha funksionet e sistemit tonë të menaxhimit të ventilacionit:
- vendosja e nivelit të lagështisë kufitare (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ë. Nevojitet 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ë vizatojmë diagramin strukturor të pajisjes.
Diagrami strukturor i pajisjes
NĂ« fakt, do tĂ« kemi dy diagrama tĂ« tillĂ«. E para â pĂ«r variantin ku niveli i lagĂ«shtisĂ« kufitare pĂ«rcaktohet nga njĂ« rezistor i ndryshueshĂ«m. Diagrama e dytĂ« â pĂ«r variantin ku niveli i lagĂ«shtisĂ« kufitare pĂ«rcaktohet nĂ« rrjet pĂ«rmes protokollit MQTT.
Por pasi kĂ«to dy schema do tĂ« dallohen vetĂ«m pĂ«r njĂ« element â rezistori i ndryshueshĂ«m "vendosja e nivelit tĂ« lagĂ«shtisĂ« kufitare", ne do tĂ« vizatojmĂ« vetĂ«m njĂ« diagram strukturor. Sigurisht, diagrami strukturor sipas GOST duket ndryshe. Por ne nuk po orientohemi tek inxhinierĂ«t ekspertĂ«, por tek brezi i ri. Prandaj, qartĂ«sia Ă«shtĂ« mĂ« e rĂ«ndĂ«sishme.

Pra, çfarĂ« shohim nĂ« figurĂ«? Ventilatori Ă«shtĂ« i lidhur me rele Relay1 tĂ« kontrolluesit ShIoTiny. Po ju kujtoj, qĂ« ventilatori Ă«shtĂ« njĂ« pajisje qĂ« funksionon me tension tĂ« lartĂ«. Pra, nĂ«se dikush do ta pĂ«rgatisĂ« vetĂ« kĂ«tĂ«, tregoni kujdes. DomethĂ«nĂ«, tĂ« paktĂ«n, para se tĂ« futni gishta tuaj ose pajisje matĂ«se nĂ« skemĂ« â fikni tĂ« paktĂ«n ventilatorin. Dhe njĂ« vĂ«rejtje tjetĂ«r. NĂ«se ventilatori juaj Ă«shtĂ« mĂ« i fuqishĂ«m se 250W, atĂ«herĂ« nuk duhet ta lidhni direkt me ShIoTiny jo â vetĂ«m nĂ«pĂ«rmjet njĂ« ndezĂ«si.
Tani e kuptuam ventilatorin. Tani butoni "aktivizim manual" i ventilatorit. Ai është i lidhur me hyrjen Input1. Këtu nuk ka shumë për të sqaruar.
Sensor i temperaturĂ«s dhe nivelit tĂ« lagĂ«shtisĂ« DHT-11 (ose DHT-22 ose ose dhe analogĂ«t e tyre). PĂ«r lidhjen e tij Ă«shtĂ« parashikuar njĂ« hyrje speciale nĂ« kontrollor ShIoTiny. Siç shihet nĂ« figurĂ« â lidhja e tillĂ« e sensorit gjithashtu nuk paraqet probleme.
Dhe, nĂ« fund, rezistenca e ndryshueshme, e cila pĂ«rcakton nivelin kritik tĂ« lagĂ«shtisĂ«. SaktĂ«sisht â njĂ« ndarĂ«s, i pĂ«rbĂ«rĂ« nga rezistenca e ndryshueshme dhe ajo e vazhdueshme. Nuk ka probleme pĂ«r lidhjen e saj, por do tĂ« sqaroj se ADC-i i ndĂ«rtuar ESP8266 Ă«shtĂ« i llogaritur maksimumi deri nĂ« 1 Volt. Prandaj, kemi nevojĂ« pĂ«r njĂ« ndarĂ«s tensioni deri nĂ« rreth 5 herĂ«.
Dhe përsëri, dua të kujtoj se ky ndarës nuk është i nevojshem nëse niveli kritik i lagështisë përcaktohet përmes rrjetit duke përdorur protokollin MQTT.
Të fillojmë të përgatisim algoritmin e funksionimit të pajisjes në redaktorin ElDraw ShIoTiny. Si të hyjmë në këtë redaktor, mund të lexoni në artikujt e mëparshëm ose në manualin, lidhja e të cilit është në fillim të artikelit.
Opsioni i parë, më i thjeshti
Të fillojmë me të thjeshtën: aktivizimin e relës Relay1 në bazë të kalimit të nivelit kritik të lagështisë për një periudhë të caktuar kohore.

Siç shohim, nuk ka asgjĂ« tĂ« komplikuar: vetĂ«m katĂ«r nyje, pa konsideruar nyjet-komente. DHT11 â Ă«shtĂ« nĂ« fakt sensori i temperaturĂ«s dhe lagĂ«shtisĂ« (mund tĂ« ndĂ«rroni me DHT22).
Konstanta CONST â niveli kritk i lagĂ«shtisĂ«, nĂ« pĂ«rqindje.
Krahasuesi â Ă«shtĂ« njĂ« nyje qĂ« krahason dy numra dhe vendos nĂ« daljen 1, nĂ«se kushti i caktuar pĂ«rmbushet dhe 0, nĂ«se kushti nuk pĂ«rmbushet.
NĂ« rastin tonĂ«, njĂ« kusht i tillĂ« do tĂ« jetĂ« A>Bindex A â niveli i lagĂ«shtisĂ« i matur nga sensori, dhe B â niveli kritik i po asaj lagĂ«shtie.
Sa herë që niveli i matur i lagështisë (A) kalon nivelin kritik të lagështisë (B), menjëherë në daljen e krahasuesit A>B do të shfaqet 1 dhe relÚja do të aktivizohet. Po ashtu, sapo niveli i lagështisë të kthehet në normë (domethënë A<=B), menjëherë në daljen e krahasuesit A>B do të shfaqet 0 dhe relÚja do të çaktivizohet.
E kuptoni? Kush nuk e kupton shumĂ« â lexoni pĂ«rsĂ«ri ose shikoni nĂ« pĂ«rshkrimin e funksionit tĂ« nyjeve nĂ« manual.
Dua të theksoj se të dhënat e sensorit DHT11 përditësohen rreth çdo 10 sekonda. Prandaj, relÚja nuk do të mund të aktivizohet dhe çaktivizohet më shpesh se një herë në 10 sekonda.
Nuk do të kishte asgjë, por do të donim të përcaktonim nivelin kritik të lagështisë përmes një rezistori të ndryshueshëm. Nuk ka asgjë më të thjeshtë!

Thjesht do ta zëvendësojmë nyjen-konsistente me nyjen ADC. Sepse, pikërisht në ADC ne lidhëm ndarësin e tensionit me rezistorin e ndryshueshëm.
Tensioni nĂ« hyrje tĂ« ADC ndryshon nga 0 nĂ« 1 Volt. NdĂ«rsa lagĂ«shtia nĂ« dalje tĂ« sensorit ndryshon nga 0 nĂ« 100%. Si i krahasojmĂ« ne ato? ĂshtĂ« shumĂ« e thjeshtĂ«. NjĂ«si ADC nĂ« ShIoTiny jo vetĂ«m qĂ« mat tensionin nĂ« hyrje, por gjithashtu di ta pĂ«rmasojĂ« dhe ta zhvendosĂ«..
Pra, në daljen e njësisë ADC1 (ADC) do të ketë një vlerë X, e llogaritur sipas formulës

index
â tensioni nĂ« hyrje tĂ« ADC (nga 0 nĂ« 1V); k â diapazoni (ADC range) dhe b-zhvendosja (ADC offset). KĂ«shtu, nĂ«se vendosim k=100 dhe b=0, atĂ«herĂ« me ndryshimin
në diapazonin nga 0 në 1, vlera X në daljen e njësisë ADC do të ndryshojë në diapazonin nga 0 në 100. Pra, numërisht e njëjtë me diapazonin e ndryshimit të lagështisë nga 0 në 100%.
Ose, nĂ« mĂ«nyrĂ« tĂ« thjeshtĂ«, duke rrotulluar motorin e rezistencĂ«s sĂ« ndryshueshme, mund tĂ« pĂ«rcaktojmĂ« pragun e nivelit tĂ« lagĂ«shtisĂ« nga 0 nĂ« 100. E vetmja pengesĂ« Ă«shtĂ« se nuk ka asnjĂ« pajisje shfaqjeje. Por nĂ« praktikĂ«, nĂ«se motorit tĂ« rezistencĂ«s sĂ« ndryshueshme i bĂ«jmĂ« 6 ndarjen 0%, 20%, 40%, 60%, 80%, 100%) â kjo Ă«shtĂ« e mjaftueshme pĂ«r tĂ« vendosur pragun e nivelit tĂ« lagĂ«shtisĂ«.
Si tâi vendosim koeficientĂ«t k â diapazoni (ADC range) dhe b-zhvendosja (ADC offset)? E thjeshtĂ« si buka! Thjesht klikoni me treguesin e souris nĂ« njĂ«sinĂ« ADC1 dhe menjĂ«herĂ« do t'ju shfaqet njĂ« dritare konfigurimi. NĂ« tĂ« mund tĂ« vendosni gjithçka qĂ« ju nevojitet. PĂ«r rastin tonĂ«, kjo do tĂ« jetĂ« njĂ« dritare e tillĂ« si nĂ« ilustrim.

Pra, kemi një zgjidhje shumë të thjeshtë funksionale. Le t'ia fillojmë përmirësimin.
SidoqoftĂ«, zgjidhja mĂ« e thjeshtĂ« ka njĂ« pĂ«rfitim â nuk i nevojitet interneti. Ajo Ă«shtĂ« plotĂ«sisht autonome.
Varianti i dytë, lidhim një buton
E gjithë puna po shkon dhe të gjithë janë të lumtur. Por ja, ne nuk mund ta aktivizojmë ventilimin me forcë. Ne tashmë kemi rënë dakord që te hyrja Input1 do të lidhet një buton, i cili do të aktivizojë dhe çaktivizojë ventilatorin me forcë, pa marrë parasysh sensorin e lagështisë.
Ka ardhur koha ta përpunojmë këtë buton në diagramin tonë të programit.

Blloku i përpunimit të shtypjes së butonit është i shënuar me një vijë portokalli. Ai përbën një numërues të shtypjeve të butonit, i cili resetohet në zero kur vlera në daljen e tij kalon një (vija e gjelbër, dalja e njësisë CT).
E gjitha funksionon këtu ashtu si më parë: numëruesi CT numëron shtypjet e butonit të lidhur në hyrje. Input1Pra, vlera në daljen e këtij numëruesi rritet me 1 me çdo shtypje butoni.
Sa herë që kjo vlerë bëhet e barabartë me dy (dmth më shumë se 1), menjëherë në daljen e krahasuesit A>B do t'ja 1. Dhe kjo 1 do të rivendosë numëruesin CT në zero. Kjo i referohet komparatorit, më i ulët sipas skemës!
Pra, butoni ynĂ« ka dy gjendje â 0 dhe 1. NĂ«se do na duheshin mĂ« shumĂ« gjendje (3, 4 ose mĂ« shumĂ«) â do tĂ« mjaftonte tĂ« ndryshonim konstantĂ«n CONST nga njĂ« nĂ« njĂ« vlerĂ« tjetĂ«r.
Pra, kemi dy kushte për të aktivizuar ventilatorin: tejkalimi i nivelit të caktuar të lagështisë dhe një klikim në buton. Duke plotësuar njërin nga këto kushte, ventilatori do të aktivizohet. Dhe do të funksionojë derisa të klikojmë përsëri butonin DHE nivelet e lagështisë të kthehen në normë.
Natyrisht, mund ta komplikojmĂ« mĂ« shumĂ« algoritmin, por nuk do ta bĂ«jmĂ« kĂ«tĂ« â do ta lĂ«mĂ« hapĂ«sirĂ« pĂ«r krijimtarinĂ« e atyre qĂ« dĂ«shirojnĂ«.
Opsioni i tretë, lidhemi me internetin
VallĂ«, çfarĂ« kemi pĂ«rshkruar â Ă«shtĂ« plotĂ«sisht funksional. Po siç ndodhin gjĂ«rat? Ădo hipster-hacker me puçrra do tĂ« tallĂ« atĂ« qĂ« rrotullon dorĂ«n dhe shtyp butonin, jo atĂ« qĂ« kontrollon me smartphone! Rrotullimi i dorĂ«s â nuk Ă«shtĂ« ânĂ« modĂ«â. Por, lĂ«vizja e gishtit mbi smartphone, deri sa gishtat tĂ« bĂ«hen gjak â ja, ajo Ă«shtĂ« kulmi i dĂ«shirave tĂ« hipster-hacker-it (kurrĂ« nuk kam mundur tĂ« dalloj tĂ« gjithĂ« ata â ndoshta kam gabuar, mĂ« falni).
Por do tĂ« jemi tolerante ndaj kĂ«tyre individĂ«ve. Kontrolli pĂ«rmes internetit ka disa pĂ«rfitime reale. SĂ« pari, Ă«shtĂ« vizibiliteti. Ka njĂ« mori aplikacionesh pĂ«r tĂ« gjitha platformat qĂ« lejojnĂ« me disa klikime tĂ« krijoni njĂ« panel tĂ« pĂ«rshtatshĂ«m pĂ«r tĂ« pĂ«rdorur pĂ«r kontrollerin tonĂ«-Karlson. SĂ« dyti, mundĂ«sia pĂ«r tĂ« monitoruar distancĂ« nivelin e lagĂ«shtisĂ« nĂ« ambient. SĂ« treti, mund tĂ« shohim jo vetĂ«m se çfarĂ« bĂ«n ventilatori â nĂ«se rrotullohet apo jo, por edhe cila Ă«shtĂ« niveli i caktuar i lagĂ«shtisĂ«. Dhe nĂ«se ventilatori Ă«shtĂ« aktivizuar automatikisht apo manualisht. NĂ« pĂ«rgjithĂ«si, gjithçka qĂ« dĂ«shiron.
Natyrisht, për ndonjë ventilator, ka shumë nder që merr kaq shumë vëmendje. Por kjo ë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'u përdorur kjo teknologji, na nevojitet broker MQTT. Ky është një server specifik që shërben klientët MQTT, për shembull ShIoTIny dhe smartphone tuaj.
Thelbi i teknologjisë MQTT është që çdo klient publikojnë në brokerin MQTT (server) të dhëna të rastit nën një emër të caktuar (i quajtur topic në terminologji MQTT). Klientët e tjerë mund të regjistrohen për të dhëna të rastësishme sipas emrit të tyre (topic) dhe të marrin të dhënat e sapo publikuara. Pra, të 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 udhëzues për mënyrën se si funksionon MQTT dhe cilat janë programet për krijimin e paneleve të menaxhimit. Thjesht do të tregoj si mund të marrim dhe publikojmë të dhëna përmes ShIoTiny.
Si broker kam përdorur , por parimi është i njëjtë kudo.
Pra, le tĂ« supozojmĂ« se jeni regjistruar nĂ« brokerin MQTT. NĂ« pĂ«rgjithĂ«si, brokeri do tâju japĂ« (ose do tĂ« kĂ«rkojĂ« tĂ« mendoni) njĂ« emĂ«r pĂ«rdoruesi dhe fjalĂ«kalim (pĂ«r autorizim), si dhe portin pĂ«r lidhjen. Lidhja me ShIoTiny nĂ« brokerin MQTT mund tĂ« bĂ«het nĂ« dy mĂ«nyra â lidhje normale dhe pĂ«rmes TLS (SSL).
Të gjitha këto parametra në ShIoTiny shtohen në tabin Networking, seksioni Lidhja MQTT me serverin.

NĂ«se tuajimi broker MQTT nuk kĂ«rkon autorizim â mos shkruani emrin dhe fjalĂ«kalimin (lini kĂ«to fusha bosh).
Parametri prefiksi i temës MQTT kërkon shpjegim të veçantë.
Prefiksi i parametrave MQTT â Ă«shtĂ« njĂ« varg qĂ« shtohet nĂ« emrin e temĂ«s (topic) gjatĂ« publikimit dhe abonimit nĂ« brokerin MQTT. PĂ«r tĂ« vendosur prefiksin MQTT pĂ«r kontrollin tuaj, thjesht duhet ta shkruani nĂ« fushĂ«n e inputit "Prefiksi i temĂ«s MQTT» («prefiksi i temĂ«s MQTT"). Prefiksi gjithmonĂ« fillon me njĂ« shenjĂ« ndarĂ«se (/)! NĂ«se nuk e shkruani shenjĂ«n ndarĂ«se nĂ« fushĂ«n e inputit â ajo do tĂ« shtohet automatikisht. NĂ« prefiks nuk mund tĂ« pĂ«rdoren simbole«/». Nuk ka kufizime tĂ« tjera. «#» dhe «+»PĂ«r shembull, nĂ«se publikoni parametrin "
" (ose abonoheni për të), dhe prefiksi juaj është vendosur si "status", atëherë në broker ky parametr do të publikohet me emrin "/shiotiny/". Nëse keni vendosur një prefiks bosh, të gjithë parametrat në broker do të fillojnë me shenjën ndarëse (/), "/shiotiny/status" do të publikohet si "«/»): «statusDhe pra, le të supozojmë se jeni regjistruar në/status».
dhe keni marrë emrin, fjalëkalimin dhe portin. Pastaj keni shkruar këto parametra në tabin brokerin MQTT Le të supozojmë se prefiksi është vendosur në vlerën " Networking, seksioni Lidhja MQTT me serverin të kontrolluesit ShIoTiny.
Le të fillojmë duke publikuar gjendjen e gjithë parametrave kyç: rele/room/».
Realay1 , gjendja e ndezjes manuale, gjendja e ndezjes automatik dhe, pĂ«rfundimisht, nivelet prag dhe aktuale tĂ« lagĂ«shtisĂ«. Dhe si bonus â temperatura nĂ« ambient. Si ta bĂ«ni kĂ«tĂ«, shikoni nĂ« figurĂ«.Siç e shohim, ndryshimi nga varianti i mĂ«parshĂ«m â vetĂ«m nyjet "

MQTT Publikimi". Duke marrë parasysh prefiksin, publikohen parametrat e mëposhtëm:». Me përllogaritjen e prefiksit, publikohen parametrat e mëposhtëm:

Si e kemi, gjithë gjendjen e sistemit në njohjen tonë!
Por ne duam jo vetĂ«m tĂ« shohim, por edhe tĂ« menaxhojmĂ«. ĂfarĂ« tĂ« bĂ«jmĂ«? ShumĂ« thjesht. Do tĂ« heqim dorĂ« nga vendosja e nivelit tĂ« lagĂ«shtisĂ« me anĂ« tĂ« ADC dhe rezistorit tĂ« ndryshĂ«m dhe do tĂ« caktuar kĂ«tĂ« nivel tĂ« lagĂ«shtisĂ« sipas MQTT drejt nga smartphone-i ynĂ«!

Fshijmë nyjën ADC nga skema dhe përfshijmë aty tri nyje të reja: Dyqani FLASH, Rivendosja FLASH dhe Përshkrimi MQTT.
Funksioni i nyjës Përshkrimi MQTT është i dukshëm: ai merr parametrin /room/trigHset (niveli i lagështisë) nga brokeri MQTT. Por çfarë bën më pas me të dhënat? Thjesht i dërgon ato në nyjën Dyqani FLASH, e cila, nga ana tjetër, i ruan këto të dhëna në kujtesën jo-flitëse me emrin trigH. Pas kësaj, nyja Rivendosja FLASH lexon nga kujtesa jo-flitëse të dhënat me emrin trigH dhe çfarë ndodh më pas ne tashmë e dimë.
Pse ka aq shumë komplika? Pse nuk mund të dërgoni menjëherë të dhënat e marra në hyrjen e krahasuesit?
Siç tha shoku Sh. Holmes â Ă«shtĂ« elementar! Askush nuk garanton qĂ« pas fillimit tĂ« pajisjes suaj, ajo do tĂ« lidhet me brokerin MQTT. Dhe lagĂ«shtia duhet tĂ« matet. Dhe ventilatori duhet tĂ« ndizet. Por pa informacion mbi nivelin e lagĂ«shtisĂ«, kjo Ă«shtĂ« e pamundur! Prandaj, pajisja jonĂ« nĂ« momentin e ndezjes nxjerr nivelin e mĂ«parshĂ«m tĂ« lagĂ«shtisĂ« nga kujtesa jo-flitĂ«se dhe e pĂ«rdor atĂ« pĂ«r vendimmarrje. E teksa do tĂ« vendoset lidhja me brokerin MQTT dhe dikush do tĂ« publikojĂ« njĂ« vlerĂ« tĂ« re /room/trigHset, atĂ«herĂ« do tĂ« pĂ«rdoret kjo vlerĂ« e re.
Më pas ju mund të imagjinoni çfarë të doni. Për shembull, përveç lagështisë, të merrni parasysh edhe temperaturën. Ose të shtoni menaxhimin «të mençur» të ndriçimit (ne kemi ende dy rele dhe dy hyrje të papërdorura). Të gjitha janë në duar tuaja!
Përfundim
Kështu që ne shqyrtuam disa shembuj të zbatimit të një kontrolluesi shumë të thjeshtë në bazë të ShIoTiny. Ndoshta kjo do të jetë e dobishme për disa.
Si gjithmonĂ«, propozimet, dĂ«shirat, pyetje, gabime tĂ« shtypura dhe tĂ« tjera â nĂ« email: shiotiny@yandex.ru
Burimi: habr.com
