A rendszer alapja az intelligens otthon Raspberry Pi

intelligens otthon rendszer alapján Raspberry Pi

Tárgyak internete

intelligens otthon rendszer alapján Raspberry Pi

Ihlette az ötletet, hogy biztosítsák a saját intelligens otthon élet, elkezdtem dolgozni a projekt világítási rendszer a nappaliban a házát. A projekt célja az volt, hogy olyan rendszert hozzon létre, amely lehetővé teszi a telepítés időzítő kikapcsolásához világítás a nappaliban otthon a képességét, hogy ellenőrizzék a rendszer az interneten keresztül egy böngésző segítségével. Én is szerettem volna, hogy végre az API, amelyek ezt követően használható programozási ellenőrzési üzemmódban egyéb eszközök eszközöket.

hardver

Létrehozhatja a követelmények a rendszer, elkezdtem a kiválasztás hardver. Az 1. táblázat felsorolja az eszközöket és anyagokat, amelyeket megvalósításához használt otthoni hardver rendszer, és az 1. ábra egy blokkdiagram, a hardver a rendszer.

1. táblázat Eszközök és anyagok

Korlátozás feszítőkábelrészekhez

A rendszer alapja az intelligens otthon Raspberry Pi

1. ábra: blokkvázlata a hardver a rendszer

Leírása a telepítési folyamat, a hardver a rendszer időigényes, de ez elég egyszerű. Először is meg kell csatlakoztatni a tápkábelt a fali csatlakozóba hosszabbítót, elvágva a konnektorból a kiterjesztése. Vesd el a vezetékeket és rögzítse csavarokkal a tápegység terminál. További Raspberry Pi csatlakoztassa a tápegység, elvágva típusú csatlakozó az USB-kábelt, és az összekötő vezetékek a megfelelő tápfeszültség kapcsai és helyezze be a micro USB csatlakozót RPI tápcsatlakozó. Ezt követően meg kell tisztítani mindkét végén a két magot a hajlékony kábelt, és azokat a megfelelő terminálok jelölt GND és JDVcc tápegység és a relé doboz. Végül távolítsa el a jumpert összekötő kapcsok a kijelölése JDVcc kimeneti jelzett Vcc. Ebben az esetben, ha nem távolítja el a dömper a tervezett feszültség 3.3 RPI következtetéseket meghúz 5 V, ami nagyon valószínű, hogy a számítógép ki hatását.

Most, amikor az áramellátás az összes terminál kell csatlakoztatni vonalak IN1-IN8 relé modul a megfelelő GPIO pin csatlakozó egy flexibilis kábel módon a 2. ábrán látható A cikkben bemutatott, a kód fejlesztették ki az esetben, ha a megállapítások IN1-IN7 csatlakozókra van vezetve GPIO1-GPIO7. Ebben az esetben, ha úgy dönt, hogy összekapcsolják ezeket a megállapításokat más módon, meg kell módosítani a kódot kell.

A kapcsolási elrendezés GPIO Raspberry Pi csatlakozó terminálok a 2. ábrán látható A bemeneti-kimeneti portok Raspberry Pi feszültsége 3,3 V, és a relé modul működik, a feszültség 5 V Azonban, relék izoláljuk a terminálok GPIO Raspberry Pi útján optocsatolók. Az optocsatoló szállítja 3,3 V kimeneti feszültség Vcc. A kimeneti Vcc a relé modul feszültség 3,3 GPIO Raspberry Pi csatlakozó. Győződjön meg róla, hogy távolítsa el a jumpert, hogy következtetéseket és Vcc JDVcc relé modullal. Összefoglalva JDVcc szállítandó 5V helyes működéséhez a relét. Megtekintett relé modul megnyitja a kapcsolat aktív állapotban. Ebből az következik, hogy meg kell földelni terminálok IN1-IN8, hogy aktiválja a relét.

A rendszer alapja az intelligens otthon Raspberry Pi

2. ábra pinout GPIO Raspberry Pi csatlakozó

Figyelmeztetés: Legyen nagyon óvatos, ha csatlakozunk a hardverelemek a rendszer. A következmények áramütés lehet okazatsyafatalnymi!

A rendszer alapja az intelligens otthon Raspberry Pi

3. ábra: A telepítés hardver rendszerek

programozási környezet

szoftver

könyvtárak

Server alkalmazás fut szintjén Raspberry Pi, hogy irányítsa az állam a GPIO pin csatlakozó segítségével Raspberry Pi. Célja továbbá, hogy a HTTP felületen adatátvitelre és a GUI WebSocket interfész küldeni üzeneteket adatok és parancsok állapotát. Készen áll a telepítésre a szerver alkalmazás olyan speciális funkciókat egyszerűen nem léteznek, ezért úgy döntött, hogy hozzanak létre saját kiszolgáló megvalósítása a Python programozási nyelv. Ahhoz, hogy egyszerűsítse a fejlődés jellemezte a szerver alkalmazás segítségével a Python programozási nyelv elérhető modulok végrehajtására módszert kínál Interface GPIO Raspberry Pi, létrehozására egy HTTP szervert, és működjön együtt a WebSockets felület. Mivel minden ilyen modulok úgy vannak kialakítva, hogy a feladatokat kellett fejleszteni a minimális kódot.

1. lista használata a modul RPi.GPIO

Cherrypy egy moduláris web keretet Python programozási nyelv. A lehetőségek az e keret könnyen bővíthető támogatni WebSocket protokollt használó ws4py modult. Cherrypy ws4py modulok és is telepíthető keresztül pip eszköz.

Példák a használata a keret Cherrypy ws4py és csatlakozó dugó látható a dokumentációban a keret szakaszok és Cherrypy ws4py modul ill. Ahhoz, hogy hozzon létre egy egyszerű szerver alapú keret használható Cherrypy kódot a 2. listában.

2. lista egy egyszerű szerver kód alapján a keret Cherrypy

Egy bonyolultabb kódot Quickstart módszer paramétert lehet átadni egy mutató egy példány az a konfigurációs beállítások. Ezt a megközelítést a kódrészletet lista 3. Ez kódmegjelenítési kéréseket podresursu / js, dolgozó fájlok alkönyvtárakat js. Js alkönyvtár található a forrás könyvtárban kiszolgáló fejlett.

3. lista Transfer eljárás paraméter gyorstalpaló

Támogatást adni WebSocket protokoll a kiszolgáló-alapú keretrendszer Cherrypy kell módosítani a kódot ugyanúgy, ahogy az a 4. lista részeként az osztály WebSocket protokollkezelőt kérelmet kell végrehajtani a három módszer: nyitott. zárt és received_message. 4. lista mutatja, egy egyszerű szerver oldali kód támogatást WebSocket protokoll, amelyet csökkenteni, amennyire csak lehetséges, hogy ismertesse a célja a fő funkcionális részek; A fentiek alapján ez a kód valójában nem csinál semmilyen hasznos munkát.

4. lista A legegyszerűbb szerver támogatja a protokollt WebSocket

A kliens oldali HTML oldal script végre kell hajtania a funkció csatlakozni a szerverhez keresztül WebSocket protokoll és a beérkező üzeneteket. 5. lista mutatja a kódot egy egyszerű HTML oldal egy script, amely megvalósítja ezt a funkciót. Ez a kód jQuery.ready esemény () használják, hogy kapcsolatot kezdeményezzen a szerverrel WebSocket protokollt. A script az adatlap valósítja kezelésének módszerei minden esemény: OnOpen (). onclose (). onerror () és onmessage (). Bővíteni a lehetőségeket ez a forgatókönyv azt hozzá kell tenni az eljárás végrehajtására onmessage (). feldolgozásra szánt beérkező üzeneteket.

5. lista Code oldalon egy script kapcsolódni a szerverhez keresztül WebSocket protokoll és a beérkező üzeneteket

intelligens otthon rendszer

relayLabel.json fájl tartalmazza a szükséges konfigurációs adatokat, például a nevét, a relé, időzítő értékek be- és kikapcsolja a világítást és a többi. 6. lista mutatja az alap konfigurációs diagramja a szoftver része a rendszernek. Ez a minta meg kell ismételni az egyes sorozatokban. Property Value dow bitenkénti kialakítva az egyes nap a hét kezdve az LSB hétfő és befejező értékű bit vasárnap.

Listing 6. Alap konfiguráció vázlata a rendszer szoftver

4. ábra tömbvázlata a rendszer jelzi a fő funkcionális részek. A 2. táblázat a parancs, hogy az ügyfél küldhet a szerverre, valamint az intézkedések, amelyeket a szerver végre kell hajtania az elkészítése során. Ezeket a parancsokat továbbítja a szerver a böngészőnek JSON formátumban. Az alábbi séma használható parancsok:

A rendszer alapja az intelligens otthon Raspberry Pi

4. ábra blokkdiagramja a rendszer

2. táblázat parancsok

Megtakarítás az új relé neve JSON formátumú fájlokat

következtetés

Kapcsolódó cikkek