Tartalomjegyzék:

IDC2018IOT Mondja meg, mikor kell kikapcsolni az AC -t: 7 lépés
IDC2018IOT Mondja meg, mikor kell kikapcsolni az AC -t: 7 lépés

Videó: IDC2018IOT Mondja meg, mikor kell kikapcsolni az AC -t: 7 lépés

Videó: IDC2018IOT Mondja meg, mikor kell kikapcsolni az AC -t: 7 lépés
Videó: NA GYERE RÁM FREDDY 💪 | Five Nights at Freddy's: Security Breach #3 (PC) 2024, Július
Anonim
Image
Image

Sokan, különösen nyáron, szinte megállás nélkül használjuk az AC -t, miközben a valóságban a nap bizonyos szakaszaiban csak kinyithatunk egy ablakot, és élvezhetjük a kellemes szellőt. Emellett személyesen is észrevettük, hogy néha elfelejtjük kikapcsolni az AC -t, amikor elhagyjuk a szobát, energiát és pénzt pazarolva.

Az általunk felépített megoldás összehasonlítja a belső hőmérsékletet a külsővel, és amikor elég közel vannak, értesíteni fog minket a Facebook Messanger -en keresztül, hogy ideje kinyitni egy ablakot, és pihenni kell az AC -nek.

Ezenkívül egy másik mechanizmussal értesítjük, ha elfelejtettük az AC -t, és elhagytuk a szobát.

1. lépés: Egy kicsit több részlet

4 különböző érzékelőből gyűjtünk adatokat:

  • Két DHT érzékelő gyűjti a hőmérsékletet a házon belül és a házon kívül.
  • Egy PIR érzékelő érzékeli a mozgást a szobában.
  • Az egyik Electret mikrofont a váltakozó áramú szellőzőnyílásból érkező szél érzékelésére használják, egyszerű és megbízható módszer annak megállapítására, hogy az AC be van -e kapcsolva.

Az érzékelőkről származó adatokat feldolgozzuk és elküldjük a Blynk -nek, ahol az általunk létrehozott felületen megjelennek. Ezenkívül IFTTT eseményeket indítunk annak érdekében, hogy értesítsük a felhasználót arról, hogy mikor tud ablakot nyitni az AC helyett, és amikor elfelejtette az AC -t, és elhagyta a helyiséget egy előre meghatározott időre.

A Blynk interfész lehetőséget ad arra is, hogy a vonatkozó beállításokat a felhasználó preferenciái szerint módosítsuk, amint erről később részletesebben is tárgyalunk.

Szükséges alkatrészek:

  1. WiFi modul - ESP8266
  2. PIR érzékelő.
  3. DHT11/DHT22 hőmérséklet -érzékelők x2.
  4. 10k/4,7k ellenállások (DHT11 - 4,7k, DHT22 - 10k, PIR - 10k).
  5. Elektret mikrofon.
  6. Jumpers.
  7. Hosszú kábelek (a telefonvezeték nagyszerű munkát végez).

A projekt teljes kódját a végén csatoljuk a megjegyzésekkel.

Logikailag néhány különböző funkciós réteggel rendelkezik:

  • Az érzékelők adatait 3 másodperces időközönként olvassuk be, mivel ezek pontosabbnak bizonyulnak, és ennél többre nincs szükség.
  • A kód egyik része az AC állapotának nyomon követése az AC nyílása fölött elhelyezett elektret mikrofonból érkező értékekkel.
  • Egy másik rész a hőmérséklet -érzékelők által leolvasott értékek nyomon követése, és a különbség, hogy a használat elfogadhatónak minősül -e a váltakozó áramú fordulat és az ablak megnyitása helyett. Keressük azt a pillanatot, amikor a hőmérséklet elég közel lesz.
  • A harmadik rész a helyiség mozgásának nyomon követése. Ha nem észlel jelentős mozgást (a fő ellenőrzés módját hamarosan elmagyarázzuk) a felhasználó által meghatározott ideig, és az AC állapot BE, akkor értesítést küld a felhasználónak.
  • Az értesítéseket IFTTT webhookok indításával kezelik, amelyek előre meghatározott üzeneteket küldenek a felhasználónak a Facebook Messenger segítségével
  • Az utolsó rész, amelyet érdemes megjegyezni, az a rész, amely kezeli a Blynk felületet, mind a felhasználó által a változókban végrehajtott módosítások beszerzésével, mind a másik módon - az adatok áthelyezésével a Blynk felületre a felhasználó számára.

2. lépés: Sokkal több részletben - érzékelők

Sokkal több részletben - érzékelők
Sokkal több részletben - érzékelők
Sokkal több részletben - érzékelők
Sokkal több részletben - érzékelők

Kezdjük.

Először is meg kell győződnünk arról, hogy mindkét DHT érzékelőnk ugyanazt a hőmérsékletet olvassa, ha ugyanazon a helyen helyezik el. Ehhez készítettünk egy egyszerű vázlatot a szakasz végén (CompareSensors.ino). Csatlakoztassa mindkét érzékelőt, és győződjön meg arról, hogy a vázlatban szereplő DHT -érzékelők típusát a meglévőknek megfelelően módosítja (az alapértelmezett egy DHT11 és egy DHT22, így láthatja, hogyan kezelik mindkettőt a kódban). Nyissa ki a soros monitort, és hagyja egy ideig működni, különösen, ha DHT11 érzékelőket használ, mivel általában hosszabb ideig tart, amíg alkalmazkodnak a hőmérsékletváltozáshoz.

Jegyezze fel a különbséget az érzékelők között, és illessze be később a fő kódba az "eltolás" változóba.

Érzékelők elhelyezése:

Egy DHT érzékelőt a ház külső falára kell helyezni, ezért csatlakoztassa néhány hosszú kábelhez, amelyek elég hosszúak ahhoz, hogy elérje az ESP8266 készüléket a szobában, és helyezze kívülre (könnyen elvégezhető az ablakon keresztül). A másik DHT érzékelőt a kenyérsütő táblára kell helyezni, abba a helyiségbe, amelyben az AC -t használjuk.

Az elektret mikrofont is elég hosszú kábelekhez kell csatlakoztatni, és olyan helyre kell helyezni, ahol a váltakozó áramú levegőből érkező szél ütni fogja.

Végül a PIR érzékelőt a helyiség közepére néző helyre kell helyezni, hogy rögzítse a helyiség minden mozgását. Ne feledje, hogy az érzékelőnek két kis gombja van, az egyik a késleltetést szabályozza (mennyi ideig tartja a MAGAS jelet a mozgás érzékelésénél), a másik pedig az érzékenységet (lásd a képet).

Lehet, hogy addig kell játszadoznia vele, amíg el nem olvassa, amivel elégedett. Számunkra a legjobb eredmény a késleltetés egészen balra (legalacsonyabb érték) és az érzékenység jobbra középen volt. A kód soros nyomtatást biztosít, amely tartalmazza az összes érzékelő leolvasásait, amelyek jelentősen megkönnyítik az ilyen problémák hibakeresését.

Az érzékelők csatlakoztatása:

Az általunk használt PIN -számok a következők (és megváltoztathatók a fő kódban):

DHT külső érzékelő - D2.

Belső DHT érzékelő - D3.

Elektret - A0 (analóg tű).

PIR - D5.

Mindegyik csatlakoztatásának sémái könnyen megtalálhatók a Google képkereső használatával a "PIR ellenállás Arduino sematikus" vonal mentén (nem szeretnénk ide másolni őket, és átlépni a szerzői jogokat:)).

Mellékeltünk egy képet is a kenyérlapunkról, valószínűleg nehéz igazán követni az összefüggéseket, de jó érzést adhat hozzá.

Mint valószínűleg tudja, a dolgok ritkán működnek, ha valaha is működnek, amikor először csatlakoztatjuk őket. Ezért készítettünk egy funkciót, amely könnyen leolvasható módon kinyomtatja az érzékelők leolvasását, így hibakeresési módban működhet. Ha nem szeretné, hogy a kód hibakeresés közben megpróbáljon csatlakozni a Blynk -hez, írja be a "Blynk.begin (auth, ssid, pass);" a kód beállítási részéből futtassa azt, és nyissa meg a soros monitort a nyomatok megtekintéséhez. A nyomatokról képet is mellékeltünk.

3. lépés: Sokkal több részletben - IFTTT sorozat

Sokkal több részletben - IFTTT sorozat
Sokkal több részletben - IFTTT sorozat

Tehát két forgatókönyvben szeretnénk értesítést kapni:

1. A külső hőmérséklet elég közel van ahhoz, ami nálunk van, és az AC működik.

2. Hosszabb időre elhagytuk a termet, és az AC továbbra is működik.

Az IFTTT lehetővé teszi számunkra, hogy nagyon sok különböző, általában nem kölcsönhatásba lépő szolgáltatást kapcsoljunk össze. Esetünkben sok szolgáltatáson keresztül nagyon könnyen küldhetünk értesítéseket. A Facebook Messangert választottuk, de miután elkezdte működni a Facebook Messangerrel, könnyedén megváltoztathatja azt bármely más választott szolgáltatásra.

A folyamat:

Az IFTTT webhelyen kattintson a felhasználónevére (a jobb felső sarokban), majd az "Új kisalkalmazás" elemre, válassza a "Webhooks" -t, mint kiváltót ("ez"), majd válassza a "Webes kérés fogadása" lehetőséget. Állítson be egy eseménynevet (pl. Üres_szoba).

Az aktivált szolgáltatás esetében válassza ki a műveletet (az "azt"), válassza a Facebook Messenger> Üzenet küldése lehetőséget, és írja be az üzenetet, amelyet meg szeretne kapni, amikor ez az esemény megtörténik (pl. "Szia, úgy tűnik, mintha elfelejtette volna az AC -t: \").

Amíg itt vagyunk, meg kell találnia a titkos kulcsot is, amelyet be kell helyeznie a kód megfelelő helyére.

A titkos kulcs megtalálásához keresse fel a https://ifttt.com/services/maker_webhooks/settings oldalt. Itt talál egy kulcsszóval ellátott URL -címet a következő formátumban:

4. lépés: Sokkal több részletben - Blynk

Image
Image
Sokkal több részletben - Blynk
Sokkal több részletben - Blynk
Sokkal több részletben - Blynk
Sokkal több részletben - Blynk

Szeretnénk egy olyan felületet is, amely a következő funkciókkal rendelkezik:

1. Képes beállítani, hogy mennyi ideig legyen üres a szoba, miközben a légkondicionáló működik, mielőtt értesítést kapunk

2. Képesség kiválasztani, hogy a külső hőmérséklet milyen közel legyen a belsőhöz.

3. Kijelző a hőmérséklet -érzékelők leolvasásához

4. Egy led elmondja az AC állapotát (be/ki).

5. És ami a legfontosabb, egy kijelző, amely megmutatja, hogy mennyit $$$ és energiát takarítottunk meg.

A Blynk felület létrehozása:

Ha még nem rendelkezik a Blynk alkalmazással, töltse le a telefonjára. Amikor megnyitja az alkalmazást, és új projektet hoz létre, ügyeljen arra, hogy válassza ki a megfelelő eszközt (pl. ESP8266).

Kapsz egy e -mailt hitelesítési tokennel, amelyet beillesztesz a kódba a megfelelő helyre (később is elküldheted magadnak a beállításokból, ha elveszíted).

Helyezze el az új modulokat a képernyőn, kattintson a + jelre a tetején. Válassza ki a widgeteket, majd kattintson a widgetre a beállítások megadásához. Az általunk használt widgetek beállításairól képeket adtunk hozzá.

Miután befejezte az alkalmazást, és amikor végül használni szeretné, egyszerűen kattintson a "lejátszás" ikonra a jobb felső sarokban a Blynk alkalmazás futtatásához. Azt is láthatja, hogy mikor csatlakozik az ESP8266.

Megjegyzés - a "frissítés" gombbal lekérhetjük az AC hőmérsékletét és állapotát, hogy láthassuk az alkalmazásban. Nem szükséges a beállítások (például a hőmérsékletkülönbség) megváltoztatásakor, mivel azok automatikusan megnyomódnak.

5. lépés: A kód

Sok erőfeszítést tettünk annak érdekében, hogy a kód minden részét dokumentáljuk oly módon, hogy a lehető legegyszerűbb legyen annak megértése.

A kód azon részeit, amelyeket használat előtt meg kell változtatni (mint a Blynk hitelesítési kulcsa, a wifi SSID -je és jelszava stb.), A megjegyzés //* change* követi, így könnyen megkeresheti őket.

Szüksége lesz a kódban használt könyvtárakra, és telepítheti őket az Arduino IDE -n keresztül a Vázlat> Könyvtárak felvétele> Könyvtárak kezelése lehetőségre kattintva. Ott megkeresheti a könyvtár nevét és telepítheti. Győződjön meg arról is, hogy a generic8266_ifttt.h fájlt ugyanabba a helyre helyezi, mint az ACsaver.ino.

A kód egyik része, amelyet itt fogunk megmagyarázni, mivel nem akartuk összezavarni a kódot, az, hogy hogyan döntjük el, hogy mikor változtassuk az AC állapotát bekapcsoltról kikapcsoltra, és a szoba állapotát üresről nem üresre.

3 másodpercenként olvasunk az érzékelőkből, de mivel az érzékelők nem 100% -ban pontosak, nem akarjuk, hogy egyetlen leolvasás megváltoztassa azt az állapotot, amelyről úgy gondoljuk, hogy jelenleg a szobában van. Ennek megoldásához a kód mit tesz, ha van egy számlálónk, amelyet ++, amikor az "AC be van kapcsolva" javára olvasunk, és - egyébként. Ezután, amikor elérjük a SWITCHAFTER -ben meghatározott értéket (alapértelmezés szerint 4), az állapotot "AC be van kapcsolva" -ra változtatjuk, amikor -SWITCHAFTER -re (negatív ugyanaz az érték), akkor az állapotot "AC ki van kapcsolva" ".

A váltás idejére gyakorolt hatás elhanyagolható, és nagyon megbízhatónak találjuk, ha csak a helyes változásokat észleli.

6. lépés: Összerakás

Rendben, tehát minden érzékelő a helyén van és megfelelően működik. A Blynk interfész be van állítva (a megfelelő virtuális csapokkal!). Az IFTTT események pedig kivárásra várnak.

Beillesztette az IFTTT titkos kulcsot a kódba, a Blynk hitelesítési kulcsát, a WiFi SSID -jét és a jelszót, sőt azt is ellenőrizte, hogy a DHT érzékelők kalibrálva vannak -e, és ha nem, akkor ennek megfelelően módosította az eltolást (például a DHT -n kívül 1 Celsius -fokkal magasabb hőmérsékletet olvasott, mint amilyennek lennie kellett, ezért az eltolást = -1) használtuk.

Győződjön meg róla, hogy a WiFi be van kapcsolva, indítsa el a Blynk alkalmazást, és töltse be a kódot az ESP8266 készülékre.

Ez az. Ha mindent helyesen csináltak, most játszhat, és láthatja, hogyan működik.

És ha csak akcióban szeretné látni, anélkül, hogy az összeset össze kellene raknia… Nos … Görgessen felfelé, és nézze meg a videót. (Felirattal nézd! Nincs hang)

7. lépés: Gondolatok

Itt két fő kihívásunk volt.

Először is, honnan tudjuk, hogy az AC be van kapcsolva? Igyekeztünk olyan infravörös vevőt használni, amely "hallgatja" az AC és a távirányító közötti kommunikációt. Túl bonyolultnak tűnt, mivel az adatok nagyon rendetlenek és nem voltak elég következetesek ahhoz, hogy megértsék az "ok, ez egy BE jelzés" -t. Ezért más utakat kerestünk. Az egyik ötlet egy kicsi propeller használata volt, amely kis áramot generál, amikor az AC szélből mozog, egy másik ötletünk az volt, hogy gyorsulásmérővel mérjük a szellőzőnyílásokon lévő forgó szárnyak szögét, és érzékeljük mozgásukat OFF helyzetből.

Végül rájöttünk, hogy ennek legegyszerűbb módja az elektrétamikrofon, amely nagyon megbízhatóan érzékeli a váltakozó áramú levegőből érkező szelet

A DHT szenzorok működtetése egyszerű volt;), de csak később jöttünk rá, hogy egyikük kissé eltér a valódi hőmérséklettől. A PIR -érzékelő bizonyos módosításokat is igényelt, amint azt korábban leírtuk.

