Inhoudsopgave:

Wifi-lichtschakelaar Raspberry Pi-webserver - Ajarnpa
Wifi-lichtschakelaar Raspberry Pi-webserver - Ajarnpa

Video: Wifi-lichtschakelaar Raspberry Pi-webserver - Ajarnpa

Video: Wifi-lichtschakelaar Raspberry Pi-webserver - Ajarnpa
Video: my SUPER secure Raspberry Pi Router (wifi VPN travel router) 2024, Juli-
Anonim
Wifi-lichtschakelaar Raspberry Pi-webserver
Wifi-lichtschakelaar Raspberry Pi-webserver

Ik wilde de lichtschakelaar in mijn slaapkamer bedienen zonder uit bed te hoeven komen, dus ik wilde hem vanaf mijn telefoon kunnen bedienen. Ik had een paar extra beperkingen, ik wilde het gemakkelijk vanaf elk apparaat kunnen bedienen, ik wilde de lichtschakelaar normaal kunnen gebruiken en ik kon niet veel aanpassen aan de hardware terwijl ik het appartement huur.

Ik besloot een Raspberry Pi te gebruiken om een servomotor te besturen die de schakelaar zou verplaatsen. De Raspberry Pi zou een webserver draaien waartoe ik toegang had terwijl ik op het lokale netwerk was. Links op de website op deze server zouden me in staat stellen om de schakelaar aan en uit te zetten. Door de servo spanningsloos te maken tussen het schakelen kon ik ook de lichtschakelaar nog gewoon gebruiken.

Stap 1: Materialen

Raspberry Pi

Servomotor:

smile.amazon.com/gp/product/B0015H2V72/ref…

Draadmoeren

Doorverbindingsdraden

Stap 2: Stap 1: Stel de Raspberry Pi in

Er zijn verschillende manieren om dit te doen. Als je een HDMI-monitor en usb-toetsenbord bij de hand hebt, denk ik dat het een beetje makkelijker is. Anders kunt u een "headless" setup doen.

Hier is een goede tutorial over het uitvoeren van een headless setup op Windows:

www.circuitbasics.com/raspberry-pi-basics-…

En een voor Mac:

www.circuitbasics.com/raspberry-pi-basics-…

Maar het gemakkelijkst is om een SD-kaart met NOOBS te laden, de pi op te starten terwijl deze is aangesloten op een monitor en toetsenbord en gewoon door de configuratie te gaan. Deze tutorial legt het vrij goed uit:

www.circuitbasics.com/raspberry-pi-basics-…

Als je geen headless setup hebt gedaan, moet je nog steeds SSH gereed maken, dit is nodig voor de rest. Hiervoor gebruik ik Putty. Krijg het hier:

www.circuitbasics.com/raspberry-pi-basics-…

En als u het ip-adres van uw Pi niet weet, kunt u een geavanceerde IP-scanner gebruiken:

Voer dan gewoon het IP-adres voor de pi in bij invoer voor Hostnaam/IP-adres, laat de poort op 22 staan en klik op open. U wordt gevraagd om in te loggen.

Stap 3: Stap 2: Webserver instellen

Stap 2: Webserver instellen
Stap 2: Webserver instellen

Om de webserver te draaien heb ik Apache gebruikt. Deze kun je installeren met het commando:

sudo apt-get install apache2

Dit zou u standaard een splash-pagina moeten geven wanneer u naar het IP-adres van uw pi navigeert. Het zou eruit moeten zien als de afbeelding hieronder.

Stap 4: Stap 3: Bouw de website

Stap 3: Bouw de website
Stap 3: Bouw de website
Stap 3: Bouw de website
Stap 3: Bouw de website

U wilt de standaard splash-pagina vervangen door uw website die de servomotor kan besturen. Het eerste dat u moet vervangen, is het indexbestand. Uw indexbestand voor de website moet in /var/www/html staan. Gebruik je favoriete teksteditor om het bestand te maken of kopieer het bestand hier gewoon met iets als winscp. Voeg "index.php" toe op deze locatie, je moet het zelf opnieuw opslaan als php-bestand omdat ik het niet als zodanig kon uploaden. Dit php-bestand maakt een zeer eenvoudige website met twee links, één naar "cgi-bin/off.py" en één naar "cgi-bin/on.py". Dit zijn twee pythonscripts die de positie van de servomotor veranderen.

De python-scripts moeten op een andere locatie worden geplaatst zodat Apache ze kan laten werken. Ze moeten in de cgi-bin worden gedaan. Dit is waar bestanden naartoe gaan als ze moeten worden uitgevoerd in de Common Gateway Interface, waardoor scripts op de pi kunnen worden uitgevoerd. Navigeer naar /usr/lib/cgi-bin en voeg de twee bestanden "on.py" en "off.py" toe.

Stap 5: Stap 4: Monteer de motor

Stap 4: Monteer de motor
Stap 4: Monteer de motor

Ik vond een geweldig onderdeel van een andere maker om een servo zo te monteren dat hij een standaard lichtschakelaar kan omdraaien. U kunt de 3D-bestanden ervoor hier vinden:

github.com/suyashkumar/smart-lights

Dit is voor een servo van standaardformaat zoals vermeld in het gedeelte met onderdelen. Print deze uit of laat hem uitprinten en monteer hem dan op je lichtschakelaar.

Stap 6: Stap 5: Bedraad de Pi en Motor

Stap 5: Bedraad de Pi en Motor
Stap 5: Bedraad de Pi en Motor

Ik heb de pi van stroom voorzien met een micro-usb. Ik heb nog een micro-usb afgesplitst en de aarde en voeding voor de servo hierop aangesloten. Ik deelde de grond tussen de pi en de servo. Ik heb toen de signaalpin voor de servo aangesloten op GPIO18 op de Pi.

Stap 7: Stap 6: Scripts configureren

Stap 6: Scripts configureren
Stap 6: Scripts configureren

U moet een beetje met uw instellingen spelen om erachter te komen welke waarden voor u overeenkomen met Aan en Uit. Met de Pi kun je vanaf de opdrachtregel naar de gpio schrijven met behulp van vrij eenvoudige opdrachten. om gpio 18 een pwm-pin te maken, gebruik het commando:

gpio -g modus 18 pwm

configureer vervolgens de pwm met:

gpio pwm-ms

gpio pwmc 192

gpio pwmr 2000

Dit zijn slechts redelijke waarden voor de configuratie van de pwm-frequentie. Volgende gebruik:

gpio -g pwm 18 120

Waar je 120 verandert om de juiste waarden voor de aan- en uit-positie te vinden.

Zodra u de juiste waarden voor uit en aan hebt gevonden, gebruikt u een teksteditor om deze waarden in de respectievelijke scripts voor de twee posities te wijzigen. De plaats om de wijziging aan te brengen is gemarkeerd in de afbeelding.

Stap 8: Stap 7: Test het uit

Image
Image
Draadloze wedstrijd
Draadloze wedstrijd

Ga naar het ip-adres van de pi, je zou een webpagina moeten zien met een link voor aan en uit. Elke pagina heeft ook een link naar de andere pagina.

Het is handig om een snelkoppeling naar deze pagina's toe te voegen aan het startscherm van je telefoon voor gemakkelijke toegang.

Aanbevolen: