Sommario:
- Passaggio 1: materiali
- Passaggio 2: Passaggio 1: configurare il Raspberry Pi
- Passaggio 3: Passaggio 2: configurare il server Web
- Passaggio 4: Passaggio 3: crea il sito web
- Passaggio 5: Passaggio 4: montare il motore
- Passaggio 6: Passaggio 5: collegare il Pi e il motore
- Passaggio 7: Passaggio 6: configurare gli script
- Passaggio 8: Passaggio 7: provalo
Video: Wifi Light Switch Raspberry Pi Web Server: 8 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
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
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
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
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
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
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
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:
OreServer: un server Minecraft dedicato a Raspberry Pi con indicatore LED del lettore: 9 passaggi (con immagini)
OreServer: un server Minecraft dedicato Raspberry Pi con indicatore LED Player: AGGIORNAMENTO di luglio 2020 - Prima di iniziare questo progetto, tieni presente che sono state apportate MOLTE modifiche e aggiornamenti ai vari strumenti software che ho usato per creare questo su due anni fa. Di conseguenza, molti dei passaggi non funzionano più come scritti
Esercitazione sul server Web HiFive1 con moduli WiFi ESP32 / ESP8266: 5 passaggi
Server Web HiFive1 con moduli WiFi ESP32 / ESP8266 Tutorial: HiFive1 è la prima scheda RISC-V compatibile con Arduino costruita con CPU FE310 di SiFive. La scheda è circa 20 volte più veloce di Arduino UNO, ma come la scheda UNO HiFive1 manca di connettività wireless. Per fortuna ci sono diversi economici
Striscia LED controllata da sito Web/WiFi con Raspberry Pi: 9 passaggi (con immagini)
Striscia LED controllata da sito Web/WiFi con Raspberry Pi: Background: Sono un adolescente e negli ultimi anni ho progettato e programmato piccoli progetti di elettronica, oltre a partecipare a concorsi di robotica. Di recente stavo lavorando all'aggiornamento della configurazione della mia scrivania e ho deciso che una bella aggiunta
Controllo del display LED a 7 segmenti utilizzando il server Web ESP8266: 8 passaggi (con immagini)
Controllo del display a LED a 7 segmenti utilizzando il server Web ESP8266: il mio progetto ha un Nodemcu ESP8266 che controlla un display a 7 segmenti tramite il server http utilizzando il modulo html
Orologio con animazione LED SMART connesso al Web con pannello di controllo basato sul Web, server dell'ora sincronizzato: 11 passaggi (con immagini)
Orologio con animazione LED SMART connesso al Web con pannello di controllo basato sul Web, server dell'ora sincronizzato: la storia di questo orologio risale a molto tempo fa, più di 30 anni. Mio padre è stato il pioniere di questa idea quando avevo solo 10 anni, molto prima della rivoluzione dei LED, quando i LED erano 1/1000 della luminosità della loro attuale brillantezza accecante. Un vero