Sommario:
- Passaggio 1: cosa ti servirà
- Passaggio 2: configurare le prese
- Passaggio 3: configura un account PubNub
- Passaggio 4: preparare Raspberry Pi
- Passaggio 5: creazione del circuito
- Passaggio 6: ottenere i codici RF
- Passaggio 7: esecuzione del programma
- Passaggio 8: esecuzione all'avvio
- Passaggio 9: aggiunta di più interruttori
- Passaggio 10: andare oltre
- Passaggio 11: crediti
Video: Automazione domestica economica ed efficace con Raspberry Pi: 11 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Ho sempre desiderato essere in grado di controllare le luci in modalità wireless, ma le opzioni commerciali di solito sono costose. Le luci Philips Hue costano circa $ 70 e anche le luci connesse al WiFi sono costose. Questo tutorial ti spiegherà come controllare fino a cinque luci/lampade/fili di luce natalizia per circa $ 50 e può essere ampliato per includere anche più luci.
Passaggio 1: cosa ti servirà
Materiali:
Raspberry Pi Zero W (edizione wireless)
Scheda Micro SD (Almeno 4 GB)
Cavo/convertitore da mini HDMI a HDMI (c'è una differenza tra mini e micro, assicurati di prendere quello giusto!)
Cavo/convertitore da micro USB a USB
Tastiera USB
Nota: ho ricevuto uno starter kit Raspberry Pi Zero W da Amazon fornito con Raspberry Pi Zero W, scheda SD, custodia, cavo di alimentazione, convertitore HDMI e convertitore USB. Per soli $ 30, è un'opzione abbastanza buona (link)
Puoi utilizzare un modello diverso di Raspberry Pi, ma il Raspberry Pi deve avere una qualche forma di connessione Internet e il Pi Zero W è l'opzione più economica.
Prese remote - ho usato queste
Trasmettitore e ricevitore RF (Nota: la frequenza del trasmettitore/ricevitore deve corrispondere alla frequenza delle prese remote) - ho usato questi
Filo per antenna (ho usato un filo di rame a nucleo solido calibro 22, un altro filo potrebbe funzionare)
Breadboard, cavi jumper, intestazione maschio-maschio a 40 pin
Software:
Sistema operativo Raspberry Pi (scarica desktop Raspbian)
Etcher disk imager (per scrivere il sistema operativo Pi sulla scheda SD)
Utensili:
Saldatore
Computer per scaricare Pi OS e Etcher
Passaggio 2: configurare le prese
Inizia collegando le prese a una presa. Segui le istruzioni incluse per configurarli e collega le luci/gli elettrodomestici. Assicurati che il telecomando sia accoppiato correttamente e stia controllando le prese.
Passaggio 3: configura un account PubNub
PubNub è un server internet gratuito che ti permette di comunicare tra dispositivi, ovunque nel mondo. Lo script Python riceve messaggi da una pagina Web e utilizza le informazioni nel messaggio per accendere o spegnere le luci. Puoi registrarti per il tuo account gratuito qui. Dopo esserti registrato, accedi al tuo account. Questo ti porterà a una pagina di gestione dell'app. Fare clic su "Crea nuova app". Assegna un nome all'app, quindi selezionala dall'elenco delle app (se questa è la tua prima app, sarà l'unica) Questo ti porterà alla pagina delle chiavi dell'app. Fai clic su "Demo Keyset" e dovresti vedere tre chiavi diverse. Tieni alta questa pagina, avrai bisogno di queste chiavi in seguito. Ora che hai il tuo account PubNub, puoi configurare il tuo Raspberry Pi.
Passaggio 4: preparare Raspberry Pi
Scarica Etcher e il sistema operativo Raspberry Pi sul tuo computer (link nell'elenco delle parti)
Installa Etcher sul tuo computer e decomprimi (se necessario) il sistema operativo Raspberry Pi. Inserisci la tua scheda Micro SD nel computer e apri Etcher. Fai clic su "Seleziona immagine" e vai al file del sistema operativo Raspberry Pi decompresso. Selezionalo, quindi fai clic su "Seleziona unità" e seleziona la tua scheda micro SD dall'elenco. Fai clic su "Flash" e attendi il completamento di Etcher. Una volta che Etcher ha completato, rimuovi la tua scheda SD dal tuo computer (Etcher la espelle automaticamente) e inseriscila nel tuo Raspberry Pi. A questo punto, dovrai collegare il tuo Raspberry Pi a un monitor con il convertitore HDMI. Collega una tastiera (e un mouse se disponi di un hub multi-USB) e collega il cavo di alimentazione. Ci sono due porte micro USB. Uno è per l'alimentazione, l'altro è una vera porta USB. Quello più vicino alla fine del Pi è il potere, mentre quello più vicino al centro è USB. Il tuo Raspberry Pi ora inizierà ad avviarsi. Potrebbe riavviarsi alcune volte durante il primo avvio, ma è normale. Una volta avviato il tuo Raspberry Pi, collegalo al tuo WiFi. Dopo averlo connesso al WiFi, puoi utilizzare un server SSH, ma per ora trovo più semplice utilizzare la GUI. Apri una finestra di terminale e inserisci questi comandi:
sudo pip3 install 'pubnub==3.9.0'
cd git clone git://git.drogon.net/wiringPi git clone
sudo git clone https://github.com/timleland/rfoutlet.git /var/www/rfoutlet
sudo chown root.root /var/www/rfoutlet/codesend sudo chmod 4755 /var/www/rfoutlet/codesend
cablaggio cdPiù
./costruire
Ora apri il browser di file Raspberry Pi e dovresti vedere la cartella pi-home-automation. Fai doppio clic e dovresti vedere un file chiamato RFControl.py. Copialo (fai clic di fronte e seleziona "Copia"), quindi torna alla cartella pi e incollalo lì.
Spegni il tuo raspberry pi (dal menu o eseguendo sudo poweroff dalla riga di comando) e scollegalo quando la luce verde smette di lampeggiare.
Passaggio 5: creazione del circuito
Ora è il momento di creare il circuito. Ho usato una breadboard, ma puoi farlo come preferisci.
Innanzitutto, dobbiamo creare un'antenna per il trasmettitore RF. Questo tutorial illustra come realizzare un'antenna per un trasmettitore RF. Segui le istruzioni, quindi saldalo al pin dell'antenna del trasmettitore (su quello che ho usato era etichettato ANT) con il lato più corto più vicino al trasmettitore
Collegare il trasmettitore
Il trasmettitore utilizza questi pin:
DATI: GPIO 17, Pin fisico 11
VCC: Raspberry Pi 5v, pin fisico 2
GND: Raspberry Pi GND, pin fisico 6
Collegare il ricevitore
Il ricevitore utilizza questi pin:
GND: Raspberry Pi GND, pin fisico 9
VCC: Raspberry Pi 5v, pin fisico 4
DATI: GPIO 27, pin fisico 13 (ci sono due pin dati sul ricevitore che ho usato e ho usato quello più vicino a VCC)
Passaggio 6: ottenere i codici RF
Dopo che il circuito è stato collegato al Raspberry Pi, controllalo due volte per assicurarti che tutto sia a posto, quindi riaccendilo. Una volta acceso, apri un terminale e digita
sudo /var/www/rfoutlet/RFSniffer
Quindi, apri il programma RFControl. Mettere la finestra del terminale e la finestra del programma fianco a fianco può essere utile nel passaggio successivo.
Avrai bisogno del telecomando che è stato incluso nel kit della presa ora. Tienilo vicino al ricevitore e premi ogni singolo pulsante. Quando premi un pulsante, vedrai due numeri stampati sullo schermo. Uno di questi sarà un codice a sei o sette cifre e l'altro a 3 cifre. Dovrai modificare il dizionario dei codici nel programma. Immettere il codice a 7 cifre nella posizione dell'interruttore corrispondente nel programma e, per ogni pulsante di accensione/spegnimento, inserire il codice a 3 cifre (questa è la lunghezza) nella lente dell'interruttore corrispondente nel programma.
Ad esempio, se l'interruttore 1 on ha un codice di 1234567, un codice off di 7654321 e una lunghezza di 890, il codice avrà il seguente aspetto:
codici = {
'switch1': { 'on': 1234567, #questo è l'interruttore 1 su 'off': 7654321, #questo è l'interruttore 1 off 'len': 890, #questo è l'interruttore 1 lunghezza del codice }, 'switch2': {… }, … }
Ripetere questa operazione per ogni pulsante. Mentre stai modificando questo file, cambia le stringhe che dicono "YOUR-SUB-KEY" con la tua chiave di iscrizione PubNub e "YOUR-PUB-KEY" con la tua chiave di pubblicazione.
Una volta che ogni pulsante è stato registrato, puoi continuare con la sezione successiva.
Passaggio 7: esecuzione del programma
Ora che hai tutti i tuoi codici, vai a questa pagina GitHub (Sul tuo computer, non raspberry pi) e fai clic sul pulsante verde che dice "Clona o scarica", quindi fai clic su "Download ZIP". Una volta scaricato questo file, decomprimilo e apri la cartella. Apri il file denominato main.js. Dovrai inserire le tue chiavi di iscrizione e pubblicazione nel programma sostituendo "YOUR-PUB-KEY" con la tua chiave di pubblicazione e "YOUR-SUB-KEY" con la tua chiave di iscrizione.
Quindi, torna al tuo Raspberry Pi e inserisci
python3 RFControl.py
Una volta stampato "Pronto", torna al tuo computer e apri il file index.html in un browser web facendo un clic opposto, seleziona "Apri con" e seleziona il tuo browser preferito. Dovresti vedere 2 colonne di 5 pulsanti, con i nomi degli interruttori tra di loro. Premere uno dei pulsanti. Se controlla correttamente la presa, ottimo! In caso contrario, ecco alcune cose da provare:
- Assicurati che Raspberry Pi stia ricevendo messaggi. Dovrebbe essere stampato sullo schermo ogni volta che riceve un messaggio dalla pagina web. In caso contrario, assicurati che le tue chiavi di iscrizione/pubblicazione siano corrette.
- Se il Raspberry Pi sta ricevendo messaggi, assicurati che i tuoi codici RF siano corretti. Assicurati che le tue prese siano abbinate al telecomando, che il telecomando possa controllarle e che i codici inseriti nel programma siano corretti.
- Se i codici RF sono corretti, assicurati che il tuo Raspberry Pi sia nel raggio delle prese. Se iniziano a funzionare dopo averlo avvicinato, potrebbe essere necessario rifare l'antenna.
- Se ancora non funzionano, per favore dimmi il tuo problema nei commenti e cercherò di aiutarti.
Passaggio 8: esecuzione all'avvio
Per eseguire il tuo programma Python all'avvio, inserisci questo nel tuo terminale raspberry pi:
crontab -e
Quindi, vai in fondo al file e inserisci questo:
@reboot python3 /home/pi/RFControl.py &
Questo farà eseguire ogni volta il tuo script Python all'avvio. Ora riavvia il tuo Raspberry Pi.
Passaggio 9: aggiunta di più interruttori
Se desideri aggiungere più punti vendita, segui queste istruzioni:
Apri RFControl.py sul tuo Raspberry Pi e aggiungi un nuovo interruttore al dizionario degli interruttori.
Esempio:
interruttori = {
…altri interruttori… 'NAME-OF-SWITCH': { 'on': xxxxxxx, 'off': yyyyyyy, 'len': zzz, }, }
Quindi, aggiungi un nuovo pulsante nella tua app web modificando la variabile switch in main.js sul tuo computer.
Esempio:
var interruttori = […vecchi interruttori… ['NOME-TO-DISPLAY', 'NOME-INTERRUTTORE'],];
Sostituisci NAME-TO-DISPLAY con il nome che desideri venga visualizzato nella pagina web e NAME-OF-SWITCH su entrambi i file con qualsiasi cosa desideri. Deve essere unico dagli altri però!
Passaggio 10: andare oltre
PubNub è supportato su molte piattaforme diverse, il che significa che puoi inviare messaggi da quasi tutti i dispositivi! Ho usato un kit vocale AIY Raspberry Pi e PubNub per inviare comandi con la mia voce, ma questo potrebbe essere l'argomento di un successivo Instructable. Grazie per aver letto il mio Instructable, spero di esserti stato utile!
Passaggio 11: crediti
Grazie a Tim Leland per il tutorial sulla configurazione del trasmettitore RF: tutorial
Grazie a diy_bloke per il tutorial sulla creazione di un'antenna: tutorial
Grazie anche a tutti gli altri che hanno pubblicato tutorial online che ho visualizzato per chiedere aiuto!
Consigliato:
Automazione loquace -- Audio da Arduino -- Automazione a controllo vocale -- Modulo Bluetooth HC - 05: 9 passaggi (con immagini)
Automazione loquace || Audio da Arduino || Automazione a controllo vocale || HC - 05 Modulo Bluetooth:……………………………. ISCRIVITI al mio canale YouTube per altri video…. …. In questo video abbiamo costruito un'automazione loquace.. Quando invierai un comando vocale tramite cellulare, si accenderà i dispositivi di casa e invierà feedback i
Come realizzare l'automazione domestica basata su IoT con il relè di controllo dei sensori NodeMCU: 14 passaggi (con immagini)
Come realizzare l'automazione domestica basata sull'IoT con il relè di controllo dei sensori NodeMCU: in questo progetto basato sull'IoT, ho realizzato l'automazione domestica con Blynk e il modulo relè di controllo NodeMCU con feedback in tempo reale. Nella modalità manuale, questo modulo relè può essere controllato da cellulare o smartphone e, interruttore manuale. In modalità automatica, questo smart
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: 5 passaggi (con immagini)
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: ho realizzato questo localizzatore GPS l'anno scorso e dato che funziona bene lo pubblico ora su Instructable. È collegato alla presa degli accessori nel mio bagagliaio. Il localizzatore GPS carica la posizione dell'auto, la velocità, la direzione e la temperatura misurata tramite un dato mobile
L'hub di automazione domestica Raspberry Pi-Arduino-SignalR: 11 passaggi (con immagini)
L'hub di automazione domestica Raspberry Pi-Arduino-SignalR: dopo un paio dei miei IBLE preludio pubblicati qui e qui, questo progetto fa il primo passo verso la creazione di una versione base di un hub di automazione domestica funzionale. Ho utilizzato diverse tecnologie in un sforzo per dare un senso a come potrei essere
Automazione domestica semplice utilizzando Raspberry Pi3 e Android Things: 5 passaggi (con immagini)
Automazione domestica semplice utilizzando Raspberry Pi3 e Android Things: l'idea è progettare una “casa intelligente” in cui è possibile controllare i dispositivi domestici utilizzando Android Things e Raspberry Pi. Il progetto consiste nel controllo di elettrodomestici come luce, ventola, motore ecc. Materiali richiesti: Raspberry Pi 3HDMI Ca