Kazalo:
- Korak: Malo več podrobnosti
- 2. korak: Več podrobnosti - senzorji
- 3. korak: Več podrobnosti - zaporedje IFTTT
- 4. korak: Več podrobnosti - Blynk
- 5. korak: Koda
- Korak 6: Združite vse skupaj
- 7. korak: Misli
Video: IDC2018IOT Povej mi, kdaj naj izklopim AC: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Mnogi med nami, še posebej v poletnem času, uporabljamo klimatsko napravo skoraj neprekinjeno, ko lahko v resnici ob določenih urah dneva odpremo okno in uživamo v prijetnem vetriču. Prav tako smo osebno opazili, da včasih celo pozabimo izklopiti klimatsko napravo, ko zapustimo sobo, zapravljamo energijo in denar.
Rešitev, ki jo bomo zgradili, bo notranjo temperaturo primerjala z zunanjo in ko bodo dovolj blizu, nas bo prek Facebook Messangerja obvestila, da je čas, da odpremo okno in počivamo.
Prav tako bomo naredili nov mehanizem, ki nas bo obvestil, ko smo pozabili vklopiti klimatsko napravo in zapustiti sobo.
Korak: Malo več podrobnosti
Zbiramo podatke iz 4 različnih senzorjev:
- Dva senzorja DHT zbirajo temperaturo znotraj hiše in zunaj nje.
- En senzor PIR zazna gibanje v prostoru.
- En elektronski mikrofon se uporablja za zaznavanje vetra, ki prihaja iz ventilacijskega ventila, kar je preprost in zanesljiv način za ugotavljanje, ali je AC vklopljen.
Podatki, ki prihajajo iz senzorjev, bodo obdelani in poslani v Blynk, kjer bodo prikazani v vmesniku, ki ga bomo ustvarili. Prav tako bomo sprožili dogodke IFTTT, da bomo uporabnika obvestili, kdaj lahko namesto AC -ja odpre okno, in ko je pozabil na vklopljen AC in zapustil sobo za vnaprej določeno časovno obdobje.
Vmesnik Blynk nam bo omogočil tudi spreminjanje ustreznih nastavitev glede na želje uporabnikov, o čemer bomo podrobneje razpravljali kasneje.
Potrebni deli:
- Modul WiFi - ESP8266
- PIR senzor.
- Temperaturni senzorji DHT11/DHT22 x2.
- 10 k/4,7 k upori (DHT11 - 4,7k, DHT22 - 10k, PIR - 10k).
- Električni mikrofon.
- Skakalci.
- Dolgi kabli (telefonska žica bo odlično opravila).
Celotna koda projekta je na koncu priložena s komentarji v kodi.
Logično ima nekaj različnih slojev funkcionalnosti:
- Podatki s senzorjev se berejo v presledkih 3 sekund, saj se izkažejo za natančnejše in več kot to ni potrebno.
- En del kode spremlja stanje AC z vrednostmi, ki prihajajo iz elektronskega mikrofona, ki je nameščen nad odprtino AC.
- Drugi del je spremljanje odčitkov, ki prihajajo s temperaturnih senzorjev, in razlika, ki je opredeljena kot sprejemljiva za vklop AC in odpiranje okna. Iščemo trenutek, ko se temperature dovolj približajo.
- Tretji del je spremljanje gibanja v prostoru. Če v časovnem okviru, ki ga določi uporabnik, ne zazna velikega premikanja (način preverjanja glavnega bo kmalu razložen) in je stanje AC vklopljeno, bo uporabniku poslano obvestilo.
- Obvestila se obravnavajo s sprožitvijo spletnih klicev IFTTT, ki uporabniku pošiljajo vnaprej določena sporočila prek Facebook Messengerja
- Zadnji del, ki ga je treba omeniti, je del, ki obravnava vmesnik Blynk, tako da pridobi spremembe, ki jih uporabnik naredi v spremenljivkah, in na drugi način - potisne podatke v vmesnik Blynk, da jih uporabnik vidi.
2. korak: Več podrobnosti - senzorji
Začnimo.
Najprej se moramo prepričati, da oba senzorja DHT bereta enako temperaturo, ko sta postavljena na isto mesto. Za to smo naredili preprosto skico, priloženo na koncu tega razdelka (CompareSensors.ino). Povežite oba senzorja in se prepričajte, da ste v skici spremenili vrsto senzorjev DHT glede na tiste, ki jih imate (privzeto sta en DHT11 in en DHT22, tako da si lahko ogledate, kako sta oba obravnavana v kodi). Odprite serijski monitor in pustite delovati nekaj časa, še posebej, če uporabljate senzorje DHT11, saj običajno traja dlje, da se prilagodijo temperaturnim spremembam.
Upoštevajte razliko med senzorji in jo pozneje vstavite v glavno kodo spremenljivke "offset".
Namestitev senzorjev:
En zunanji senzor DHT je treba namestiti na zunanjo steno hiše, zato ga priključite na nekaj dolgih kablov, ki so dovolj dolgi, da dosežejo vaš ESP8266 v prostoru, in ga postavite zunaj (enostavno lahko skozi okno). Drugi senzor DHT je treba postaviti na ploščico, znotraj prostora, v katerem uporabljamo izmenični tok.
Električni mikrofon je treba priključiti tudi na dovolj dolge kable in ga postaviti na mesto, kjer ga bo udaril veter, ki prihaja iz izmeničnega toka.
Nazadnje je treba senzor PIR postaviti na mesto, obrnjeno proti sredini prostora, da bo zajel vsak gib v prostoru. Upoštevajte, da ima senzor dva majhna gumba, od katerih eden nadzoruje zakasnitev (kako dolgo ostane HIGH signal zaznavanja gibanja HIGH), drugi pa občutljivost (glej sliko).
Morda se boste morali poigrati, dokler ne preberete, s čimer ste zadovoljni. Za nas je bil najboljši rezultat zamuda vse do leve (najnižja vrednost) in občutljivost desno na sredini. Koda vsebuje serijske odtise, ki vključujejo odčitke vseh senzorjev, ki bodo olajšali odpravljanje takšnih težav.
Priključitev senzorjev:
Številke pin, ki smo jih uporabili, so naslednje (in jih je mogoče spremeniti v glavni kodi):
Zunanji senzor DHT - D2.
Notranji senzor DHT - D3.
Electret - A0 (analogni pin).
PIR - D5.
Sheme za povezovanje vsakega od njih je mogoče zlahka najti z Googlovim iskanjem slik z nekaj podobnega "shema upora PIR Arduino" (ne bi jih želeli kopirati tukaj in prečkati avtorskih črt:)).
Priložili smo tudi sliko naše plošče, verjetno je res težko slediti povezavam, vendar lahko to da dober občutek.
Kot verjetno veste, stvari redkokdaj delujejo, ko jih prvič povežemo. Zato smo naredili funkcijo, ki na enostaven za branje natisne odčitke senzorjev, tako da lahko odpravite napake pri njihovem delovanju. Če ne želite, da se koda med odpravljanjem napak poskuša povezati z Blynkom, samo komentirajte "Blynk.begin (auth, ssid, pass);" iz nastavitvenega dela kode zaženite in odprite serijski monitor, da si ogledate odtise. Priložili smo tudi sliko odtisov.
3. korak: Več podrobnosti - zaporedje IFTTT
Zato želimo biti obveščeni v dveh scenarijih:
1. Zunanja temperatura je dovolj blizu tisti, ki jo imamo znotraj, ko deluje AC.
2. Za dlje časa smo zapustili sobo in klimatska naprava še vedno deluje.
IFTTT nam omogoča, da na zelo preprost način povežemo številne različne storitve, ki običajno ne delujejo. V našem primeru nam omogoča zelo enostavno pošiljanje obvestil prek številnih storitev. Izbrali smo Facebook Messanger, a potem, ko ga boste začeli delati s Facebook Messangerjem, ga boste zlahka spremenili v katero koli drugo storitev po vaši izbiri.
Postopek:
Na spletnem mestu IFTTT kliknite svoje uporabniško ime (zgornji desni kot) in nato "New Applet" izberite "Webhooks" kot sprožilec ("this") in izberite "Receive web request". Nastavite ime dogodka (npr. Prazna_prostor).
Za sproženo storitev dejanje (»tisto«) izberite Facebook Messenger> Pošlji sporočilo in vnesite sporočilo, ki ga želite prejeti, ko se zgodi ta dogodek (npr. »Živjo, zdi se, da ste pozabili AC na: ).
Medtem ko smo tukaj, morate najti tudi svoj skrivni ključ, ki ga boste morali vstaviti na ustrezno mesto v kodi.
Če želite poiskati svoj skrivni ključ, pojdite na https://ifttt.com/services/maker_webhooks/settings Tam boste našli URL s ključem v naslednji obliki:
4. korak: Več podrobnosti - Blynk
Prav tako želimo vmesnik, ki bo imel naslednje funkcije:
1. Sposobnost nastavitve, kako dolgo naj bo soba prazna, ko deluje klimatska naprava, preden prejmemo obvestilo
2. Sposobnost izbire, kako blizu naj bo zunanja temperatura notranjosti.
3. Prikaz odčitkov temperaturnih senzorjev
4. LED dioda, ki nam pove stanje AC (vklop/izklop).
5. In kar je najpomembneje, zaslon, ki prikazuje, koliko $$$ in energije smo prihranili.
Kako ustvariti vmesnik Blynk:
Če še nimate aplikacije Blynk, jo prenesite v telefon. Ko odprete aplikacijo in ustvarite nov projekt, izberite ustrezno napravo (npr. ESP8266).
Prejeli boste e -poštno sporočilo z žetonom za preverjanje pristnosti, ki ga boste v kodo vstavili na ustrezno mesto (pozneje ga lahko pozneje tudi sami pošljete iz nastavitev, če ga izgubite).
Na zaslon postavite nove pripomočke, kliknite znak + na vrhu. Izberite pripomočke in nato kliknite gradnik, da vnesete njegove nastavitve. Za vašo referenco smo dodali slike nastavitev za vse pripomočke, ki smo jih uporabljali.
Ko končate z aplikacijo in ko jo na koncu želite uporabiti, preprosto kliknite ikono »predvajaj« v zgornjem desnem kotu, da zaženete aplikacijo Blynk. Prav tako boste lahko videli, kdaj se vaš ESP8266 poveže.
Opomba - gumb »posodobi« se uporablja za pridobivanje temperature in stanja klimatske naprave, ki ga lahko vidimo v aplikaciji. Pri spreminjanju nastavitev (na primer temperaturne razlike) ni potrebno, saj se samodejno potisnejo.
5. korak: Koda
Veliko smo si prizadevali dokumentirati vsak del kode na način, ki bi olajšal njegovo razumevanje.
Delcem kode, ki jih morate spremeniti, preden jih uporabite (kot ključ za avtentikacijo za Blynk, vaš SSID in geslo za wifi itd.), Sledi komentar //* spremenite*, tako da jih lahko preprosto poiščete.
V kodi boste morali uporabiti knjižnice, ki jih lahko namestite prek Arduino IDE, tako da kliknete Sketch> Include Libraries> Manage Libraries. Tam lahko poiščete ime knjižnice in ga namestite. Poskrbite tudi, da datoteko generic8266_ifttt.h postavite na isto mesto kot ACsaver.ino.
Del kode, ki ga bomo tukaj razložili, ker kode nismo želeli nerediti, je, kako se odločimo, kdaj spremeniti stanje AC iz vklopa v izklop in stanje prostora iz praznega v neizpraznjenega.
S senzorjev beremo vsake 3 sekunde, a ker senzorji niso 100% natančni, ne želimo, da bi en sam odčitek spremenil stanje, za katerega menimo, da je zdaj v sobi. Za rešitev tega, kar počne koda, je, da imamo števec, ki ga ++, ko dobimo branje v korist "AC je vklopljen", in - drugače. Nato, ko pridemo do vrednosti, določene v SWITCHAFTER (privzeto na 4), spremenimo stanje v "AC je vklopljen", ko pridemo v -SWITCHAFTER (negativno ista vrednost), stanje spremenimo v "AC je izklopljen" ".
Vpliv na čas, ki je potreben za preklop, je zanemarljiv in se nam zdi zelo zanesljiv pri odkrivanju le pravilnih sprememb.
Korak 6: Združite vse skupaj
V redu, torej so vsi senzorji na svojem mestu in delujejo pravilno. Vmesnik Blynk je nastavljen (s pravilnimi virtualnimi zatiči!). Dogodki IFTTT čakajo na naš sprožilec.
V kodo ste vstavili skrivni ključ IFTTT, ključ za avtentikacijo podjetja Blynk, SSID vašega WiFi -ja in geslo ter celo preverili, ali so senzorji DHT umerjeni, in če ne, ustrezno spremenili odmik (npr. zunaj DHT je prebral temperature višje za 1 stopinjo Celzija, kot bi moral imeti, zato smo uporabili offset = -1).
Prepričajte se, da je vaša WiFi vklopljena, zaženite aplikacijo Blynk in kodo naložite v svoj ESP8266.
To je to. Če je bilo vse narejeno pravilno, se lahko zdaj poigrate in vidite, kako deluje.
In če ga želite videti v akciji brez težav, da vse skupaj sestavite … No … Pomaknite se navzgor in si oglejte video. (Glejte s podnapisi! Brez glasu)
7. korak: Misli
Tu smo imeli dva glavna izziva.
Najprej, kako vemo, da je AC vklopljen? Poskušali smo uporabiti IR sprejemnik, ki bo "poslušal" komunikacijo med AC in daljinskim upravljalnikom. Zdelo se je preveč zapleteno, saj so bili podatki zelo neurejeni in niso bili dovolj skladni, da bi razumeli "ok, to je signal ON". Zato smo iskali druge poti. Ena ideja je bila uporaba majhnega propelerja, ki bo ustvarjal majhen tok, ko se premika od vetra AC, druga ideja, ki smo jo poskusili, je bila, da merilnik pospeška izmeri kot vrtljivih kril na odprtinah in zazna njihovo gibanje iz položaja OFF.
Sčasoma smo ugotovili, da je to najpreprostejši način z električnim mikrofonom, ki zelo zanesljivo zaznava veter, ki prihaja iz izmeničnega toka
Začetek delovanja DHT -senzorjev je bil zelo hiter;), šele kasneje smo ugotovili, da je eden od njih nekoliko oddaljen od realne temperature. Senzor PIR je zahteval tudi nekaj prilagoditev, kot je opisano prej.
Drugi izziv je bil narediti celotno rešitev preprosto in zanesljivo. V smislu, da bi morala biti nadloga moteča, bi morala biti tam in pritisniti, ko jo potrebujete. V nasprotnem primeru bi ga sami verjetno nehali uporabljati.
Zato smo razmislili o tem, kaj bi moralo biti v vmesniku Blynk, in poskušali narediti kodo čim bolj zanesljivo, tako da smo poskrbeli za vsak robni primer, do katerega bi lahko prišli.
Drug izziv, ki ga nismo uspeli rešiti v času pisanja tega navodila, je bil dodati IR blaster, ki nam bo omogočil izklop AC iz vmesnika Blynk. Kakšen smisel je vedeti, da ste pozabili vklopiti AC brez možnosti izklopa? (no … lahko koga vprašaš, če je doma).
Na žalost smo imeli nekaj težav pri predvajanju signalov, ki smo jih posneli z daljinskega upravljalnika, nazaj v AC z ESP8266. Arduino Uno nam je uspel nadzorovati AC po tem navodilu:
www.instructables.com/id/How-to-control-th…
Kmalu bomo poskusili znova in navodila posodobili z našimi ugotovitvami in upajmo, da bomo navodila dodali.
Druga omejitev, ki jo vidimo, je dejstvo, da moramo senzor priključiti zunaj okna, kar v določenih situacijah morda ne bo mogoče, pomeni pa tudi dolg kabel, ki mora iti ven. Rešitev je lahko pridobivanje vremenskih podatkov o vaši lokaciji iz interneta. Tudi elektronski senzor, ki teče iz izmeničnega toka, lahko zamenjamo z IR sprejemnikom, ki smo ga opisali zgoraj, za modele AC z bolj znanimi ali enostavnimi dekodiranji IR kod.
Projekt je mogoče razširiti na več načinov. Kot je navedeno zgoraj, bomo poskušali najti način za vključitev IR nadzora nad AC, ki nato odpira povsem nov svet priložnosti za vklop in izklop AC iz kjer koli na svetu ali nastavitev časa vklopa in izklopa prek Blynka kot drug primer. Ko smo ugotovili tehnične težave z IR, je dodajanje kode dokaj preprosto in preprosto ter ne bi smelo trajati dolgo.
Če želimo res veliko sanjati … Projekt lahko spremenimo v celoten modul, ki naredi vsak AC pameten AC. In ne potrebuje veliko več kot mi. Še več kode, večja uporaba IR -a in če želimo, da se ta množično proizvaja, morda poskrbimo za pridobivanje vremenskih podatkov glede na lokacijo, potem lahko vse skupaj damo v majhno škatlico.
Resnično potrebujemo le temperaturni senzor za notranjo temperaturo, senzor PIR za zaznavanje gibanja in IR LED kot blaster ter IR sprejemnik za "poslušanje" komunikacije med AC in daljincem, ki ga uporabljamo.
Blynk ponuja vse zmogljivosti, ki jih potrebujemo za nadzor čarobne škatle na zelo preprost in zanesljiv način.
Izdelava tako celovitega projekta bo trajala nekaj časa, zlasti z vidika, da bo dovolj vsestranski, da se lahko sam konfigurira in samodejno zazna in razume večino AC -jev.
Ampak, če to naredite sami, no, če to počnete v prostem času, približno ne bi smelo trajati več kot teden ali dva. Odvisno od tega, koliko prostega časa imate … Glavni izziv bi bil shraniti vse različne signale, ki jih lahko pošlje daljinski upravljalnik, in jih osmisliti. (Čeprav bi moralo biti samo njihovo predvajanje še lažje).
Priporočena:
Ugotovite, kdaj je nekdo vstopil v sobo z radarskim senzorjem Xyc-wb-dc: 7 korakov
Ugotovite, kdaj je nekdo vstopil v sobo z radarskim senzorjem Xyc-wb-dc: V tej vadnici se bomo naučili, kako ugotoviti, kdaj je nekdo vstopil v sobo z uporabo modula RTC, radarskega senzorja xyc-wb-dc, zaslona OLED in arduina. predstavitveni video
Pametni notranji nadzor rastlin - veste, kdaj vaša rastlina potrebuje zalivanje: 8 korakov (s slikami)
Pametni nadzornik rastlin v zaprtih prostorih - Vedite, kdaj potrebuje zalivanje vaše rastline: Pred nekaj meseci sem naredil palico za spremljanje vlage v tleh, ki se napaja iz baterij in jo lahko vtaknemo v zemljo v loncu vaše sobne rastline, da vam dam nekaj koristnih informacij o tleh nivo vlage in utripajoče LED -diode, ki vam povedo, kdaj naj
Ugotovite, kdaj je nekdo vstopil v sobo: 7 korakov
Ugotovite, kdaj je nekdo vstopil v sobo: V tej vadnici se bomo naučili, kako ugotoviti, kdaj je nekdo vstopil v sobo z uporabo modula RTC, senzorja PIR, zaslona OLED in arduina. Oglejte si predstavitveni video
Ste kdaj želeli imeti video domofon?: 12 korakov
Ali ste kdaj želeli imeti video domofon?: UvodNajprej sem želel uporabiti svoj dejanski telefon Windows 10 in navidezne ščite Windows za nastavitev video in zvočne povezave z računalnikom z operacijskim sistemom Windows 10. Toda za začetnika, kot sem jaz, je bilo to težko uresničiti, saj bi moral pisati le
Popoln sadilnik - najpametnejši sadilnik, ki ste ga kdaj videli: 6 korakov
Popoln sadilnik - najpametnejši sadilnik, ki ste ga kdaj videli: Ta sadilnik je verjetno eden najpametnejših sadilnikov, kar ste jih kdaj videli. S svojim elegantnim in sodobnim dizajnom se ta sejalnik ponaša s senzorjem tal, ki zazna, ko so vaša tla suha. Ko se posuši, se vklopi peristaltična črpalka in samodejno zaliva