Sommario:

Automazione domestica economica ed efficace con Raspberry Pi: 11 passaggi (con immagini)
Automazione domestica economica ed efficace con Raspberry Pi: 11 passaggi (con immagini)

Video: Automazione domestica economica ed efficace con Raspberry Pi: 11 passaggi (con immagini)

Video: Automazione domestica economica ed efficace con Raspberry Pi: 11 passaggi (con immagini)
Video: Creare un sistema IoT (LORA) con Arduino e Raspberry e Blebricks con @CarloStramaglia 2024, Dicembre
Anonim
Automazione domestica economica ed efficace con Raspberry Pi
Automazione domestica economica ed efficace con Raspberry Pi
Automazione domestica economica ed efficace con Raspberry Pi
Automazione domestica economica ed efficace con Raspberry Pi
Automazione domestica economica ed efficace con Raspberry Pi
Automazione domestica economica ed efficace con Raspberry Pi

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à

Cosa ti servirà
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

Allestire gli outlet
Allestire gli outlet
Allestire gli outlet
Allestire gli outlet

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

Creazione del circuito
Creazione del circuito
Creazione del circuito
Creazione del circuito
Creazione del circuito
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

Ottieni i tuoi codici RF
Ottieni i tuoi 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

Esecuzione del programma
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:

  1. 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.
  2. 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.
  3. 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.
  4. 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

Aggiunta di più interruttori
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

Prenderlo più lontano
Prenderlo più lontano

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: