Hoe IOT Smart Garage Opener te maken met Raspberry Pi?
In dit tijdperk waarin de nieuwste technologie ons dagelijks het Internet of Things (IoT) laat binnendringen, is het onlangs naar voren gekomen als een state-of-the-art benadering voor het automatiseren van elektronische apparaten en daarmee het verminderen van menselijke tussenkomst in grote mate. Veel technologieën ondersteunen draadloze bediening van apparaten zoals Radio Frequentie Identificatie (RFID), Bluetooth, wifi, etc. In dit project zullen we een slimme garagedeuropener maken met Raspberry Pi. De Raspberry Pi-webserver wordt gemaakt om de garagedeur te openen en te sluiten met uw smartphone.
Hoe Raspberry Pi en andere hardwarecomponenten in te stellen?
Omdat we het basisdoel van dit project hebben begrepen, gaan we nu een stap verder in de richting van het verzamelen van de componenten en het monteren ervan.
Stap 1: Vereiste componenten
Stap 2: het Raspberry Pi-model selecteren
Er zijn verschillende modellen frambozen pi op de markt. Behalve framboos pi zero, kan elk model de voorkeur hebben. Dit komt omdat op Pi zero het opzetten van een netwerk een zeer vermoeiende klus is. De nieuwste modellen zoals 3A +, 3B + of 4 kunnen worden gekocht. De nieuwe Raspberry Pi 3 is de snelste en meest dominante gadget die de Raspberry Pi Foundation tot nu toe heeft uitgebracht. Dus in dit project zullen we de Raspberry Pi 3B + gebruiken.
Stap 3: het besturingssysteem kiezen
Ten eerste hebben we een SD-kaart nodig met een geschikt besturingssysteem. Bij het kiezen van het besturingssysteem zijn er tegenwoordig verschillende alternatieven, van "conventionele" Raspbian tot toegewijde media-werkraamwerken, en zelfs Windows 10 IoT. Raspbian heeft de voorkeur omdat het wordt geleverd met meer dan 35.000 pakketten. Raspbian is een gemeenschapsproject in actieve ontwikkeling, met de nadruk op het verbeteren van de stabiliteit en prestaties van zoveel mogelijk Debian-pakketten.
Stap 4: Raspberry verbinden met laptop
Externe monitor of LCD met HDMI-kabel kan worden gebruikt als display om verbinding te maken met Raspberry Pi. Als iemand geen LCD heeft, kan hij / zij een laptop gebruiken om de Pi aan te sluiten, maar er zijn enkele configuraties nodig voor connectiviteit. We zullen een Veilige Shell (SSH) -client bekend als Stopverf om Pi met behulp van een laptop te verbinden. Interfacing wordt uitgelegd in onderstaande stappen:
- Advanced IP Scanner installeren: Advanced IP Scanner is een tool die wordt gebruikt om IP's te detecteren die door je wifi-router aan de apparaten zijn toegewezen. We zullen deze software installeren door hier te klikken
- IP-adres detecteren dat is toegewezen aan Raspberry Pi: Nu zullen we het statische IP-adres controleren dat aan onze Raspberry Pi is toegewezen.
Het IP-adres dat aan onze Raspberry Pi is toegewezen, is 192.168.1.16. Noteer dit IP-adres, want het is nodig bij verdere configuraties. Opmerking: Elke persoon krijgt een ander IP-adres toegewezen, afhankelijk van de wifi-router.
- Download Putty en voer het IP-adres in: Putty is een SSH-client en het is open-source software die beschikbaar is met broncode. Het kan vanaf hier worden gedownload. Na het downloaden van Putty opent u het en voert u het statische IP-adres "192.168.1.16" in om verbinding te maken met de laptop.
- Inloggen:Na het invoeren van het IP-adres verschijnt het scherm en wordt om gebruikersnaam en wachtwoord gevraagd. De standaard gebruikersnaam is "pi"En het wachtwoord is"framboos“. We kunnen ook inloggegevens wijzigen als we dat willen.
Stap 5: schakelschema
Nu we weten hoe de componenten werken, gaan we door en assembleren deze componenten en maken we een circuit zoals hieronder getoond.
Het relais wordt aangedreven door 5 V Raspberry Pi en Invoeruitvoer voor algemeen gebruik (GPIO-14), is aangesloten op de IN van het relais. Het zal het relais vertellen wanneer het moet schakelen AAN en UIT. We hebben een 12V AC-lamp aangesloten op de uitgang van het relais, zodat wanneer de garagedeur wordt geopend, de lamp wordt gedraaid AAN en als de garagedeur gesloten is, wordt de lamp omgedraaid UIT.
Stap 6: Kolfconfiguratie in Pi voor het bedienen van de garagedeur
We zullen een webserver maken met Flask die de weg zal effenen voor het verzenden van commando's van webpagina naar Raspberry Pi om ons prototype via het netwerk te besturen. Flask stelt ons in staat om onze python-inhoud via een website-pagina te laten lopen en we kunnen informatie van Raspberry Pi naar de internetbrowser sturen en krijgen en andersom. Het is een microframework voor Python. Deze tool is gebaseerd op Unicode en heeft een ingebouwde ontwikkelserver en debugger, geïntegreerde ondersteuning voor het testen van eenheden, ondersteuning voor veilige cookies en het is gemakkelijk te gebruiken, deze dingen maken het waardevol voor de specialist. Voor installatie Kolf typ op je Raspberry Pi de volgende commando's:
sudo apt-get update sudo apt-get install python-pip python-flask
Voer nu het pip-commando uit om Flask en zijn afhankelijkheden te installeren:
sudo pip install kolf
Stap 7: Maak een Python-script voor deuropener
Dit script werkt samen met onze Raspberry Pi GPIO's en zet de webserver op. Het is het hoofdscript voor ons project. Python-script wordt in de onderstaande delen uitgelegd:
Allereerst maken we een map. Alle andere vereiste mappen mogen alleen in deze map staan. Voer onderstaande opdrachten uit om een map te maken en maak vervolgens een python-bestand met de naam app.pyin deze map:
mkdir garage_door cd garage_door nano app.py
De bovenstaande opdrachten openen de Nano-editor waar het onderstaande script wordt geschreven. Neem belangrijke bibliotheken op:
importeer RPi.GPIO als GPIO uit flask import Flask, render_template, verzoek app = Flask (__ name__, static_url_path = '/ static')
Maak nu een woordenboek alspinnenom de pincode, naam en pinstatus op te slaan. U kunt naar behoefte meer dan één pin gebruiken:
pins = {14: {'name': 'Garage Door', 'state': GPIO.LOW}}
Stel vervolgens de pin in op output en stel deze in eerste instantie in op laag:
voor pin-in-pinnen: GPIO.setup (pin, GPIO.OUT) GPIO.output (pin, GPIO.LOW)
We zullen de functie maken om de pin-status te lezen en deze status in een variabele op te slaan:
@ app.route ("/") def main (): voor pin in pins: pins [pin] ['state'] = GPIO.input (pin) ..
We zullen deze gegevens doorgeven aan onze HTML pagina zodat we de status van de invoerknop kunnen regelen:
return render_template ('main.html', ** templateData)
Voor het afhandelen van verzoeken van URL maak een functie met pincode en actie erin:
@ app.route ("// ", methodes = ['GET', 'POST']) def actie (changePin, action):
Zet daarna de pin van de URL om in een geheel getal;
changePin = int (changePin)
Als het actiegedeelte van de URL 'Open, "Doe dan het volgende:
if action == "open": GPIO.output (changePin, GPIO.HIGH) if action == "close": GPIO.output (changePin, GPIO.LOW)
Ik zal aan het einde het volledige script bijvoegen en als iemand dat wil kopiëren, kan hij / zij dat doen door op te drukken ctrl + x en vervolgens op te drukken Enter. Nu zijn we klaar met het python-script en gaan we een HTML pagina om te communiceren met het python-script.
Stap 8: HTML-pagina maken voor Raspberry Pi-server
We zullen wijzigingen aanbrengen in de map garage_door die we eerder hebben gemaakt. We zullen een andere map maken met de naam Sjablonen en maak in deze map een .html-bestand met de volgende opdrachten:
mkdir-sjablonen cd-sjablonen nano main.html
Open nu de nano-teksteditor en schrijf het HTML code. We kunnen bewerken deel van de pagina en pas deze naar eigen keuze aan. We hebben het CSS-schema van derden gebruikt met behulp van de link-tag. De volledige code wordt hieronder gegeven:
Klik hier om de HTML-code te downloaden om een webpagina te maken.
Stap 9: Een knop maken om de deur te openen en te sluiten
We zullen een staat moeten toewijzen om de knop te openen en te sluiten. Die knop zal de GPIO-status verzenden en ophalen uit het python-script. Omdat we de bovenstaande HTML-code nu hebben voltooid, kunnen we deze in de editor gebruiken en opslaan en eindelijk is onze webserver klaar om te starten. Open de terminal en ga naargaragedeur map en voer de onderstaande opdracht uit:
sudo python app.py
Open de browser en voer het IP-adres van Raspberry Pi in en druk op Enter. Dit type pagina wordt getoond:
Stap 10: De hardware installeren
Nu we klaar zijn met de software-instellingen, gaan we een stap verder en gaan we de hardware monteren. zorg ervoor dat de relaismodule is aangesloten op de Raspberry Pi. Om te testen drukt u op de open knop om te schakelen AAN het relais en de sluitknop om te schakelen UIT het relais. Zodra het relais wordt ingeschakeld, gaat de AC-lamp branden en komen we te weten dat de poort open is en als de lamp is uitgeschakeld, komen we te weten dat de poort gesloten is. Druk op ctrl + c om de server te stoppen.
Klik hier om de code te downloaden om hardware in te stellen.