Sommario:

Wifi Light Switch Raspberry Pi Web Server: 8 passaggi (con immagini)
Wifi Light Switch Raspberry Pi Web Server: 8 passaggi (con immagini)

Video: Wifi Light Switch Raspberry Pi Web Server: 8 passaggi (con immagini)

Video: Wifi Light Switch Raspberry Pi Web Server: 8 passaggi (con immagini)
Video: Raspberry pi 5 inch HDMI Screen Installation | #Shorts 2024, Dicembre
Anonim
Interruttore luce Wifi Server Web Raspberry Pi
Interruttore luce Wifi Server Web Raspberry Pi

Volevo controllare l'interruttore della luce nella mia camera da letto senza dovermi alzare dal letto, quindi volevo essere in grado di controllarlo dal mio telefono. Avevo alcuni vincoli extra, volevo essere in grado di controllarlo facilmente da qualsiasi dispositivo, volevo essere in grado di utilizzare l'interruttore della luce normalmente e non potevo apportare molte modifiche all'hardware mentre affitto l'appartamento.

Ho deciso di utilizzare un Raspberry Pi per controllare un servomotore che avrebbe spostato l'interruttore. Il Raspberry Pi eseguirà un server Web a cui potrei accedere mentre ero sulla rete locale. I collegamenti sul sito Web su questo server mi permetterebbero di accendere e spegnere l'interruttore. Diseccitando il servo tra una commutazione e l'altra, potrei anche utilizzare l'interruttore della luce normalmente.

Passaggio 1: materiali

rasperry pi

Servomotore:

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

Dadi a filo

Cavi per ponticelli

Passaggio 2: Passaggio 1: configurare il Raspberry Pi

Ci sono vari modi per farlo. Se hai un monitor HDMI e una tastiera USB a portata di mano penso che sia un po' più semplice. Altrimenti puoi fare una configurazione "senza testa".

Ecco un buon tutorial su come eseguire una configurazione headless su Windows:

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

E uno per Mac:

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

Ma il modo più semplice è caricare una scheda SD con NOOBS, avviare il pi up mentre è collegato a un monitor e una tastiera e basta passare attraverso la configurazione. Questo tutorial lo spiega abbastanza bene:

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

Se non hai eseguito una configurazione headless, dovresti comunque preparare SSH, è necessario per il resto. Per fare questo uso Putty. Prendilo qui:

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

E se non conosci l'indirizzo IP del tuo Pi, puoi utilizzare lo scanner IP avanzato:

Quindi basta inserire l'indirizzo IP per il pi in input per Nome host/indirizzo IP, lasciare la porta a 22 e fare clic su Apri. Ti verrà chiesto di effettuare il login.

Passaggio 3: Passaggio 2: configurare il server Web

Passaggio 2: configurare il server Web
Passaggio 2: configurare il server Web

Per eseguire il server web ho usato Apache. Puoi installarlo usando il comando:

sudo apt-get install apache2

Questo dovrebbe darti per impostazione predefinita una splash page quando accedi all'indirizzo IP del tuo pi. Dovrebbe assomigliare all'immagine qui sotto.

Passaggio 4: Passaggio 3: crea il sito web

Passaggio 3: crea il sito web
Passaggio 3: crea il sito web
Passaggio 3: crea il sito web
Passaggio 3: crea il sito web

Dovrai sostituire la pagina iniziale predefinita con il tuo sito Web che può controllare il servomotore. La prima cosa da sostituire è il file index. Il tuo file indice per il sito web dovrebbe essere in /var/www/html. Usa il tuo editor di testo preferito per creare il file o semplicemente copia il file qui usando qualcosa come winscp. Aggiungi "index.php" in questa posizione, dovrai salvarlo di nuovo come file php poiché non sono riuscito a caricarlo come tale. Questo file php crea un sito Web molto semplice con due collegamenti, uno a "cgi-bin/off.py" e uno a "cgi-bin/on.py". Questi sono due script Python che cambiano la posizione del servomotore.

Gli script Python devono essere messi in una posizione diversa per consentire ad Apache di eseguirli. Dovranno essere inseriti nel cgi-bin. Qui è dove vanno i file se devono essere eseguiti nell'interfaccia Common Gateway che consente l'esecuzione degli script sul pi. Passare a /usr/lib/cgi-bin e aggiungere i due file "on.py" e "off.py".

Passaggio 5: Passaggio 4: montare il motore

Passaggio 4: montare il motore
Passaggio 4: montare il motore

Ho trovato un'ottima parte da un altro produttore per montare un servo in modo che possa capovolgere un interruttore della luce standard. Puoi trovare i file 3d per questo qui:

github.com/suyashkumar/smart-lights

Questo è per un servo di dimensioni standard come elencato nella sezione delle parti. Stampalo o fallo stampare e poi montalo sull'interruttore della luce.

Passaggio 6: Passaggio 5: collegare il Pi e il motore

Passaggio 5: cablare il Pi e il motore
Passaggio 5: cablare il Pi e il motore

Ho alimentato il pi con una micro usb. Ho separato un altro micro usb e ho collegato la terra e l'alimentazione per il servo a questo. Ho condiviso il terreno tra il pi e il servo. Ho quindi collegato il pin del segnale per il servo a GPIO18 sul Pi.

Passaggio 7: Passaggio 6: configurare gli script

Passaggio 6: configurare gli script
Passaggio 6: configurare gli script

Avrai bisogno di giocare un po' con la tua configurazione per scoprire quali valori corrispondono a On e Off per te. Il Pi ti consente di scrivere su gpio dalla riga di comando usando comandi piuttosto semplici. per rendere gpio 18 un pin pwm usa il comando:

gpio -g modalità 18 pwm

quindi configurare il pwm con:

gpio pwm-ms

gpio pwmc 192

gpio pwmr 2000

Questi sono solo valori ragionevoli per la configurazione della frequenza pwm. Prossimo utilizzo:

gpio -g pwm 18 120

Dove cambi 120 intorno per trovare i valori appropriati per la posizione di accensione e spegnimento.

Una volta trovati i valori appropriati per off e on, utilizzare un editor di testo per modificare questi valori nei rispettivi script per le due posizioni. Il luogo in cui effettuare la modifica è evidenziato nell'immagine.

Passaggio 8: Passaggio 7: provalo

Image
Image
Concorso Wireless
Concorso Wireless

Vai all'indirizzo IP del pi dovresti vedere una pagina web con un link per l'accensione e lo spegnimento. Ogni pagina avrà anche un collegamento per l'altra pagina.

È utile aggiungere un collegamento a queste pagine alla schermata iniziale del telefono per un facile accesso.

Consigliato: