ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto)

ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto)

Mga pangunahing punto o kung tungkol saan ang artikulong ito

Ipinagpapatuloy namin ang serye ng mga artikulo tungkol sa ShioTiny - visually programmable chip-based controller ESP8266.

Inilalarawan ng artikulong ito, gamit ang halimbawa ng isang proyekto sa pagkontrol ng bentilasyon sa isang banyo o iba pang silid na may mataas na kahalumigmigan, kung paano binuo ang isang programa para sa ShioTiny.

Mga nakaraang artikulo sa serye.

ShIoTiny: maliit na automation, Internet ng mga bagay o "anim na buwan bago magbakasyon"
ShIoTiny: Mga Node, Link, at Event o Features ng Drawing Programs

sanggunian

Binary firmware, controller circuit at dokumentasyon
Mga tagubilin at paglalarawan ng mga bahagi
Pagse-set up ng MQTT broker cloudmqtt.com
MQTT dashboard para sa Android

Pagpapakilala

Walang pag-unawa kung walang karanasan. Ito ay isang katotohanang sinubok ng panahon at henerasyon. Samakatuwid, walang mas mahusay para sa pag-aaral ng mga praktikal na kasanayan kaysa sa pagsisikap na gawin ang isang bagay sa iyong sarili. At ang mga halimbawa na nagpapakita kung ano ang maaari mong gawin at kung ano ang hindi mo dapat subukan ay magiging kapaki-pakinabang dito. Ang mga pagkakamali ng ibang tao, siyempre, ay hindi mapipigilan ang paglitaw ng iyong sariling mga pagkakamali, ngunit makakatulong ito na mabawasan ang bilang ng huli.

Ang mga tanong at liham mula sa mga mambabasa ng mga nakaraang artikulo ay nag-udyok sa akin na gumawa ng isang maliit na proyekto - isang halimbawa ng kontrol sa bentilasyon upang maipakita kung paano gumagana ang mga ShIoTiny node.

Ang orihinal na ideya kung saan ipinanganak ang controller ShioTiny - pumping at irrigation station - hindi angkop para sa lahat at hindi magiging interesado sa lahat. Samakatuwid, kumuha ako ng isang sistema ng kontrol sa bentilasyon na naiintindihan at kapaki-pakinabang sa marami bilang isang halimbawa.

Sasabihin ko na ang ideya ng proyekto ay hindi akin, ngunit Nakuha ko ito mula dito at pagkatapos ay iniangkop sa ShioTiny.

Unawain mo muna kung ano ang gusto mo

Ang proseso ng pagpapabuti ay walang katapusan. At ang ari-arian na ito ang sumira ng maraming magagandang ideya at proyekto. Ang developer, sa halip na maglabas ng isang bagay na hindi perpekto, ngunit gumagana pa rin, ay nagpatuloy sa pagpapahusay nito. At pinagbuti niya ito hanggang sa nalampasan ito ng mga kakumpitensya, naglabas ng isang gumaganang solusyon, kahit na hindi perpekto (at kadalasan ay talagang mahirap), ngunit gumagana.

Samakatuwid, napakahalagang malaman kung saan tatapusin ang proyekto. O, sa madaling salita, kailangan nating matukoy kung ano ang gusto nating makuha sa pagtatapos ng proyekto mula sa kung ano ang mayroon tayo sa simula. Sa Russian, para sa isang dokumento na tiyak na pinagsama-sama na may layuning ilarawan ang landas sa paglikha ng isang bagay, mayroong isang kahanga-hangang maikli at maikling salita na "plano", kung saan ang mga tagasalin na may kapansanan sa pag-iisip at may depektong mga tagapamahala ay nagsimulang tumawag kamakailan para sa ilang kadahilanan na "kalsada." mapa”. Well, pagpalain sila ng Diyos.

Magiging ganito ang plano natin. Ipagpalagay natin na mayroong isang silid kung saan ang halumigmig ay maaaring tumaas nang malaki minsan. Halimbawa, tulad ng banyo o kusina. Ang halumigmig ay isang hindi kanais-nais na bagay at ang paraan upang labanan ito ay kasing edad ng mundo: magpahangin sa silid. Mayroong ilang mga paraan upang mag-ventilate. Ngunit kami, marahil, ay abandunahin ang mga kakaiba at makalumang pamamaraan tulad ng mga itim na may mga tagahanga at manatili sa isang regular na tagahanga. Mas mura at mas madaling mahanap ang mga fan sa aming lugar.

Sa madaling salita, gusto naming kontrolin ang fan: i-on ito at, nang naaayon, i-off ito. Mas tiyak, gusto naming i-on at i-off ito kapag kinakailangan.

Ito ay nananatiling upang matukoy: sa ilalim ng kung anong mga kondisyon ang bentilador ay dapat i-on at sa ilalim ng kung anong mga kondisyon ito ay dapat na i-off.

Ang lahat ay halata dito: kung ang halumigmig ay higit sa isang tiyak na limitasyon, ang bentilador ay bubukas at kumukuha ng hangin; Ang halumigmig ay bumalik sa normal - ang bentilador ay naka-off.

Ang isang matulungin na mambabasa ay agad na mapapansin ang salitang "ibinigay." Ibinigay nino? Tulad ng tinukoy?

Maaari mong itakda ang threshold humidity sa maraming paraan. Titingnan natin ang dalawa sa kanila: ang una - gamit ang variable resistance at ang pangalawa - sa network sa pamamagitan ng MQTT protocol. Ang bawat isa sa mga pamamaraan na ito ay may mga pakinabang at disadvantages, na tatalakayin sa ibang pagkakataon.

Para sa mga hindi nakakaintindi, ipapaliwanag ko na ang "threshold humidity" ay isang humidity level kung saan dapat i-on ang fan.

Ang susunod na tanong ay: dapat bang bigyan ang user ng karapatang direktang i-on ang fan? Iyon ay, anuman ang antas ng halumigmig, sa pagpindot ng isang pindutan? Magbibigay kami ng ganoong posibilidad. Pagkatapos ng lahat, ang isang fan ay maaaring kailanganin hindi lamang kapag may mataas na kahalumigmigan, kundi pati na rin upang alisin mula sa silid, halimbawa, isang hindi kasiya-siyang amoy, na sikat na tinatawag na "baho."

Kaya, naiintindihan namin kung ano ang gusto namin at kahit kaunti kung paano ito gagana. Ilista natin sa madaling sabi ang lahat ng mga function ng ating ventilation control system:

  • pagtatakda ng antas ng kahalumigmigan ng threshold (dalawang pagpipilian);
  • pagsukat ng antas ng kahalumigmigan;
  • awtomatikong pagbukas ng fan;
  • awtomatikong pagsara ng fan;
  • manu-manong pag-activate ng fan (sa pamamagitan ng pagpindot sa isang pindutan).

Kaya, malinaw ang plano. Kinakailangang ipatupad ang lahat ng mga function sa itaas sa aming programa. Kikilos tayo batay sa "plano" na ito. Una, gumuhit tayo ng block diagram ng device.

Block diagram ng device

Sa pangkalahatan, magkakaroon tayo ng dalawang ganitong mga scheme. Ang una ay para sa opsyon kung saan ang threshold na antas ng halumigmig ay itinakda ng isang variable resistance. Ang pangalawang scheme ay para sa opsyon kung saan nakatakda ang threshold na antas ng halumigmig sa network sa pamamagitan ng MQTT protocol.

Ngunit dahil ang mga circuit na ito ay magkakaiba lamang ng isang elemento - ang variable na risistor na "pagtatakda ng antas ng kahalumigmigan ng threshold", gagawa kami ng isang block diagram lamang. Siyempre, iba ang hitsura ng block diagram ayon sa GOST. Ngunit hindi kami tumutuon sa mga inhinyero ng bison, ngunit sa nakababatang henerasyon. Samakatuwid, ang kakayahang makita ay mas mahalaga.

ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto)

Kaya, ano ang nakikita natin sa larawan? Ang fan ay konektado sa relay Relay1 tagapamahala ShioTiny. Pakitandaan na ang fan ay isang high-voltage device. Samakatuwid, kung sinuman ang gumagawa nito sa kanilang sarili, mag-ingat. Iyon ay, hindi bababa sa, bago mo ilagay ang iyong mga daliri o mga instrumento sa pagsukat sa circuit, hindi bababa sa patayin ang kapangyarihan sa fan. At ang pangalawang tala. Kung ang iyong tagahanga ay mas malakas kaysa sa 250Vt, pagkatapos ay direktang ikonekta ito sa ShioTiny hindi katumbas ng halaga - sa pamamagitan lamang ng starter.

Inayos namin ang fan. Ngayon ang pindutan ay "manu-manong i-on" ang fan. Ito ay konektado sa input Pagpasok1. Wala nang dapat ipaliwanag pa dito.

Sensor ng temperatura at halumigmig DHT-11 (O DHT-22 o ang kanilang mga analogue). Mayroong isang espesyal na input sa controller para sa koneksyon nito. ShioTiny. Tulad ng makikita mo sa figure, ang pagkonekta ng naturang sensor ay hindi rin isang problema.

At sa wakas, ang variable na pagtutol, na nagtatakda ng antas ng threshold ng kahalumigmigan. Mas tiyak, isang divider na binubuo ng variable at pare-pareho ang mga pagtutol. Walang mga problema sa koneksyon nito, ngunit hayaan mo akong ipaliwanag na ang built-in na ADC ay ESP8266 dinisenyo para sa maximum na 1 Volt. Samakatuwid, ang isang boltahe divider ng tungkol sa 5 beses ay kinakailangan.

At hayaan mong ipaalala ko sa iyo muli na ang divider na ito ay hindi kailangan kung ang threshold na antas ng halumigmig ay nakatakda sa network gamit ang MQTT protocol.

Simulan natin ang paggawa ng algorithm para sa device sa ElDraw ShIoTiny editor. Kung paano makarating doon, sa editor na ito, ay mababasa sa mga naunang artikulo o sa mga tagubilin, ang link na kung saan ay nasa simula ng artikulo.

Opsyon isa, pinakasimple

Magsimula tayo sa isang bagay na simple: pag-on sa relay Relay1 kapag nalampasan ang antas ng halumigmig ng threshold para sa isang tinukoy na oras.

ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto)

Tulad ng nakikita mo, walang kumplikado: apat na node lamang, hindi binibilang ang mga node ng komento. DHT11 - ito ang mismong temperature at humidity sensor (maaaring palitan ng DHT22).

pare-pareho KONSEYON β€” antas ng halumigmig ng threshold, sa porsyento.

Comparator - isang node na naghahambing ng dalawang numero at naglalabas ng 1 kung ang isang kundisyon ay natutugunan at 0 kung ang kundisyon ay hindi natutugunan.

Sa aming kaso, ang kundisyong ito ay magiging A>BSaan A ay ang antas ng halumigmig na sinusukat ng sensor, at B β€” ang antas ng threshold ng parehong halumigmig.

Sa sandaling nasusukat ang antas ng halumigmig (A) ay lalampas sa threshold na antas ng halumigmig (B), doon mismo sa output ng comparator A>B 1 ay lalabas at ang relay ay i-on. Sa kabaligtaran, sa sandaling bumalik sa normal ang antas ng halumigmig (i.e. A<=B), doon mismo sa output ng comparator A>B 0 ay lilitaw at ang relay ay i-off.

Malinaw ang lahat? Para sa mga hindi masyadong komportable, basahin itong muli o tingnan ang paglalarawan ng pagpapatakbo ng mga yunit sa mga tagubilin.

Tandaan na ang data mula sa sensor DHT11 na-update nang humigit-kumulang isang beses bawat 10 segundo. Samakatuwid, ang relay ay hindi makakapag-on at makakapag-off nang mas madalas kaysa sa isang beses bawat 10 segundo.

Magiging maayos ang lahat, ngunit nais naming itakda ang antas ng halumigmig ng threshold gamit ang isang variable na risistor. Walang mas madali!

ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto)

Palitan na lang natin ng ADC node ang constant node. Pagkatapos ng lahat, ito ay sa ADC na ikinonekta namin ang isang boltahe divider na may isang variable na risistor.

Ang boltahe sa input ng ADC ay nag-iiba mula 0 hanggang 1 Volt. Ngunit ang halumigmig sa output ng sensor ay nag-iiba mula 0 hanggang 100%. Paano natin ihahambing ang mga ito? Simple lang. Pumasok ang ADC node ShioTiny hindi lamang sumusukat sa input boltahe, ngunit alam din kung paano sukat at shift.

Iyon ay, ang output ng ADC1 node (ADC) ay magkakaroon ng halaga X, kinakalkula ng formula

ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto)

Saan ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto) β€” boltahe sa input ng ADC (mula 0 hanggang 1V); k - saklaw (hanay ng ADC) at b-offset (ADC offset). Kaya, kung itinakda mo k = 100 ΠΈ b=0, tapos kapag nagbabago ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto) sa hanay mula 0 hanggang 1, halaga X sa output ng ADC node ay mag-iiba sa hanay mula 0 hanggang 100. Iyon ay, ayon sa bilang na katumbas ng hanay ng mga pagbabago sa halumigmig mula 0 hanggang 100%.

O, sa simpleng paraan, sa pamamagitan ng pag-ikot ng variable resistance slider, maaari mong itakda ang threshold na antas ng halumigmig mula 0 hanggang 100. Ang tanging abala ay walang mga display device. Ngunit sa pagsasagawa, kung gumawa ka ng 6 na dibisyon ng isang variable resistance motor (0%, 20%, 40%, 60%, 80%, 100%) - kung gayon ito ay sapat na upang itakda ang antas ng threshold ng kahalumigmigan.

Paano tayo magtatakda ng mga logro? k - saklaw (hanay ng ADC) at b-offset (ADC offset)? Oo, mas madali kaysa steamed turnips! Ituro ang iyong mouse pointer sa isang node ADC1 at kaagad makikita mo ang isang window ng mga setting. Maaari mong ilagay ang lahat ng kailangan mo dito. Para sa aming kaso, ito ay magiging isang window tulad ng isa sa figure.

ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto)

Kaya, mayroon kaming pinakasimpleng solusyon sa pagtatrabaho. Simulan natin itong pagbutihin.
Sa pamamagitan ng paraan, ang pinakasimpleng solusyon ay may isang kalamangan - hindi ito nangangailangan ng Internet. Ito ay ganap na nagsasarili.

Opsyon dalawa, ikonekta ang button

Lahat ay gumagana at lahat ay masaya. Ngunit malas, hindi natin mapipilitang i-on ang bentilasyon. Napagkasunduan na namin iyon sa pasukan Pagpasok1 magkakaroon tayo ng button na nakakonekta na pilit na i-on at i-off ang fan, anuman ang humidity sensor.
Oras na para iproseso ang button na ito sa aming diagram ng program.

ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto)

Ang bloke ng pagpoproseso ng pag-click sa pindutan ay naka-highlight sa isang orange na linya. Ito ay isang counter ng mga pagpindot sa pindutan, na na-reset sa zero kapag ang halaga sa output nito ay lumampas sa isa (berdeng linya, node output CT).

Lahat dito ay gumagana nang simple gaya ng dati: ang counter CT binibilang ang mga pagpindot ng isang button na konektado sa input Pagpasok1. Iyon ay, ang halaga sa output ng counter na ito ay tumataas ng 1 sa bawat pagpindot sa pindutan.

Sa sandaling ang halagang ito ay naging katumbas ng dalawa (iyon ay, mas malaki sa 1), kaagad sa output ng comparator A>B lalabas ang 1. At itong 1 ay magre-reset ng counter CT sa zero. Ang ibig sabihin nito ay ang comparator, ang nasa ibaba sa diagram!

Kaya, ang aming button ay may dalawang estado - 0 at 1. Kung kailangan namin ng higit pang mga estado (3 o 4 o higit pa) - kailangan lang naming baguhin ang pare-pareho KONSEYON mula sa isa hanggang sa isa pang halaga.

Kaya, mayroon kaming dalawang kundisyon para sa pag-on ng fan: paglampas sa isang naibigay na antas ng halumigmig at pagpindot sa pindutan nang isang beses. Kung matugunan ang alinman sa mga kundisyon, bubuksan ang fan. At gagana ito hanggang sa muling pinindot ang pindutan И hindi babalik sa normal ang antas ng halumigmig.

Maaari mong, siyempre, gawing kumplikado ang algorithm kahit na higit pa, ngunit hindi namin gagawin ito - mag-iiwan kami ng puwang para sa pagkamalikhain sa mga nais.

Ikatlong opsyon, kumonekta sa Internet

Lahat ng aming inilarawan ay lubos na magagawa. Paano naman ang mga show-off? Pagkatapos ng lahat, ang sinumang pimply hipster cracker hacker ay tatawa sa isang taong pumipihit ng knob at pinindot ang isang button sa halip na kontrolin ito mula sa isang smartphone! Ang pag-twist ng hawakan ay "hindi uso." Ngunit ang pag-crawl gamit ang iyong daliri sa iyong smartphone, paghuhugas ng iyong daliri na duguan - ito ang rurok ng mga pagnanasa ng isang hipster-hacker-cracker (hindi ko matukoy ang lahat ng mga ito - kaya kung ako ay mali, patawarin mo ako).

Ngunit maging maluwag tayo sa mga indibidwal na ito. Mayroong tunay na mga pakinabang sa pamamahala sa pamamagitan ng Internet. Una, ito ay visibility. Mayroong maraming mga application para sa lahat ng mga platform na nagbibigay-daan sa iyo upang lumikha ng isang ganap na magagamit na control panel para sa aming Carlson controller na may ilang mga tweak. Pangalawa, ito ay isang pagkakataon upang malayuang subaybayan ang estado ng kahalumigmigan sa silid. At pangatlo, makikita mo hindi lamang kung ano ang ginagawa ng fan - umiikot o hindi, kundi pati na rin kung ano ang antas ng halumigmig ng threshold na nakatakda. At pagkatapos ay awtomatikong bumukas o manu-mano ang fan. Sa pangkalahatan, lahat ng gusto mo.

Siyempre, isang malaking karangalan para sa ilang tagahanga na makatanggap ng labis na atensyon. Ngunit ito ay isang halimbawa lamang.

Kaya, para kumonekta sa Internet ay gagamit tayo ng teknolohiya MQTT at ang protocol ng parehong pangalan.
Upang mapakinabangan ang teknolohiyang ito, kailangan natin MQTT broker. Ito ay isang espesyal na server na nagsisilbi Mga kliyente ng MQTT, Hal ShioTIny at ang iyong smartphone.

Ang kakanyahan ng teknolohiya MQTT binubuo sa katotohanan na ang alinman sa mga kliyente ay nag-publish ng di-makatwirang data sa MQTT broker (server) sa ilalim ng isang partikular na pangalan (tinatawag na paksa sa terminolohiya MQTT). Ang ibang mga kliyente ay maaaring mag-subscribe sa arbitrary na data gamit ang kanilang pangalan (paksa) at tumanggap ng bagong publish na data. Ibig sabihin, lahat ng palitan ng data ay sumusunod sa prinsipyo ng client-broker-client.

Π― Hindi ako tumuon sa mga detalye. Mayroong maraming mga artikulo at mga tutorial sa Internet kung paano ito gumagana. MQTT at anong mga programa ang naroroon para sa paglikha ng mga control panel. Ipapakita ko lang sa iyo kung paano kami makakatanggap at makakapag-publish ng data gamit ShioTiny.

Bilang isang broker na ginamit ko www.cloudmqtt.com, ngunit ang prinsipyo ay pareho sa lahat ng dako.

Kaya, ipagpalagay namin na nakarehistro ka para sa MQTT broker. Sa pangkalahatan, bibigyan ka ng broker (o hilingin sa iyo na makabuo ng) isang username at password (para sa awtorisasyon), pati na rin isang port para sa koneksyon. Isaksak ShioTiny ΠΊ MQTT broker posible sa dalawang paraan - regular na koneksyon at sa pamamagitan ng TLS (SSL).

Ang lahat ng mga parameter na ito ay nasa ShioTiny ipinasok sa tab Networking, kabanata MQTT Koneksyon sa server.

ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto)

Kung ang iyong MQTT broker hindi nangangailangan ng pahintulot - huwag ipasok ang iyong login at password (iwang blangko ang mga field na ito).

Parametro MQTT topic prefix nangangailangan ng hiwalay na paliwanag.

Ang prefix ng mga parameter ng MQTT ay isang string na nakadugtong sa pangalan ng paksa (paksa) kapag nag-publish at nag-subscribe sa isang MQTT broker. upang i-install MQTT prefix para sa iyong controller, kailangan mo lamang itong ipasok sa input field "Prefix ng Paksa ng MQTT"("MQTT topic prefix"). Ang prefix ay palaging nagsisimula sa isang slash ("/")! Kung hindi ka maglalagay ng slash sa input field, awtomatiko itong idaragdag. Hindi ka maaaring gumamit ng mga simbolo sa prefix "#" ΠΈ "+". Walang ibang mga paghihigpit.

Halimbawa, kung i-publish mo ang parameter na "katayuan" (o mag-subscribe dito) at ang iyong prefix ay nakatakda sa "/shiotiny/", pagkatapos ang parameter na ito ay mai-publish sa broker sa ilalim ng pangalan "/shiotiny/status" Kung mayroon kang walang laman na prefix, ang lahat ng mga parameter sa broker ay magsisimula sa isang slash ("/"): "katayuan" ay ilalathala bilang "/katayuan'.

Kaya, naniniwala kami na nakarehistro ka para sa MQTT broker at nakatanggap ng login, password at port. Pagkatapos ay ipinasok mo ang mga parameter na ito sa tab Networking, kabanata MQTT Koneksyon sa server tagapamahala ShioTiny.

Ipinapalagay namin na ang prefix ay nakatakda sa "/kuwarto/'.

Magsimula tayo sa pag-publish ng status ng lahat ng pangunahing parameter: relay Realay1, manual switching states, automatic switching states at panghuli threshold at kasalukuyang humidity level. Well, isang bonus ay ang temperatura sa silid. Paano ito gawin, tingnan ang figure.

ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto)

Tulad ng nakikita mo, ang pagkakaiba mula sa nakaraang bersyon ay ang mga node lamang "MQTT Publish" Isinasaalang-alang ang prefix, ang mga sumusunod na parameter ay nai-publish:
ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto)

Gaya ng nakikita mo, nasa palad namin ang buong estado ng sistema!

Ngunit gusto namin hindi lamang upang makita, ngunit din upang makontrol. Anong gagawin ko? Napakasimple. Tatanggi kaming magtakda ng threshold na antas ng halumigmig gamit ADC at isang variable na risistor at itatakda namin ang mismong threshold na antas ng kahalumigmigan ayon sa MQTT diretso mula sa iyong smartphone!

ShioTiny: bentilasyon ng isang basang silid (halimbawang proyekto)

Inalis namin ang ADC node mula sa circuit at kasama ang tatlong bagong node doon: FLASH store, Ibalik ang FLASH ΠΈ Ilarawan ng MQTT.

Pag-andar ng node Ilarawan ng MQTT halata: tumatanggap ito ng isang parameter /room/trigHset (threshold humidity level) s MQTT broker. Ngunit ano ang ginagawa nito sa susunod na data? Ibigay lamang ang mga ito sa node FLASH store, na kung saan ay nag-iimbak ng data na ito sa non-volatile memory sa ilalim ng pangalan trigH. Pagkatapos nito, ang node Ibalik ang FLASH nagbabasa ng data mula sa non-volatile memory sa ilalim ng pangalan trigH at alam na natin ang susunod na mangyayari.

Bakit ganito ang kahirapan? Bakit hindi agad maipadala ang natanggap na data sa input ng comparator?

Gaya ng sinabi ni Kasamang S. Holmes - elementary palang! Walang gumagarantiya na pagkatapos i-on ang iyong device, sasali ito MQTT broker. At ang kahalumigmigan ay kailangang masukat. At ang bentilador ay dapat na naka-on. Ngunit walang impormasyon tungkol sa threshold na antas ng halumigmig, imposible ito! Samakatuwid, kapag naka-on, kinukuha ng aming device ang naunang nakaimbak na antas ng halumigmig ng threshold mula sa hindi pabagu-bagong memorya at ginagamit ito upang gumawa ng mga pagpapasya. At kapag ang koneksyon ay itinatag sa MQTT broker at may magpo-post ng bagong halaga /room/trigHset, pagkatapos ay gagamitin ang bagong value na ito.

Pagkatapos ay maaari kang makabuo ng anumang gusto mo. Halimbawa, bilang karagdagan sa kahalumigmigan, ipakilala din ang accounting ng temperatura. O magdagdag ng "smart" lighting control (mayroon pa kaming dalawang relay at dalawang input na hindi nagamit). Nasa iyong mga kamay ang lahat!

Konklusyon

Kaya tumingin kami sa ilang mga halimbawa ng pagpapatupad ng isang mahalagang simpleng controller batay sa ShIoTiny. Marahil ito ay magiging kapaki-pakinabang sa isang tao.

Gaya ng nakasanayan, mga mungkahi, kagustuhan, tanong, typo, atbp. - sa pamamagitan ng email: [protektado ng email]

Pinagmulan: www.habr.com

Magdagdag ng komento