- Komponente potrebne
- Kružni dijagram
- Postavljanje tikvice u Raspberry Pi za upravljanje garažnim vratima
- Izrada Python skripte za pametno otvaranje garažnih vrata
- Izrada HTML stranice za web poslužitelj Raspberry Pi
- {{pins.name}} {% if pins.state == true%} je trenutno otvoreno
U ovo doba IoT-a (Interneta stvari) gdje se svime može upravljati daljinski pomoću pametnog telefona, zašto nositi ključeve sa sobom. Postoji puno tehnologija koje podržavaju bežično upravljanje uređajima kao što su RFID, Bluetooth, Wi-Fi, LoRa. Prethodno smo izgradili neke alarme za vrata i upravljački krug za bežično otvaranje i zatvaranje vrata:
- Brava za vrata Arduino RFID
- Automatsko otvaranje vrata pomoću Arduina
- Magnetski krug alarma vrata pomoću Hallovog senzora
- IoT sigurnosni alarm temeljen na IoT-u kojim upravlja Google Assistant
Ovdje ćemo u ovom uputstvu izraditi pametni otvarač garažnih vrata koristeći Raspberry Pi. Ovdje će se stvoriti web poslužitelj Raspberry Pi za otvaranje i zatvaranje garažnih vrata pomoću vašeg pametnog telefona.
Komponente potrebne
- Raspberry pi ploča s instaliranim Raspbianom
- Modul releja
- Spajanje žica
Pretpostavlja se da je vaš Raspberry Pi već spojen s operativnim sustavom i da se može povezati s internetom. Ako nije, slijedite upute za Početak rada s Raspberry Pi prije nego što nastavite. Ovdje koristimo Rasbian Jessie instaliran Raspberry Pi 3.
Ovdje se vanjski monitor koji koristi HDMI kabel koristi kao zaslon za povezivanje s Raspberry Pi. Ako nemate monitor, možete se koristiti SSH klijentom (Putty) ili VNC poslužiteljem za povezivanje s Raspberry pi pomoću prijenosnog računala ili računala. Ovdje saznajte više o postavljanju Raspberry Pi-a bez glave.
Kružni dijagram

Spojite mehanizam za otvaranje garažnih vrata na izlaz releja. Ovdje smo upravo u svrhu demonstracije povezali LED s relejem.

Postavljanje tikvice u Raspberry Pi za upravljanje garažnim vratima
Ovdje smo stvorili web poslužitelj pomoću Flaska, koji pruža način slanja naredbi s web stranice na Raspberry Pi za kontrolu robota preko mreže. Flask nam omogućuje pokretanje naših python skripti putem web stranice i možemo slati i primati podatke s Raspberry Pi u web preglednik i obrnuto. Tikvica je mikrookvir za Python. Ovaj se alat temelji na Unicodeu, ima ugrađeni razvojni poslužitelj i program za ispravljanje pogrešaka, integriranu podršku za jedinstveno testiranje, podršku za sigurne kolačiće i jednostavan za korištenje, što ga čini korisnim za hobiste.
Izvedite sljedeće naredbe za instalaciju tikvice u vaš Raspberry Pi:
sudo apt-get ažuriranje sudo apt-get instalacija python-pip python-tikvica
Sada pokrenite naredbu pip da biste instalirali Flask i njegove ovisnosti:
sudo pip instalacijska tikvica

Ovdje možete saznati više o programiranju pomoću Flaska, također provjeriti naše prethodne projekte u kojima smo Flask kontrolirali robota putem web poslužitelja, poslali poruku s web stranice na Raspberry Pi i poslali vrijednost težine na Raspberry Pi u Smart Container.
Sada ćemo napisati python skriptu za naš web poslužitelj garažnih vrata.
Izrada Python skripte za pametno otvaranje garažnih vrata
Ova će skripta komunicirati s našim Raspberry Pi GPIO-ima i postaviti web poslužitelj. Dakle, ovo je osnovna skripta za našu aplikaciju. Kompletna Python skripta za otvarač vrata dana je na kraju, ovdje smo objasnili nekoliko njezinih dijelova.
Prvo napravite mapu. Sve ostale potrebne mape trebaju biti samo u ovoj mapi. Pokrenite naredbe ispod kako biste napravili mapu i stvorili python datoteku nazvanu app.py unutar ove mape.
mkdir garage_door cd garaža_door nano app.py
Ovo će otvoriti Nano editor u kojem moramo napisati skriptu.
Započnite s uključivanjem važnih knjižnica.
uvoz RPi.GPIO kao GPIO iz tikvice import boca, render_template, zahtjev app = tikvica (__ name__, static_url_path = '/ static')
Sada stvorite rječnik kao pribadače za pohranu broja, imena i stanja pin-a. Možete koristiti više od jedne igle prema svojoj potrebi.
pribadače = { 14: {'name': 'Garažna vrata', 'state': GPIO.LOW} }
Zatim postavite pin kao izlaz i u početku ga smanjite.
Za pin u iglama: GPIO.setup (pin, GPIO.OUT) GPIO.output (pin, GPIO.LOW)
Sada napravite glavnu funkciju za čitanje stanja pinova i pohranite to stanje u varijablu.
@ app.route ("/") def main (): za pin u iglama: pins = GPIO.input (pin) ..
Moramo proći ove podatke na našu HTML stranicu, tako da možemo kontrolirati tipka ulaza stanje.
vrati render_template ('main.html', ** templateData)
Sada napravite funkciju za obradu zahtjeva iz URL-a s pin brojem i radnjom u njemu.
@ app.route ("/
Pretvorite pin iz URL-a u cijeli broj.
changePin = int (changePin)
Ako je akcijski dio URL-a "otvoren", učinite sljedeće.
if action == "open": GPIO.output (changePin, GPIO.HIGH) if action == "close": GPIO.output (changePin, GPIO.LOW)
Možete kopirati kompletnu skriptu s kraja ovog vodiča i spremiti je pomoću ctrl + x, a zatim pritisnite enter. Završili smo s python skriptom. Sada moramo napraviti HTML stranicu za interakciju s python skriptom.
Izrada HTML stranice za web poslužitelj Raspberry Pi
U istoj mapi garage_door izradite drugu mapu s predlošcima i unutar te mape napravite.html datoteku pomoću naredbi u nastavku.
mkdir predlošci cd predlošci nano main.html

U nano uređivač teksta napišite html kod. Možete urediti dio stranice i stilizirajte prema vašem izboru. Upravo sam upotrijebio css shemu treće strane pomoću oznake veze. Cjelovit HTML kôd dan je u nastavku:
Web poslužitelj garažnih vrata
{% za pribadaču%}{{pins.name}} {% if pins.state == true%} je trenutno otvoreno
Ovdje je važan dio stvoriti gumb za otvaranje i zatvaranje vrata i dodijeliti stanje gumbu za otvaranje i zatvaranje . Gumb će poslati i dohvatiti GPIO stanje iz python skripte.
Možete koristiti gore navedeni HTML kôd u editoru i spremiti ga. Sada je web poslužitelj spreman za pokretanje.
Otvorite terminal i otvorite mapu garage_door i pokrenite donju naredbu
sudo python app.py

Otvorite preglednik i unesite svoju Raspberry pi IP adresu i pritisnite Enter. Da biste pronašli svoju IP adresu, u terminalu možete pokrenuti donju naredbu.
ime domaćina -I
Vidjet ćete ovakvu stranicu.

Provjerite je li modul releja povezan s malinom pi. Pritisnite gumb Otvori za uključivanje releja ili otvaranje garažnih vrata. Također možete vidjeti stanje releja. Čim uključite relej, tekst gumba promijenit će se Zatvori da biste isključili relej. Sada kada ponovo kliknete gumb, relej će se isključiti, a tekst gumba ponovo će se promijeniti u Otvori .
Da biste zaustavili poslužitelj, pritisnite ctrl + c.
Dakle, samo spojite ovaj relej na neki mehanizam za otvaranje vrata, koji je dostupan na tržištu, i počnite kontrolirati garažna vrata pomoću pametnog telefona.
Demonstracija video je naveden u nastavku.