A második kihívás az volt, hogy az egész megoldást egyszerűvé és megbízhatóvá tegyük. Bizonyos értelemben bosszantónak kell lennie a használatához, csak ott kell lennie, és bökdösnie kell, amikor szüksége van rá. Ellenkező esetben valószínűleg mi magunk is abbahagynánk a használatát.

Tehát elgondolkodtunk azon, hogy mi legyen a Blynk felületen, és megpróbáltuk a kódot a lehető legmegbízhatóbbá tenni úgy, hogy gondoskodunk minden lehetséges esetről.

Egy másik kihívás, amelyet nem sikerült megoldanunk, mire megírtuk ezt az utasítást, az volt, hogy hozzáadtunk egy IR blaster -t, amely lehetővé teszi számunkra, hogy kikapcsoljuk az AC -t a Blynk felületről. Mi értelme van annak, ha tudod, hogy elfelejtetted az AC -t anélkül, hogy ki tudnád kapcsolni? (nos … megkérdezhet valakit, hogy otthon van -e).

Sajnos némi nehézséget okozott a távirányítóról rögzített jelek visszajátszása az ESP8266 segítségével az AC -hez. Sikerült irányítanunk az AC -t egy Arduino Uno segítségével, az alábbi utasítás szerint:

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

Hamarosan újra megpróbáljuk, és frissítjük az utasításokat eredményeinkkel, és remélhetőleg a képesség hozzáadására vonatkozó utasításokkal.

Egy másik korlátozás, amelyet látunk, az a tény, hogy egy érzékelőt kell csatlakoztatnunk az ablakon kívül, ami bizonyos esetekben nem lehetséges, és azt is jelenti, hogy hosszú kábelt kell kivenni. Megoldást jelenthet, ha lekérik az internetről a tartózkodási helyének időjárási adatait. Ezenkívül az AC -ről működő elektretérzékelőt le lehet cserélni a fent leírt IR -vevővel, az ismertebb vagy könnyen dekódolható IR -kódokkal rendelkező váltakozó áramú modellek esetében.

A projekt sokféleképpen meghosszabbítható. Amint fentebb említettük, megpróbálunk megoldást találni az infravörös vezérlés beépítésére az AC fölé, amely ezután egy teljesen új lehetőségek tárházát nyitja meg az AC be- és kikapcsolására a világ bármely pontjáról, illetve a Blynk -en keresztül történő be- és kikapcsolási időkre. egy másik példa. Miután kitalálta a technikai IR -nehézségeket, a kód hozzáadása meglehetősen egyszerű és egyszerű, és nem tarthat sokáig.

Ha valóban nagyot akarunk álmodni… A projektet át lehet alakítani egy komplett modulba, amely minden váltakozó áramot intelligens váltakozó árammá alakít. És nem kell hozzá több, mint nekünk. Csak több kód, az IR kihasználtsága, és ha azt akarjuk, hogy tömeggyártásban készüljön, esetleg győződjön meg arról, hogy az időjárási adatokat hely szerint szerzi be, akkor az egészet egy apró kis dobozba tehetjük.

Valójában csak egy belső hőmérséklet -érzékelőre, egy PIR -érzékelőre, amely érzékeli a mozgást, és egy IR LED -re, mint egy robbantóra, és egy IR -vevőre van szükség, amely "hallgatja" az általunk használt AC és a távirányító közötti kommunikációt.

A Blynk minden olyan lehetőséget biztosít, amire szükségünk van a varázsdoboz vezérléséhez, nagyon egyszerű és megbízható módon.

Egy ilyen teljes projekt elkészítése némi időt vesz igénybe, különösen abból a szempontból, hogy kellően sokoldalúvá tegye azt ahhoz, hogy konfigurálja magát, és automatikusan felismerje és megértse a legtöbb AC -t.

De ha elkészíti magának, nos, ha szabadidejében csinálja, akkor hozzávetőlegesen nem tart tovább egy -két hétnél. Attól függ, hogy mennyi szabadideje van… A fő kihívás itt az lenne, hogy elmentse a különböző jeleket, amelyeket a távirányító küldhet, és értelmezze azokat. (Bár csak az újrajátszásuknak még könnyebbnek kell lennie).

Ajánlott: