Inhoudsopgave:

Raspberry Pi garagedeuropener - Ajarnpa
Raspberry Pi garagedeuropener - Ajarnpa

Video: Raspberry Pi garagedeuropener - Ajarnpa

Video: Raspberry Pi garagedeuropener - Ajarnpa
Video: Siri controlled garage opener. Working model. 2024, Juli-
Anonim
Raspberry Pi garagedeuropener
Raspberry Pi garagedeuropener

Ons vijftien jaar oude toetsenbord waarmee we de garagedeur kunnen openen, sterft langzaam uit, met verschillende knoppen die nauwelijks worden geregistreerd, waardoor het moeilijk is voor onze tieners (of hondenoppas) om het huis binnen te komen als ze hun sleutel vergeten.

In plaats van het te vervangen en door de hoepels te springen om het te herprogrammeren, besloot ik een beetje meer hightech te gaan en het te vervangen door iets dat alleen toegang tot onze wifi en een telefoon nodig had om te gebruiken.

Ik gebruikte een Pi Zero Wireless en een 2-kanaals relais dat ik over had van een ander project, waarmee ik zowel de deur als de lichten kan bedienen die in de garagedeuropener zijn ingebouwd. Omdat ik een oude/reserve USB-camera had liggen die stof stond te vergaren, heb ik die gebruikt in plaats van een PiCam, maar dat was alleen voor het gemak. Dit zou prima werken met elke ondersteunde camera - er is niets bijzonders aan de mijne, alleen dat Raspbian het ondersteunde.

In tegenstelling tot sommige andere soortgelijke projecten, heb ik geprobeerd het zo eenvoudig mogelijk te houden, met behulp van "standaard" softwarepakketten die vrij eenvoudig te starten zijn als je de instructies opvolgt. Deze foto toont mijn laatste (helemaal niet mooi, maar het is mijn garage) installatie, inclusief de Pi, de relaismodule en USB-webcam die naar de deur wijst. Er is geen specifieke reden om de Pi Zero te gebruiken - elke Pi zou het doen, zolang je hem maar kunt verbinden met je interne netwerk, en wifi maakt dat gemakkelijk.

Stap 1: Verbinding maken met het bestaande configuratiescherm

Verbinding maken met het bestaande configuratiescherm
Verbinding maken met het bestaande configuratiescherm

Ten eerste, de jouwe kan anders zijn! De mijne heeft een enkel paar draden die van de garagedeuropener naar het bedieningspaneel aan de muur gaan. Omdat er maar twee draden zijn, die bij het testen ongeveer 18 volt leken te hebben, was ik in het begin een beetje in de war over hoe dit ding precies meerdere functies kan besturen. Ik DENK dat elke kortstondige knop het circuit gewoon voltooit, maar met verschillende weerstandsniveaus. Dan kan de hoofdunit die weerstand via verschillende spanningsvallen uitlezen en de juiste actie uitvoeren. Dit is echter allemaal niet van belang, tenzij u probeert de besturingseenheid volledig te vervangen door de Pi. Ik weet niet zeker waarom je dat zou willen doen, want het is fijn om de fysieke eenheid nog steeds op zijn plaats te hebben.

AAAAAnnnyway, het enige wat u hoeft te doen is de verschillende druk op de knop na te bootsen door de momentschakelaars op de PCB aan te sluiten op uw relaismodule. Dit was het enige soldeerwerk dat ik moest doen, en de pads op de PCB waren behoorlijk groot, dus het was vrij eenvoudig. Laat deze draden voor nu een beetje lang, want het is veel gemakkelijker om een draad in te korten dan om deze later te verlengen, tenzij je een ACME-draadspanner hebt liggen, maar die zijn vrij zeldzaam.

Stap 2: Bedrading van de relaiskaart

Bedrading van de relaiskaart
Bedrading van de relaiskaart
Bedrading van de relaiskaart
Bedrading van de relaiskaart

Niet te veel om hier te zeggen, sluit gewoon alles aan zoals op de foto's. Op de Sainsmart 2-relaismodule moeten de JC-VCC- en VCC-pinnen met elkaar worden verbonden, tenzij je er een volledig aparte voeding voor wilt gebruiken, maar voor dit gebruik is dat veel overkill. Sluit GND aan op een Pi GND-pin, VCC op een 5v-pin en de IN1 en IN2 op de GPIO-pinnen die je wilt gebruiken. Omdat je ze gewoon als HIGH/LOW-schakelaars gaat gebruiken, maakt het echt niet uit welke.

Stap 3: De software installeren

De software installeren
De software installeren

Dit is waarschijnlijk de meest tijdrovende stap, omdat je een tijdje zult kijken hoe dingen worden gedownload en geïnstalleerd. Kijk naar youtube of zoiets terwijl sommige van deze dingen zijn geïnstalleerd.

Ik ga niet uitleggen hoe je Raspbian moet installeren. Als je nog niet weet hoe je dat moet doen, google dan eerst eens wat "hallo wereld" soort tutorials. In ieder geval is het waarschijnlijk het beste om een nieuwe installatie van Raspbian Lite te gebruiken. Er is geen gui nodig voor dit project, en het is gewoon extra overhead. raspberrypi.org kan u door dat proces leiden.

Schakel SSH in en (als je wilt) configureer een statisch IP-adres voor je Pi (nogmaals, er zijn meerdere tutorials over hoe je dat moet doen, geschreven door betere auteurs dan ikzelf) of nog beter, configureer je router / DHCP-server om een statisch IP-adres aan uw Pi toe te wijzen.

Als je een mooie, eenvoudig te installeren en te gebruiken videodienst wilt, installeer dan MotionEye. Het is waarschijnlijk overdreven, maar het is een van de installaties die elke keer "gewoon werkt", en het heeft een mooie, gebruiksvriendelijke webinterface. Bekijk het hier:

github.com/ccrisan/motioneye/wiki/Install-… Volg deze instructies met sudo voor elke opdracht en je hebt een mooie videostreamer ingesteld. Het is niet echt vereist om een videostream te hebben als het enige waar je om geeft je deur opent wanneer je het kunt zien, maar het is leuk om feedback te krijgen.

Zodra u Motioneye hebt geïnstalleerd, gaat u naar https://YourIPAddress:8765 en logt u in met de gebruikersnaam "admin" en een leeg wachtwoord. U zult waarschijnlijk een camera moeten toevoegen, die, nogmaals, "gewoon zou moeten werken" en buiten het bestek van deze instructies valt.

Terwijl u bent aangemeld als beheerder, klikt u op de schakelaar "Geavanceerde instellingen" en stelt u vervolgens uw video-opties in - ik gebruikte 320x240 voor mijn video omdat ik meer geef om snellere updates dan om kwaliteit, omdat ik het eigenlijk alleen maar wilde zien de deur stond open of niet, en je hoeft geen brievenbusnummers aan de overkant te lezen.

Klik onder het instellingengebied "Videostreaming" op de link "Streaming-URL" en noteer het adres dat u krijgt. Je hebt het later nodig als je van plan bent de interface op dezelfde manier in te stellen als ik.

Er zijn meerdere manieren om uw GPIO-pinnen te bedienen. Voor dit project heb ik WiringPi gebruikt, om het te installeren, gebruik de instructies op de website:

wiringpi.com/download-and-install/

Of geef gewoon de volgende opdrachten op je Pi:

wget https://lion.drogon.net/wiringpi-2.50-1.debsudo dpkg -i bedradingpi-2.50-1.deb gpio -v gpio readall

Dit zou je een lijst moeten geven van wat er aan de hand is met je GPIO-pinnen.

Als u pinnen 4 en 17 gebruikt (in het BCM-nummeringsschema), kunt u uw verbindingen testen met de volgende opdrachten. Merk op dat het instellen van de pin LOW de relais activeert bij gebruik van deze Sainsmart-module. De jouwe kan anders zijn en daar moet je je op aanpassen. Wanneer u deze opdrachten uitvoert, moet u de relais op hun plaats horen klikken en de LED('s) moeten oplichten.

gpio -g modus 17 uit

gpio -g schrijven 17 0 gpio -g schrijven 1 1 gpio -g modus 4 uit gpio -g schrijven 4 0 gpio -g schrijven 4 1

OK, nu kunnen we verder gaan met het maken van de gebruikersinterface.

Stap 4: De interface maken

De interface maken
De interface maken

Ik heb apache en PHP gebruikt. Lekker simpel, niets te luxe. Nogmaals, het is elders beter uitgelegd, dus volg gewoon de instructies die hier te vinden zijn:

www.raspberrypi.org/documentation/remote-a…

De "root" van uw webserver bevindt zich standaard op /var/www/html/ met een standaard index.html die u informatie geeft over uw webserver. U vervangt die index.html, dus u kunt deze verwijderen of hernoemen naar iets anders, zoals index.copy. Ik heb de "pi"-gebruiker ook de eigenaar van de html-directory gemaakt, gewoon om lui te zijn over permissies. Ten slotte heb ik een map gemaakt om mijn afbeeldingen op te slaan, waarvan er twee zijn. Eentje die gewoon domme feedback is dat er op een knop is gedrukt, en een andere die kan worden gebruikt voor een pictogram op het startscherm van een telefoon.

pi@garagedoor:~ $ cd /var/www/html/

pi@garagedoor:/var/www/html $ sudo chown pi.pi@garagedoor:/var/www/html $ mv index.html index.copy pi@garagedoor:/var/www/html $ mkdir afbeeldingen

Er zijn oneindig veel manieren om een website te maken, maar ik heb ervoor gekozen om het zo eenvoudig en gemakkelijk mogelijk te houden op basis van MIJN vaardigheden. Vandaar, PHP, aangezien ik het ken. Als je een python-goeroe bent of een andere scripttaal, gebruik die dan gerust.

Ik heb een "container" index.html-pagina gemaakt die eigenlijk twee iframes heeft die al het werk doen. Een van de iframes bevat de knoppen/links die de relais daadwerkelijk activeren via GPIO, en een ander iframe dat de video weergeeft. Het bevat ook koppelingen naar een.png-afbeelding die kan worden gebruikt als het startschermpictogram van een telefoon.

Het index.html iframe met de knoppen heeft het bestand buttons.html als inhoud. (grappig hoe dat werkt, hè?) Beide links in button.html leiden naar action.php met een unieke GET variabele waarde. Op basis van de doorgegeven waarde, activeert action.php de deur of de lichtknop. Je kunt de HTML- en PHP-code van mijn github krijgen:

Plaats alle HTML en PHP in de hoofdmap (/var/www/html/), werk de code bij waar nodig met de naam van de afbeelding die u mogelijk gebruikt voor bevestiging met een druk op de knop en het adres van uw videostream. Weet je nog dat ik je vertelde dat je dat nodig zou hebben, in de vorige stap?

Stap 5: Probeer het uit

OK, nu je alles hebt aangesloten en geïnstalleerd, werkt het allemaal perfect bij de eerste poging, toch? Lief hoor!

Aanbevolen: