Hvordan laver jeg IOT Smart Garage Opener ved hjælp af Raspberry Pi?
I denne æra, hvor den nyeste teknologi får os til at invadere dag for dag internet af ting (IoT), er det for nylig opstået som en avanceret tilgang til automatisering af elektroniske enheder og dermed reducering af menneskelig interferens i høj grad. En masse teknologier understøtter trådløs kontrol af enheder som Radio frekvens identifikation (RFID), Bluetooth, Wifi, osv. I dette projekt laver vi en Smart Garage Door Opener ved hjælp af Raspberry Pi. Raspberry pi webserver oprettes til at åbne og lukke garageporten ved hjælp af din smartphone.
Sådan opsættes Raspberry Pi og andre hardwarekomponenter?
Som vi har forstået det grundlæggende mål med dette projekt, skal vi nu gå et skridt videre mod at samle komponenterne og samle dem.
Trin 1: Nødvendige komponenter
Trin 2: Valg af Raspberry Pi-modellen
Flere modeller af hindbær pi er tilgængelige på markedet. Bortset fra hindbær pi nul kan enhver model foretrækkes. Dette skyldes, at oprettelse af et netværk på Pi er et meget trættende job. De nyeste modeller som 3A +, 3B + eller 4 kan købes. Den nye Raspberry Pi 3 er den hurtigste og mest dominerende gadget, som Raspberry Pi Foundation hidtil har frigivet. Så i dette projekt bruger vi Raspberry Pi 3B +.
Trin 3: Valg af operativsystem
For det første har vi brug for et SD-kort med et passende operativsystem. Når du vælger operativsystemet, er der i dag forskellige alternativer, fra "konventionel" Raspbian til hengivne mediearbejdsrammer og endda Windows 10 IoT. Raspbian foretrækkes, fordi den leveres med over 35000 pakker. Raspbian er et samfundsprojekt under aktiv udvikling med vægt på at forbedre stabiliteten og ydeevnen for så mange Debian-pakker som muligt.
Trin 4: Interfacing hindbær med bærbar computer
Ekstern skærm eller LCD ved hjælp af HDMI-kabel kan bruges som en skærm til at oprette forbindelse til Raspberry Pi. Hvis nogen ikke har LCD, kan han / hun bruge en bærbar computer til at forbinde Pi, men nogle konfigurationer skal gøres for at oprette forbindelse. Vi bruger en Sikker skal (SSH) klient kendt som Putty at forbinde Pi ved hjælp af en bærbar computer. Grænseflade forklares i nedenstående trin:
- Installation af avanceret IP-scanner: Advanced IP Scanner er et værktøj, der bruges til at registrere IP'er, der er tildelt enhederne af din Wifi-router. Vi installerer denne software ved at klikke her
- Registrering af IP tildelt Raspberry Pi: Nu vil vi kontrollere den statiske IP, der er tildelt vores Raspberry Pi.
IP-adressen, der er tildelt vores Raspberry Pi, er 192.168.1.16. Bemærk denne IP-adresse, fordi det er nødvendigt i yderligere konfigurationer. Bemærk: Hver person tildeles en anden IP-adresse afhængigt af Wifi-routeren.
- Download kitt og indtast IP-adresse i det: Putty er en SSH-klient, og det er open source-software, der er tilgængelig med kildekode. Det kan downloades herfra. Efter download af Putty skal du åbne den og indtaste den statiske IP-adresse “192.168.1.16” for at oprette forbindelse til den bærbare computer.
- Logger ind:Efter indtastning af IP-adressen vises skærmen, og den beder om brugernavn og adgangskode. Standardbrugernavnet er “pi”Og adgangskode er“hindbær“. Vi kan også ændre loginoplysninger, hvis vi ønsker det.
Trin 5: Kredsløbsdiagram
Nu, da vi ved, hvordan komponenterne fungerer, skal vi gå videre og samle disse komponenter og lave et kredsløb som vist nedenfor.
Relæet drives af 5 V Raspberry Pi og Indgangsoutput til almindeligt formål (GPIO-14), er tilsluttet til I af relæet. Det fortæller relæet, hvornår der skal skiftes PÅ og AF. Vi har tilsluttet 12V AC-pære til relæets udgang, så når garageporten åbnes, drejes pæren PÅ og når garageporten er lukket, drejes pæren AF.
Trin 6: Kolbeopsætning i Pi til styring af garageporten
Vi opretter en webserver ved hjælp af Flask, der baner vejen for at sende kommandoer fra websiden til Raspberry Pi for at kontrollere vores prototype over netværket. Flask giver os mulighed for at køre vores pythonindhold gennem en websideside, og vi kan sende og få oplysninger fra Raspberry Pi til internetbrowseren og omvendt. Det er et mikrorammer til Python. Dette værktøj er Unicode-baseret med indbygget udviklingsserver og debugger, integreret enhedstestesupport, understøttelse af sikre cookies og dens nemme at bruge, disse ting gør det værdifuldt for specialisten. Til installation Kolbe skriv følgende kommandoer på din Raspberry Pi:
sudo apt-get opdater sudo apt-get install python-pip python-kolbe
Kør nu pip-kommandoen for at installere Flask og dens afhængigheder:
sudo pip installer kolbe
Trin 7: Opret et Python-script til døråbneren
Dette script vil samarbejde med vores Raspberry Pi GPIO'er og opsætte webserveren. Det er hovedmanuskriptet til vores projekt. Python-script forklares i nedenstående dele:
For det første opretter vi en mappe. Alle andre krævede mapper skal kun være i denne mappe. Kør under kommandoer for at oprette en mappe, og opret derefter en python-fil med navnet app.pyinde i denne mappe:
mkdir garage_door cd garage_door nano app.py
Ovenstående kommandoer åbner Nano-editoren, hvor den skriver scriptet nedenfor. Inkluder vigtige biblioteker:
importer RPi.GPIO som GPIO fra kolbe import Kolbe, render_template, anmodning app = Kolbe (__ navn__, static_url_path = '/ statisk')
Opret nu en ordbog somstifterfor at gemme pinkoden, navnet og pin-tilstanden. Du kan bruge mere end en pin efter dine behov:
pins = {14: {'name': 'Garage Door', 'state': GPIO.LOW}}
Indstil derefter stiften til output og indstil den til lavt oprindeligt:
til pin i ben: GPIO.setup (pin, GPIO.OUT) GPIO.output (pin, GPIO.LOW)
Vi laver funktionen til at læse pin-tilstand og gemme denne tilstand i en variabel:
@ app.route ("/") def main (): for pin i pins: pins [pin] ['state'] = GPIO.input (pin) ..
Vi videregiver disse data til vores HTML side, så vi kan kontrollere indgangsknappens tilstand:
returner render_template ('main.html', ** templateData)
Til håndtering af anmodninger fra URL lav en funktion med pinkode og handling i den:
@ app.route ("// ", methods = ['GET', 'POST']) def handling (changePin, handling):
Derefter konverterer pin fra URL til et heltal;
changePin = int (changePin)
Hvis handlingsdelen af URL'en er “åben, ”På det tidspunkt gør følgende:
hvis handling == "åben": GPIO.output (changePin, GPIO.HIGH) hvis handling == "close": GPIO.output (changePin, GPIO.LOW)
Jeg vedhæfter det komplette script i slutningen, og hvis nogen vil kopiere, kan han / hun gøre det ved at trykke på ctrl + x og derefter trykke på Gå ind. Nu er vi færdige med python-scriptet, og vi laver en HTML side for at interagere med python-scriptet.
Trin 8: Oprettelse af HTML-side til Raspberry Pi Server
Vi foretager ændringer i mappen garage_door, som vi oprettede tidligere. Vi opretter en anden mappe med navnet skabeloner og inde i denne mappe lav en .html-fil ved hjælp af følgende kommandoer:
mkdir skabeloner cd skabeloner nano main.html
Åbn nu nano-teksteditoren og skriv HTML kode. Vi kan redigere del af siden og rediger den efter vores eget valg. Vi har brugt tredjeparts CSS-ordningen ved hjælp af linktagget. Den komplette kode er angivet nedenfor:
Klik her for at downloade HTML-koden for at oprette en webside.
Trin 9: Oprettelse af en knap til åbning og lukning af døren
Vi bliver nødt til at tildele en tilstand for at åbne og lukke knappen. Denne knap sender og henter GPIO-tilstanden fra python-scriptet. Da vi har gennemført ovenstående HTML-kode nu, kan vi bruge den i editoren og gemme den, og endelig er vores webserver klar til lancering. Åbn terminalen, og naviger tilgarage_dør og kør nedenstående kommando, der er nævnt nedenfor:
sudo python app.py
Åbn browseren, indtast Raspberry Pi's IP-adresse, og tryk på Enter. Denne type side vises:
Trin 10: Opsætning af hardware
Efterhånden som vi er færdige med softwareopsætningen, lad os gå et skridt foran og samle hardwaren. Sørg for, at relæmodulet er sluttet til Raspberry Pi. For test skal du trykke på knappen Åbn for at skifte PÅ relæ- og luk-knappen for at skifte AF relæet. Så snart relæet er tændt, lyser AC-pæren, og vi ved, at porten er åben, og når pæren er slukket, ved vi, at porten er lukket. For at stoppe serveren skal du trykke på ctrl + c.
Klik her for at downloade koden for at konfigurere hardware.