- Szükséges alkatrészek
- Kördiagramm
- Lombik beállítása a Raspberry Pi-ben a garázskapu vezérléséhez
- Python szkript létrehozása az intelligens garázs ajtónyitóhoz
- HTML-oldal létrehozása a Raspberry Pi webszerverhez
- {{pins.name}} {%, ha a pins.state == true%} jelenleg nyitva van
Az IoT (tárgyak internete) korában, ahol mindent távolról lehet irányítani az okostelefon segítségével, miért kell cipelni magával a kulcsokat. Számos technológia támogatja az olyan eszközök vezeték nélküli vezérlését, mint az RFID, a Bluetooth, a Wi-Fi, a LoRa. Korábban építettünk néhány ajtójelzőt és ajtóvezérlő áramkört az ajtó vezeték nélküli megnyitásához és bezárásához:
- Arduino RFID ajtózár
- Automata ajtónyitó Arduino használatával
- Mágneses ajtó riasztási áramkör Hall-érzékelővel
- IoT-alapú ajtóbiztonsági riasztást a Google Assistant vezérli
Itt ebben az oktatóanyagban egy Smart Garage ajtónyitót építünk fel a Raspberry Pi felhasználásával. Itt létrejön egy Raspberry Pi webszerver, amely az okostelefon segítségével megnyitja és bezárja a garázs ajtaját.
Szükséges alkatrészek
- Raspberry pi tábla, benne Raspbian
- Relé modul
- Vezetékek csatlakoztatása
Feltételezzük, hogy a Raspberry Pi már operációs rendszerrel rendelkezik és képes csatlakozni az internethez. Ha nem, akkor a folytatás előtt kövesse az Első lépések a Raspberry Pi ismertetővel. Itt a Rasbian Jessie által telepített Raspberry Pi 3 szoftvert használjuk.
Itt a HDMI kábelt használó külső monitort használjuk kijelzőként a Raspberry Pi csatlakoztatásához. Ha nincs monitorja, akkor az SSH kliens (Putty) vagy a VNC szerver segítségével csatlakozhat a Raspberry pi számítógéphez laptop vagy számítógép segítségével. Tudjon meg többet a Raspberry Pi fejetlen beállításáról itt.
Kördiagramm
Csatlakoztassa a Garázs ajtónyitó mechanizmust a relé kimenetéhez. Itt csak egy LED-et csatlakoztattunk relével demonstrációs célokra.
Lombik beállítása a Raspberry Pi-ben a garázskapu vezérléséhez
Itt létrehoztunk egy webkiszolgálót a Flask használatával, amely lehetőséget nyújt a parancsok elküldésére a weboldalról a Raspberry Pi-re, hogy a hálózaton keresztül irányítsuk a robotot. A lombik lehetővé teszi számunkra, hogy a python szkriptjeinket egy weboldalon futtassuk, és adatokat küldhetünk és fogadhatunk a Raspberry Pi-től a webböngészőhöz és fordítva. A lombik a Python mikrokerete. Ez az eszköz Unicode-alapú, beépített fejlesztőkiszolgálóval és hibakeresővel, integrált egységtesztelési támogatással, a biztonságos sütik támogatásával és könnyen kezelhetőségével ezek a dolgok hasznosak a hobbi számára.
Futtassa a következő parancsokat a lombik telepítéséhez a Raspberry Pi-be:
sudo apt-get update sudo apt-get install python-pip python-lombik
Most futtassa a pip parancsot a Lombik és függőségeinek telepítéséhez:
sudo pip telepítő lombik
Itt többet megtudhat a lombik használatával történő programozásról, és ellenőrizheti korábbi projektjeinket is, ahol a lombikot robotok webszerveren keresztül történő vezérléséhez, az üzenet elküldéséhez a weboldalról a Raspberry Pi-hez és a súlyérték elküldéséhez a Raspberry Pi-hez az intelligens konténerben.
Most írunk egy python szkriptet a garázskapu webszerverünkhöz.
Python szkript létrehozása az intelligens garázs ajtónyitóhoz
Ez a szkript kölcsönhatásba lép a Raspberry Pi GPIO-jainkkal, és beállítja a webszervert. Tehát ez az alkalmazásunk fő szkriptje. A teljes Python szkript az ajtónyitóhoz a végén található, itt megmagyaráztuk annak néhány részét.
Először készítsen egy mappát. Az összes többi szükséges mappa csak ebben a mappában lehet. Futtassa az alábbi parancsokat a mappa létrehozásához és az app.py nevű python fájl létrehozásához ebben a mappában.
mkdir garage_door cd garage_door nano app.py
Ez megnyitja a Nano szerkesztőt, ahol meg kell írnunk a szkriptet.
Kezdje a fontos könyvtárak bevonásával.
importálja az RPi.GPIO-t GPIO-ként a lombikból. Lombik importálása, render_template, kérelem app = Lombik
Most hozzon létre egy szótárat csapokként a PIN szám, a név és a pin állapot tárolásához. Több tűt is használhat az igényeinek megfelelően.
csapok = { 14: {'name': 'Garázsajtó', 'állapot': GPIO.LOW} }
Ezután állítsa a tűt kimenetre, és kezdetben állítsa alacsonyra.
Csapokhoz a csapokban: GPIO.setup (pin, GPIO.OUT) GPIO.output (pin, GPIO.LOW)
Most hozzon létre egy fő funkciót a pin állapotának beolvasására, és tárolja ezt az állapotot egy változóban.
@ app.route ("/") def main (): csapokhoz való csapokhoz: csapok = GPIO.input (tű) ..
Ezeket az adatokat át kell adnunk a html oldalunkra, hogy ellenőrizni tudjuk a bemeneti gomb állapotát.
return render_template ('main.html', ** templateData)
Most hozzon létre egy függvényt az URL-ből érkező kérelmek kezelésére, benne a PIN-kóddal és a művelettel.
@ app.route ("/
Konvertálja a pin-t az URL-ből egész számra.
changePin = int (changePin)
Ha az URL műveleti része "nyitott", akkor tegye a következőket.
if action == "open": GPIO.output (changePin, GPIO.HIGH) ha action == "close": GPIO.output (changePin, GPIO.LOW)
A teljes szkriptet átmásolhatja az oktatóanyag végéről, elmentheti a ctrl + x gombbal, majd nyomja meg az Enter billentyűt. Megtettük a python szkriptet. Most egy HTML oldalt kell készítenünk, hogy kölcsönhatásba lépjünk a python szkriptjével.
HTML-oldal létrehozása a Raspberry Pi webszerverhez
Ugyanabban a garázs_ajtó mappában hozzon létre egy másik sablon nevű mappát, és ezen a mappán belül hozzon létre egy.html fájlt az alábbi parancsok használatával.
mkdir sablonok cd sablonok nano main.html
A nano szövegszerkesztőbe írja be a html kódot. Szerkesztheti a része az oldalnak, és stílusa az Ön választása szerint. Most használtam a harmadik fél css sémáját link tag használatával. A teljes HTML-kód az alábbiakban található:
Garázsajtó webszerver
{% a csapokhoz a csapokban%}{{pins.name}} {%, ha a pins.state == true%} jelenleg nyitva van
Itt fontos része az, hogy hozzon létre egy gombot, hogy megnyissa és zárja be az ajtót, és hozzá egy állam nyílt és szoros gombra. A gomb elküldi és lekéri a GPIO állapotot a python szkriptből.
Használhatja a fenti HTML kódot a szerkesztőben és elmentheti. Most a webszerver készen áll az indításra.
Nyissa meg a terminált, és keresse meg a garage_door mappát, és futtassa az alábbi parancsot
sudo python app.py
Nyissa meg a böngészőt, írja be a málna pi IP-címét, és nyomja meg az Enter billentyűt. Az IP-cím megkereséséhez futtassa az alábbi parancsot a terminálban.
hosztnév -I
Látni fog egy ilyen oldalt.
Győződjön meg arról, hogy a relé modul a málna pi-hez csatlakozik. Nyomja meg a Megnyitás gombot a relé bekapcsolásához vagy a garázskapu kinyitásához. Láthatja a relé állapotát is. Amint bekapcsolta a relét, a gomb szövege bezárásra vált , hogy kikapcsolja a relét. Most, amikor ismét rákattint a gombra, a relé kikapcsol, és a gomb szövege ismét Megnyitás értékre változik.
A szerver leállításához nyomja meg a ctrl + c billentyűkombinációt.
Tehát csak csatlakoztassa ezt a relét a piacon könnyen elérhető ajtónyitó mechanizmushoz, és kezdje meg a garázskapu vezérlését az okostelefon segítségével.
Az alábbiakban bemutatunk egy bemutató videót.