Hvordan lage IOT Smart Garage Opener ved hjelp av Raspberry Pi?
I denne tiden hvor den nyeste teknologien gjør at vi invaderer internett for ting (IoT), har det nylig dukket opp som en moderne tilnærming for automatisering av elektroniske enheter og dermed redusert menneskelig forstyrrelse i stor grad. Mange teknologier støtter trådløs kontroll av enheter som Radiofrekvens identifikasjon (RFID), Bluetooth, Wifi, etc. I dette prosjektet vil vi lage en Smart Garage Door Opener ved hjelp av Raspberry Pi. Raspberry pi webserveren blir opprettet for å åpne og lukke garasjeporten ved hjelp av smarttelefonen din.
Hvordan sette opp Raspberry Pi og andre maskinvarekomponenter?
Som vi har forstått det grunnleggende målet for dette prosjektet, la oss nå gå et skritt videre mot å samle komponentene og montere dem.
Trinn 1: Nødvendige komponenter
Trinn 2: Velge Raspberry Pi-modellen
Flere modeller av bringebær-pi er tilgjengelige i markedet. Med unntak av bringebær pi null, kan enhver modell foretrekkes. Dette er fordi null er å sette opp et nettverk en veldig slitsom jobb. De nyeste modellene som 3A +, 3B + eller 4 kan kjøpes. Den nye Raspberry Pi 3 er den raskeste og mest dominerende dingsen Raspberry Pi Foundation har gitt ut hittil. Så i dette prosjektet vil vi bruke Raspberry Pi 3B +.
Trinn 3: Velge operativsystem
For det første trenger vi et SD-kort med et passende operativsystem. Når du velger operativsystemet, er det i dag forskjellige alternativer, fra "konvensjonell" Raspbian til hengivne mediarbeidsrammer, og til og med Windows 10 IoT. Raspbian er å foretrekke fordi den kommer med over 35000 pakker. Raspbian er et fellesskapsprosjekt under aktiv utvikling, med vekt på å forbedre stabiliteten og ytelsen til så mange Debian-pakker som mulig.
Trinn 4: Grensesnitt bringebær med bærbar PC
Ekstern skjerm eller LCD ved hjelp av HDMI-kabel kan brukes som skjerm for å koble til Raspberry Pi. Hvis noen ikke har LCD, kan han / hun bruke en bærbar datamaskin til å koble til Pi, men noen konfigurasjoner må gjøres for tilkobling. Vi vil bruke en Sikker skall (SSH) klient kjent som Putty for å koble Pi til ved hjelp av en bærbar datamaskin. Grensesnitt er forklart i trinnene som er nevnt nedenfor:
- Installere avansert IP-skanner: Advanced IP Scanner er et verktøy som brukes til å oppdage IP-er som er tilordnet enhetene av Wifi-ruteren. Vi installerer denne programvaren ved å klikke her
- Oppdage IP tildelt Raspberry Pi: Nå skal vi sjekke den statiske IP-en som er tildelt Raspberry Pi.
IP-adressen tildelt Raspberry Pi er 192.168.1.16. Legg merke til denne IP-adressen fordi den vil være nødvendig i flere konfigurasjoner. Merk: Hver person vil bli tildelt en annen IP-adresse, avhengig av Wifi-ruteren.
- Last ned kitt og skriv inn IP-adresse i den: Putty er en SSH-klient, og det er programvare med åpen kildekode som er tilgjengelig med kildekode. Den kan lastes ned fra her. Etter at du har lastet ned Putty, åpner du den og skriver inn den statiske IP-adressen "192.168.1.16" for å koble til den bærbare datamaskinen.
- Logger inn:Etter at du har angitt IP-adressen, vil skjermen vises, og den vil be om brukernavn og passord. Standard brukernavn er “pi”Og passord er“bringebær“. Vi kan endre påloggingsinformasjonen også hvis vi vil.
Trinn 5: Kretsdiagram
Nå som vi vet hvordan komponentene fungerer, la oss sette sammen disse komponentene og lage en krets som vist nedenfor.
Relé drives av 5 V Raspberry Pi og Input Output for generell bruk (GPIO-14), er koblet til I av stafetten. Det vil fortelle stafetten når du skal bytte PÅ og AV. Vi har koblet 12V AC-pære til utgangen på reléet, slik at når garasjeporten åpnes, blir pæren snudd PÅ og når garasjeporten er lukket, dreies pæren AV.
Trinn 6: Kolbeoppsett i Pi for styring av garasjeporten
Vi oppretter en webserver ved hjelp av Flask som legger til rette for å sende kommandoer fra websiden til Raspberry Pi for å kontrollere prototypen vår over nettverket. Flask gjør det mulig for oss å kjøre pythoninnholdet vårt gjennom en nettside, og vi kan sende og få informasjon fra Raspberry Pi til nettleseren og omvendt. Det er et mikrorammer for Python. Dette verktøyet er basert på Unicode, med innebygd utviklingsserver og feilsøking, integrert enhetstestestøtte, støtte for sikre informasjonskapsler og enkel å bruke, disse tingene gjør det verdifullt for spesialisten. For installasjon Kolbe skriv inn følgende kommandoer på Raspberry Pi:
sudo apt-get oppdater sudo apt-get installer python-pip python-kolbe
Kjør nå pip-kommandoen for å installere Flask og dens avhengigheter:
sudo pip installere kolbe
Trinn 7: Lag et Python-skript for døråpner
Dette skriptet vil samarbeide med våre Raspberry Pi GPIOer og sette opp webserveren. Det er hovedskriptet for prosjektet vårt. Python-skript vil bli forklart i delene nedenfor:
For det første vil vi lage en mappe. Alle andre obligatoriske mapper skal bare være i denne mappen. Kjør under kommandoene for å lage en mappe, og opprett deretter en python-fil med navnet app.pyinne i denne mappen:
mkdir garage_door cd garage_door nano app.py
Ovennevnte kommandoer åpner Nano-editoren der den vil skrive skriptet nedenfor. Inkluder viktige biblioteker:
importer RPi.GPIO som GPIO fra kolbe import Kolbe, render_template, be app = Kolbe (__ name__, static_url_path = '/ static')
Lag nå en ordbok sompinnerfor å lagre PIN-koden, navnet og PIN-koden. Du kan bruke mer enn en pinne etter behov:
pins = {14: {'name': 'Garage Door', 'state': GPIO.LOW}}
Sett deretter pinnen til utgang og sett den til lav først:
for pin i pins: GPIO.setup (pin, GPIO.OUT) GPIO.output (pin, GPIO.LOW)
Vi vil gjøre funksjonen til å lese pin-tilstand og lagre denne tilstanden i en variabel:
@ app.route ("/") def main (): for pin in pins: pins [pin] ['state'] = GPIO.input (pin) ..
Vi vil overføre disse dataene til våre HTML siden, slik at vi kan kontrollere inngangsknappens tilstand:
returner render_template ('main.html', ** templateData)
For håndtering av forespørsler fra URL lage en funksjon med PIN og handling i den:
@ app.route ("// ", methods = ['GET', 'POST']) def handling (changePin, handling):
Etter det konverterer pin fra URL til et helt tall;
changePin = int (changePin)
Hvis handlingsdelen av nettadressen er “åpen, ”På det tidspunktet gjør du følgende:
hvis handling == "åpen": GPIO.output (changePin, GPIO.HIGH) hvis handling == "close": GPIO.output (changePin, GPIO.LOW)
Jeg vil legge ved det komplette skriptet på slutten, og hvis noen vil kopiere at han / hun kan gjøre det ved å trykke ctrl + x og deretter trykke Tast inn. Nå er vi ferdige med python-skriptet, og vi vil lage en HTML side for å samhandle med python-skriptet.
Trinn 8: Opprette HTML-side for Raspberry Pi Server
Vi vil gjøre endringer i mappen garage_door som vi opprettet tidligere. Vi oppretter en annen mappe som heter maler og i denne mappen lager du en .html-fil ved hjelp av følgende kommandoer:
mkdir maler cd maler nano main.html
Åpne nå nano-tekstredigeringsprogrammet og skriv HTML kode. Vi kan redigere delen av siden og endre den etter vårt eget valg. Vi har brukt tredjeparts CSS-ordningen ved hjelp av koblingstaggen. Den komplette koden er gitt nedenfor:
Klikk her for å laste ned HTML-koden for å opprette en webside.
Trinn 9: Opprette en knapp for å åpne og lukke døren
Vi må tilordne en tilstand for å åpne og lukke knappen. Den knappen vil sende og hente GPIO-tilstanden fra python-skriptet. Når vi har fullført ovennevnte HTML-kode, kan vi nå bruke den i redigeringsprogrammet og lagre den, og til slutt er webserveren klar til å lanseres. Åpne terminalen og naviger tilgarasje dør mappen og kjør kommandoen nedenfor:
sudo python app.py
Åpne nettleseren og skriv inn IP-adressen til Raspberry Pi og trykk Enter. Denne typen sider vises:
Trinn 10: Sette opp maskinvaren
Når vi er ferdige med programvareoppsettet, la oss nå gå et skritt foran og montere maskinvaren. sørg for at relémodulen er koblet til Raspberry Pi. Trykk på knappen Åpne for å bytte for testing PÅ relé- og lukkeknappen for å bytte AV stafetten. Så snart reléet er slått på, lyser AC-pæren og vi vet at porten er åpen, og når lyspæren er slått av, blir vi kjent med at porten er lukket. For å stoppe serveren, trykk ctrl + c.
Klikk her for å laste ned koden for å konfigurere maskinvare.