Përmbajtje:

IDC2018IOT Më Thuaj Kur ta Fik AC -në: 7 Hapa
IDC2018IOT Më Thuaj Kur ta Fik AC -në: 7 Hapa

Video: IDC2018IOT Më Thuaj Kur ta Fik AC -në: 7 Hapa

Video: IDC2018IOT Më Thuaj Kur ta Fik AC -në: 7 Hapa
Video: Sürgün İnek - Hasan Kaçan & Şebnem Sönmez - FULL HD 2024, Korrik
Anonim
Image
Image

Shumë prej nesh, veçanërisht gjatë verës, përdorin AC pothuajse pa ndërprerje, kur në realitet në periudha të caktuara të ditës ne thjesht mund të hapim një dritare dhe të shijojmë një erë të këndshme. Gjithashtu, ne personalisht vumë re se ndonjëherë madje thjesht harrojmë të fikim AC kur largohemi nga dhoma, duke humbur energji dhe para.

Zgjidhja që do të ndërtojmë do të krahasojë temperaturën e brendshme me atë të jashtme, dhe kur ato të jenë mjaft afër, do të na njoftojë përmes Facebook Messanger se është koha për të hapur një dritare dhe për t'i dhënë AC pushim.

Gjithashtu, ne do të bëjmë një mekanizëm tjetër për të na njoftuar kur harrojmë AC ndezur dhe largohemi nga dhoma.

Hapi 1: Pak më shumë detaje

Ne mbledhim të dhëna nga 4 sensorë të ndryshëm:

  • Dy sensorë DHT mbledhin temperaturën brenda shtëpisë dhe jashtë shtëpisë.
  • Një sensor PIR zbulon lëvizjen në dhomë.
  • Një mikrofon Electret përdoret për të zbuluar erën që del nga rryma e ajrit, një mënyrë e thjeshtë dhe e besueshme për të përcaktuar nëse rryma është e ndezur.

Të dhënat që vijnë nga sensorët do të përpunohen dhe dërgohen në Blynk ku do të shfaqen në një ndërfaqe që ne do të krijojmë. Gjithashtu, ne do të shkaktojmë ngjarje IFTTT në mënyrë që të njoftojmë përdoruesin kur ai mund të hapë një dritare në vend të AC, dhe kur ai e harron AC -në dhe largohet nga dhoma për një periudhë të paracaktuar kohe.

Ndërfaqja Blynk gjithashtu do të na japë një mënyrë për të ndryshuar cilësimet përkatëse sipas preferencës së përdoruesit, siç do të diskutojmë në më shumë detaje më vonë.

Pjesët e kërkuara:

  1. Moduli WiFi - ESP8266
  2. Sensor PIR.
  3. Sensorë të temperaturës DHT11/DHT22 x2.
  4. Rezistenca 10k/4.7k (DHT11 - 4.7k, DHT22 - 10k, PIR - 10k).
  5. Mikrofon elektrik.
  6. Kërcyesit.
  7. Kabllot e gjata (tela e telefonit do të bëjë një punë të shkëlqyeshme).

Kodi i plotë i projektit është bashkangjitur në fund me komente në të gjithë kodin.

Logjikisht, ajo ka disa shtresa të ndryshme të funksionalitetit:

  • Të dhënat nga sensorët lexohen në intervale prej 3 sekondash pasi tregojnë se janë më të sakta dhe nuk ka nevojë për më shumë se kaq.
  • Një pjesë e kodit mban gjurmët e gjendjes AC sipas vlerave që vijnë nga mikrofoni elektrik i cili vendoset mbi hapjen e AC.
  • Një pjesë tjetër është mbajtja e gjurmëve të leximit që vijnë nga sensorët e temperaturës, dhe ndryshimi i përdorimit të përcaktuar si i pranueshëm për të kthyer AC dhe për të hapur një dritare në vend. Ne shikojmë për momentin kur temperaturat afrohen mjaftueshëm.
  • Një pjesë e tretë është mbajtja e gjurmëve të lëvizjes në dhomë. Nëse nuk zbulon ndonjë lëvizje të madhe (mënyra për të kontrolluar majorin do të shpjegohet së shpejti) për një afat kohor të përcaktuar nga përdoruesi, dhe gjendja e rrymës është e ndezur, një njoftim do t'i dërgohet përdoruesit.
  • Njoftimet trajtohen përmes nxitjes së IFTTT Webhooks të cilat i dërgojnë mesazhe të paracaktuara përdoruesit përmes Facebook Messenger
  • Pjesa e fundit që vlen të përmendet është pjesa e cila trajton ndërfaqen Blynk, si duke marrë ndryshimet që përdoruesi bën në variabla, ashtu edhe në anën tjetër - duke i shtyrë të dhënat në ndërfaqen Blynk që përdoruesi t'i shohë.

Hapi 2: Në shumë më tepër detaje - Sensorë

Në shumë më tepër detaje - Sensorë
Në shumë më tepër detaje - Sensorë
Në shumë më tepër detaje - Sensorë
Në shumë më tepër detaje - Sensorë

Le të fillojmë.

Së pari, duhet të sigurohemi që të dy sensorët tanë DHT lexojnë të njëjtën temperaturë kur vendosen në të njëjtin vend. Për këtë, ne bëmë një skicë të thjeshtë të bashkangjitur në fund të këtij seksioni (CompareSensors.ino). Lidhni të dy sensorët dhe sigurohuni që të ndryshoni llojin e sensorëve DHT në skicë sipas atyre që keni (parazgjedhja është një DHT11 dhe një DHT22, kështu që mund të shihni se si trajtohen të dy në kod). Hapni monitorin serik dhe lërini të punojnë për një kohë, veçanërisht nëse përdorni sensorë DHT11, pasi ato kanë tendencë të zgjasin më shumë për t'u përshtatur me ndryshimet e temperaturës.

Vini re ndryshimin midis sensorëve dhe futeni atë më vonë në kodin kryesor në ndryshoren "offset".

Vendosja e sensorëve:

Një sensor DHT duhet të vendoset në murin e jashtëm të shtëpisë, kështu që lidheni atë me disa kabllo të gjatë, aq të gjatë sa të arrini në ESP8266 tuaj brenda dhomës dhe vendoseni jashtë (mund të bëhet lehtë përmes dritares). Sensori tjetër DHT duhet të vendoset në dërrasën e bukës, brenda dhomës në të cilën ne përdorim AC.

Mikrofoni elektrik gjithashtu duhet të lidhet me kabllo mjaft të gjatë dhe të vendoset në një vend ku era që del nga AC do ta godasë atë.

Së fundi, sensori PIR duhet të vendoset në një vend përballë qendrës së dhomës në mënyrë që të kapë çdo lëvizje në dhomë. Vini re se sensori ka dy çelësa të vegjël, njëri kontrollon vonesën (sa kohë sinjali HIGH i zbulimit të një lëvizjeje mbahet LART HIGH), dhe tjetri kontrollon ndjeshmërinë (shiko figurën).

Ju mund të keni nevojë të luani me të derisa të lexoni me të cilën jeni të kënaqur. Për ne, rezultati më i mirë ishte vonesa deri në të majtë (vlera më e ulët) dhe ndjeshmëria pikërisht në mes. Kodi siguron printime serike të cilat përfshijnë lexime nga të gjithë sensorët që do ta bëjnë korrigjimin e problemeve të tilla shumë më të lehtë.

Lidhja e sensorëve:

Numrat e pin që kemi përdorur janë si më poshtë (dhe mund të ndryshohen në kodin kryesor):

Jashtë sensorit DHT - D2.

Brenda sensorit DHT - D3.

Electret - A0 (pin analog).

PIR - D5.

Skemat për lidhjen e secilës prej tyre mund të gjenden lehtësisht duke përdorur kërkimin e imazheve në Google me diçka sipas linjës së "skemës së rezistencës PIR Arduino" (ne nuk do të donim t'i kopjonim këtu dhe të kalonim çdo vijë të së drejtës së autorit:)).

Ne gjithashtu i bashkangjitëm një fotografi të tabelës sonë të bukës, ndoshta është e vështirë të ndjekësh me të vërtetë lidhjet, por mund të japë një ndjenjë të mirë për të.

Siç e dini me siguri, gjërat rrallë funksionojnë herën e parë që i lidhim. Kjo është arsyeja pse ne krijuam një funksion i cili printon leximet nga sensorët në një mënyrë të lehtë për t'u lexuar, kështu që ju mund të korrigjoni rrugën tuaj që ata të funksionojnë. Nëse nuk doni që kodi të përpiqet të lidhet me Blynk gjatë korrigjimit, thjesht komentoni "Blynk.begin (auth, ssid, pass);" nga pjesa e konfigurimit të kodit, drejtojeni atë dhe hapni monitorin serik për të parë printimet. Ne gjithashtu bashkangjitëm një fotografi të printimeve.

Hapi 3: Në shumë më tepër detaje - Sekuenca IFTTT

Në shumë më tepër detaje - Sekuenca IFTTT
Në shumë më tepër detaje - Sekuenca IFTTT

Pra, ne duam të njoftohemi në dy skenarë:

1. Temperatura e jashtme është mjaft afër asaj që kemi brenda me AC që punon.

2. Ne kemi lënë dhomën për një periudhë të zgjatur kohe dhe AC është ende duke punuar.

IFTTT na mundëson të lidhim shumë shërbime të ndryshme të cilat zakonisht nuk ndërveprojnë, në një mënyrë shumë të thjeshtë. Në rastin tonë, na lejon të dërgojmë njoftime shumë lehtë përmes shumë shërbimeve. Ne zgjodhëm Facebook Messanger, por pasi ta keni punuar me Facebook Messanger ju do të jeni në gjendje ta ndryshoni me lehtësi atë në çdo shërbim tjetër sipas zgjedhjes suaj.

Procesi:

Në faqen e internetit të IFTTT klikoni në emrin tuaj të përdoruesit (këndi i sipërm i djathtë) dhe më pas "New Applet" zgjidhni "Webhooks" si shkas ("kjo"), dhe zgjidhni "Merrni një kërkesë në internet". Vendosni një emër ngjarjeje (p.sh. dhoma bosh).

Për shërbimin e aktivizuar, veprimin ("atë"), zgjidhni Facebook Messenger> Dërgo mesazh dhe shkruani mesazhin që dëshironi të merrni kur të ndodhë kjo ngjarje (p.sh. "Përshëndetje, duket sikur e keni harruar AC në: ).

Ndërsa jemi këtu, ju gjithashtu duhet të gjeni çelësin tuaj sekret të cilin do t'ju duhet ta futni në vendin e duhur në kod.

Për të gjetur çelësin tuaj sekret shkoni te https://ifttt.com/services/maker_webhooks/settings Aty do të gjeni një URL me çelësin tuaj në formatin e mëposhtëm:

Hapi 4: Në shumë më tepër detaje - Blynk

Image
Image
Në shumë më tepër detaje - Blynk
Në shumë më tepër detaje - Blynk
Në shumë më tepër detaje - Blynk
Në shumë më tepër detaje - Blynk

Ne gjithashtu duam një ndërfaqe e cila do të ketë karakteristikat e mëposhtme:

1. Aftësia për të përcaktuar se sa kohë duhet të jetë dhoma e zbrazët me AC që punon para se të njoftohemi

2. Aftësia për të zgjedhur se sa afër temperaturës së jashtme duhet të jetë brenda.

3. Një ekran për leximet nga sensorët e temperaturës

4. Një led që na tregon gjendjen e AC (ndezur/fikur).

5. Dhe më e rëndësishmja, një ekran për të treguar sa $ $ $ dhe energji kemi kursyer.

Si të krijoni ndërfaqen Blynk:

Nëse nuk e keni ende aplikacionin Blynk, shkarkojeni atë në telefonin tuaj. Kur hapni aplikacionin dhe krijoni një projekt të ri, sigurohuni që të zgjidhni pajisjen e duhur (p.sh. ESP8266).

Do të merrni një email me një shenjë vërtetimi, të cilin do ta futni në kodin në vendin e duhur (gjithashtu mund ta dërgoni përsëri tek vetja nga cilësimet më vonë nëse e humbni).

Vendosni pajisje të reja në ekranin tuaj, klikoni shenjën + në krye. Zgjidhni widget -et dhe më pas klikoni mbi një widget për të futur cilësimet e tij. Ne kemi shtuar fotografi të cilësimeve për të gjitha widget -et që kemi përdorur, për referencën tuaj.

Pasi të keni mbaruar me aplikacionin dhe kur dëshironi ta përdorni atë, thjesht klikoni në ikonën "luaj" në këndin e sipërm të djathtë për të ekzekutuar aplikacionin Blynk. Ju gjithashtu do të jeni në gjendje të shihni kur lidhet ESP8266 juaj.

Shënim - butoni "përditësim" përdoret për të marrë temperaturën dhe gjendjen e rrymës alternative që ne të shohim në aplikacion. Nuk kërkohet kur ndryshoni cilësimet (siç është ndryshimi i temperaturës), pasi ato shtyhen automatikisht.

Hapi 5: Kodi

Ne bëmë shumë përpjekje për të dokumentuar çdo pjesë të kodit në një mënyrë që do ta bënte kuptimin e tij sa më të lehtë.

Pjesët në kodin që duhet të ndryshoni para se ta përdorni (si çelësi i autorizimit për Blynk, SSID -i juaj wifi dhe fjalëkalimi, etj …) ndiqen nga komenti //* ndryshimi*, kështu që lehtë mund t'i kërkoni.

Ju do të duhet të keni bibliotekat e përdorura në kod, mund t'i instaloni përmes Arduino IDE duke klikuar Skicë> Përfshi Bibliotekat> Menaxhoni Bibliotekat. Aty mund të kërkoni emrin e bibliotekës dhe ta instaloni. Gjithashtu, sigurohuni që të vendosni skedarin generic8266_ifttt.h në të njëjtin vend si ACsaver.ino.

Një pjesë e kodit që do të shpjegojmë këtu pasi nuk donim ta ngatërronim kodin, është mënyra se si vendosim kur të ndryshojmë gjendjen e AC nga ndezur në fikur dhe gjendjen e dhomës nga bosh në jo të zbrazët.

Ne lexojmë nga sensorët çdo 3 sekonda, por pasi sensorët nuk janë 100% të saktë, ne nuk duam që një lexim i vetëm të ndryshojë gjendjen që besojmë se është në dhomë tani. Për ta zgjidhur këtë, ajo që bën kodi, është se kemi një numërues që ne ++ kur marrim një lexim në favor të "AC është aktiv", dhe - përndryshe. Pastaj, kur arrijmë në vlerën e përcaktuar në SWITCHAFTER (parazgjedhja në 4), ndryshojmë gjendjen në "AC është aktiv", kur arrijmë në -SWITCHAFTER (negative me të njëjtën vlerë), ndryshojmë gjendjen në "AC është i fikur ".

Ndikimi në kohën që duhet për të kaluar është i papërfillshëm dhe ne e konsiderojmë atë si shumë të besueshëm në zbulimin e vetëm ndryshimeve të sakta.

Hapi 6: Vendosja e të gjitha së bashku

Ok, kështu që të gjithë sensorët janë në vend dhe funksionojnë siç duhet. Ndërfaqja Blynk është vendosur (me kunjat e duhura virtuale!). Dhe ngjarjet e IFTTT janë duke pritur për shkasin tonë.

Ju keni futur çelësin sekret IFTTT në kod, çelësin auth nga Blynk, SSID -in e WiFi tuaj dhe fjalëkalimin, dhe madje keni kontrolluar që sensorët DHT janë të kalibruar dhe nëse jo, keni ndryshuar kompensimin në përputhje me rrethanat (për shembull, tonat jashtë DHT lexoi temperatura më të larta me 1 gradë Celsius sesa ajo që ai duhet të ketë, kështu që ne përdorëm kompensim = -1).

Sigurohuni që WiFi juaj të jetë ngritur, filloni aplikacionin tuaj Blynk dhe ngarkoni kodin në ESP8266 tuaj.

Kjo eshte. Nëse gjithçka është bërë si duhet, mund të luani tani dhe ta shihni atë në veprim.

Dhe nëse thjesht doni ta shihni atë në veprim pa telashe për t'i bashkuar të gjitha … Epo … Shkoni lart dhe shikoni videon. (Shikoni me titra! Pa zë)

Hapi 7: Mendimet

Ne kishim dy sfida kryesore këtu.

Para së gjithash, si e dimë që AC është i ndezur? Ne u përpoqëm të përdorim një marrës IR që do të "dëgjojë" komunikimin midis AC dhe telekomandës. Duket se ishte shumë e ndërlikuar, pasi të dhënat ishin shumë të çrregullta dhe nuk ishin mjaft të qëndrueshme për të kuptuar "mirë, ky është një sinjal ON". Kështu që ne kërkuam mënyra të tjera. Një ide ishte përdorimi i një helike të vogël e cila do të gjenerojë rrymë të vogël kur lëviz nga era e AC, një ide tjetër që ne u përpoqëm ishte të kishim një akselerometër që të matte këndin e krahëve rrotullues në shfryn dhe të zbulonte lëvizjen e tyre nga pozicioni OFF.

Përfundimisht, ne kuptuam se mënyra më e thjeshtë për ta bërë atë është me mikrofonin elektrik, i cili me shumë besueshmëri zbulon erën që del nga AC

Vënia në punë e sensorëve DHT ishte një fllad;), por vetëm më vonë kuptuam se njëri prej tyre ishte pak larg temperaturës reale. Sensori PIR gjithashtu kërkoi disa rregullime, siç përshkruhet më parë.

Sfida e dytë ishte bërja e të gjithë zgjidhjes e thjeshtë dhe e besueshme. Në një kuptim që duhet të jetë e bezdisshme për t'u përdorur, thjesht duhet të jetë atje dhe të nxisë kur të keni nevojë. Përndryshe, ne vetë ndoshta do të ndalonim përdorimin e tij.

Kështu që ne menduam pak për atë që duhet të jetë në ndërfaqen Blynk dhe u përpoqëm ta bënim kodin sa më të besueshëm, duke u kujdesur për çdo rast të skajit me të cilin mund të dilnim.

Një sfidë tjetër, të cilën ne nuk arritëm ta zgjidhim deri në kohën kur shkruam këtë udhëzues, ishte shtimi i një blaster IR që do të na lejojë të fikim AC nga ndërfaqja Blynk. Cila është kuptimi të dini se keni harruar AC pa mundësinë për t'u fikur? (mirë … mund të pyesni dikë nëse është në shtëpi).

Fatkeqësisht, ne kishim disa vështirësi në riprodhimin e sinjaleve të regjistruara nga telekomanda, përsëri në AC me ESP8266. Ne arritëm të kontrollonim AC nga një Arduino Uno, duke ndjekur këtë udhëzues:

www.instructables.com/id/How-to-control-th…

Ne do të përpiqemi përsëri së shpejti, dhe do të përditësojmë udhëzimet me gjetjet tona, dhe shpresojmë udhëzimet se si ta shtojmë atë aftësi.

Një kufizim tjetër që ne shohim është fakti që ne kemi nevojë të lidhim një sensor jashtë dritares, i cili mund të mos jetë i mundur në situata të caktuara, dhe gjithashtu nënkupton një nevojë të gjatë kabllo për të dalë jashtë. Një zgjidhje mund të jetë marrja e të dhënave të motit të vendndodhjes tuaj nga interneti. Gjithashtu, sensori elektrik i cili shkon nga AC mund të zëvendësohet me marrësin IR që kemi përshkruar më sipër, për modelet e AC me kode IR më të njohura ose të lehta për tu deshifruar.

Projekti mund të zgjerohet në shumë mënyra. Siç u tha më lart, ne do të përpiqemi të gjejmë një mënyrë për të përfshirë kontrollin IR mbi AC, i cili më pas hap një botë krejtësisht të re të mundësive për të ndezur dhe fikur AC nga kudo në botë, ose për të vendosur dhe fikur kohën përmes Blynk aplikacioni, si një shembull tjetër. Pas zbulimit të vështirësive teknike IR, shtimi i kodit është mjaft i thjeshtë dhe i drejtpërdrejtë, dhe nuk duhet të zgjasë shumë.

Nëse vërtet duam të ëndërrojmë të madh … Projekti mund të shndërrohet në një modul të plotë i cili e bën çdo AC një AC të zgjuar. Dhe nuk ka nevojë për më shumë se ne. Vetëm më shumë kod, më shumë përdorim të IR, dhe nëse duam që ajo të prodhohet në masë, ndoshta sigurohuni që të merrni të dhënat e motit sipas vendndodhjes, atëherë mund ta vendosim të gjithë në një kuti të vogël të vogël.

Në të vërtetë, gjithçka që na nevojitet është një sensor i temperaturës për temperaturën e brendshme, një sensor PIR për të zbuluar lëvizjen, dhe një LED IR si një shpërthyes, dhe një marrës IR për të "dëgjuar" komunikimin midis AC dhe telekomandës që përdorim.

Blynk siguron të gjitha aftësitë që na duhen për të kontrolluar kutinë magjike, në një mënyrë shumë të thjeshtë dhe të besueshme.

Bërja e një projekti të tillë të plotë do të marrë pak kohë, veçanërisht nga pikëpamja e bërjes së tij mjaft të shkathët për të konfiguruar veten dhe zbuluar dhe kuptuar automatikisht shumicën e AC.

Por duke e bërë atë për veten tuaj, mirë, nëse e bëni atë në kohën tuaj të lirë, ne përafërsisht nuk duhet të zgjasë më shumë se një javë ose dy. Varet nga sa kohë e lirë keni … Sfida kryesore këtu do të ishte të ruani të gjitha sinjalet e ndryshme që telekomanda AC mund të dërgojë dhe kuptimin e tyre. (Edhe pse vetëm rishikimi i tyre duhet të jetë edhe më i lehtë).

Recommended: