Sommario:

Presa di corrente abilitata a Internet: 13 passaggi
Presa di corrente abilitata a Internet: 13 passaggi

Video: Presa di corrente abilitata a Internet: 13 passaggi

Video: Presa di corrente abilitata a Internet: 13 passaggi
Video: Come si collega un interruttore ad una presa di corrente? 2024, Dicembre
Anonim
Image
Image
Forniture necessarie
Forniture necessarie

Progetto PowerHub Webserver e istruzioni per la configurazione della presa abilitata a Internet

Hub centrale di persistenza dei dati per luci e prese abilitate a Internet nella tua casa!

Passaggio 1: istruzioni per l'installazione del progetto PowerHub Webserver e della presa abilitata a Internet

Hub centrale di persistenza dei dati per luci e prese abilitate a Internet nella tua casa

Disco rigido RaspberriPi lampeggiante / Installazione del software richiesto (utilizzando Ubuntu Linux) Scarica "RASPBIAN JESSIE LITE"

Crea il tuo nuovo disco rigido per DashboardPI

Inserisci la microSD sul tuo computer tramite l'adattatore USB e crea l'immagine del disco usando il comando dd

Individua la scheda microSD inserita tramite il comando df -h, smontala e crea l'immagine del disco con il comando disk copy dd

$ df -h /dev/sdb1 7.4G 32K 7.4G 1% /media/XXX/1234-5678

$ umount /dev/sdb1

Attenzione: assicurati che il comando sia completamente preciso, puoi danneggiare altri dischi con questo comando

if=posizione del file immagine RASPBIAN JESSIE LITE of=posizione della tua scheda microSD

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (nota: in questo caso, è /dev/sdb, /dev/sdb1 era una partizione di fabbrica esistente sul microSD)

Configura il tuo RaspberriPi

Inserisci la tua nuova scheda microSD nel raspberrypi e accendilo con un monitor collegato alla porta HDMI

Login

utente: pi pass: lampone

Cambia la password del tuo account per sicurezza

sudo passwd più

Passaggio 2: abilita le opzioni avanzate di RaspberriPi

sudo raspi-config

Scegli: 1 Espandi file system

9 Opzioni avanzate

A2 Hostname cambialo in "WIFI-OUTLET"

A4 SSH Abilita server SSH

A7 I2C Abilita interfaccia i2c

Abilita la tastiera inglese/americana

sudo nano /etc/default/keyboard

Modifica la seguente riga: XKBLAYOUT="us"

Riavvia PI per modifiche al layout della tastiera / ridimensionamento del file system per avere effetto

$ sudo shutdown -r now

Connessione automatica al tuo WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Aggiungi le seguenti righe per far connettere automaticamente il tuo raspberrypi al WiFi di casa (se la tua rete wireless si chiama "linksys", ad esempio, nell'esempio seguente)

network={ ssid="linksys" psk="WIRELESS PASSWORD HERE" } Riavvia PI per connetterti alla rete WiFi

$ sudo shutdown -r now

Ora che il tuo PI è finalmente sulla rete locale, puoi accedere in remoto tramite SSH. Ma prima devi ottenere l'indirizzo IP che ha attualmente.

$ ifconfig Cerca "inet addr: 192.168. XXX. XXX" nell'output del comando seguente per l'indirizzo IP del tuo PI

Vai su un'altra macchina e accedi al tuo raspberrypi tramite ssh

$ ssh [email protected]. XXX. XXX

Passaggio 3: avviare l'installazione dei pacchetti richiesti

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install vim git python-requests python-gpiozero python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev pythonpide

Aggiorna le impostazioni del fuso orario locale

$ sudo dpkg-reconfigure tzdata

seleziona il tuo fuso orario utilizzando l'interfaccia

Imposta il comando semplice directory l [opzionale]

vi ~/.bashrc

aggiungi la seguente riga:

alias l='ls -lh'

sorgente ~/.bashrc

Correggi l'evidenziazione della sintassi predefinita di VIM [opzionale]

sudo vi /etc/vim/vimrc

decommenta la seguente riga:

sintassi attiva

Installa i driver Python i2c

Passaggio 4: COSTRUISCI L'API WEB

Le seguenti istruzioni ti permetteranno di costruire l'hub centrale che spiega alle varie prese abilitate Wi-Fi e interruttori a muro che potresti costruire, quali dispositivi sono accesi e spenti. Questo è un piccolo script PHP da posizionare su un host web di tua scelta. Ha la seguente API per ottenere e impostare informazioni su di essa. Nota: non dimenticare di includere il file.htaccess affinché avvenga il corretto instradamento dell'URL.

Installa la cartella "index.php", "values/" e settings.php (configurato con i tuoi valori) su un server web abilitato per PHP di tua scelta. Il valore della chiave segreta nel file "settings.php" deve corrispondere al valore della chiave segreta che imposteresti nel file "settings.py". Questo impedirà a qualsiasi altro traffico web di impostare / scrivere valori, accendendo i tuoi dispositivi, ora hai bisogno di questa chiave API con hash nell'intestazione della richiesta HTTP per farlo.

L'API supporta le seguenti funzionalità, per questo progetto utilizzeremo solo i valori "flag" che sono valori booleani che indicano all'interruttore di accendersi e spegnersi. Forse se volessi sfruttare i valori di "lettura" potresti averlo così se una temperatura della stanza diventa troppo calda salvando una temperatura lì, potrebbe accendere un ventilatore da finestra, ecc.

Ottieni il codice

Clonare il seguente progetto da GitHub per ottenere il codice per eseguire il server web e l'uscita RaspberryPI.

github.com/khinds10/PowerHub

Endpoint API durante l'esecuzione su server web

myhost/message (ottieni il set di messaggi corrente)

myhost/message/set (HTTP POST un valore di stringa non elaborato a questo URL per impostare un nuovo messaggio)

myhost/flag/{id} (ottieni lo stato booleano corrente del flag per numero intero: {id})

myhost/flag/all (ottieni tutto lo stato booleano corrente di tutti i flag come un array)

myhost/flag/{id}/set (imposta lo stato booleano corrente su 'true' per il flag per numero intero: {id})

myhost/flag/{id}/unset (imposta lo stato booleano corrente su 'false' per il flag per numero intero: {id})

myhost/reading/{id} (ottieni il valore medio corrente per la lettura per intero: {id})

myhost/reading/all (ottieni il valore medio corrente per tutte le letture come un array)

myhost/reading/{id}/set (HTTP POST un valore numerico grezzo a questo URL per aggiungere un nuovo valore alla media calcolata corrente) -- vedi sotto per quanti valori in totale sono compilati al valore medio Configurazione I valori di 'letture' sono calcolati come medie di un certo numero di valori numerici di lettura persistenti recenti. Imposta la seguente costante su quante delle letture più recenti devono essere incluse per produrre la media.

$readingsAverageLimit = 5;

Datastore Server manterrà i valori in file semplici individuati dalle convenzioni di denominazione di seguito. Nota: {id} verrà sostituito dal numero intero reale presentato dall'URL della richiesta in arrivo.

$valueFileFolder = 'values' (nome della cartella che contiene i file di misura) $messageFileName = 'message.msg' (nome del file di testo del messaggio) $readingsFilesNames = 'reading{id}.avg' (nome del CSV mediato readings file) $flagFilesNames = 'flag{id}.flg' (nome del file flag valore flag booleano)

Assicurati che tutti i file dei valori siano scrivibili da systemchmod 777 values/*

Passaggio 5: forniture necessarie

Forniture necessarie
Forniture necessarie
Forniture necessarie
Forniture necessarie
Forniture necessarie
Forniture necessarie

Sega a tazza da 1 pollice (per trapano)

Modulo relè 5V 2 canali

Piastra da parete per presa duplex

Presa duplex

Pi Zero W

Scatola da incasso a montaggio superficiale Dual Gang

Pulsanti illuminati bianchi

Passaggio 6: costruire l'outlet

Costruire l'outlet
Costruire l'outlet

Rompi le schede di uscita

Rompi la linguetta sul lato della presa per accendere/spegnere ogni presa in modo indipendente

Passaggio 7: installazione dei pulsanti

Installa pulsanti
Installa pulsanti
Installa pulsanti
Installa pulsanti

Sul frontalino dell'uscita utilizzando la sega a tazza da 1 praticare 2 fori per i pulsanti da posizionare accanto alle uscite

Test dimensionamento dei componenti

Assicurarsi che tutti i componenti si adattino alla scatola di montaggio superficiale della presa

Passaggio 8: relè a filo

Relè a filo
Relè a filo
Relè a filo
Relè a filo

Cablare il Relè alla presa, dalla prolunga che va alla parete, collegare la terra (verde) e il neutro (bianco) direttamente alla presa Per il caldo (nero) collegarli al relè quindi dal relè a ciascuna presa calda connettori individualmente

Passaggio 9: cablaggio aggiuntivo e immagini di assemblaggio

Ulteriori immagini di cablaggio e montaggio
Ulteriori immagini di cablaggio e montaggio

Passaggio 10: schema elettrico

Schema elettrico
Schema elettrico

Usa il diagramma per collegare correttamente i componenti per lavorare con il codice Python RaspberryPI.

Passaggio 11: test di funzionamento a secco

Prova a secco
Prova a secco
Prova a secco
Prova a secco
Prova a secco
Prova a secco

Dopo l'assemblaggio finale prima di avvitare l'unità del foro, eseguire un funzionamento a secco del dispositivo per assicurarsi che non ci siano cortocircuiti o cablaggio difettoso

Passaggio 12: impostare gli script di avvio

crontab -e

aggiungi le seguenti righe

@reboot python /home/pi/PowerHub/device/outlet/buttons.py @reboot python /home/pi/PowerHub/device/outlet/relay.py

Consigliato: