Cuprins:

Priză de alimentare activată pe internet: 13 pași
Priză de alimentare activată pe internet: 13 pași

Video: Priză de alimentare activată pe internet: 13 pași

Video: Priză de alimentare activată pe internet: 13 pași
Video: Ce înseamna semnul tau din nastere 2024, Iulie
Anonim
Image
Image
Consumabile necesare
Consumabile necesare

PowerHub Webserver Project & Internet Enabled Outlet Setup Instructions

Centrul central de persistență a datelor pentru lumina și prizele permise pe internet în casa dvs.!

Pasul 1: PowerHub Webserver Project & Internet Enabled Outlet Setup Instructions

Centrul central de persistență a datelor pentru lumina și prizele permise de Internet în casa dvs

Disc intermitent RaspberriPi / Instalare software necesar (folosind Ubuntu Linux) Descărcați „RASPBIAN JESSIE LITE”

Creați noul dvs. hard disk pentru DashboardPI

Introduceți microSD-ul pe computerul dvs. prin adaptor USB și creați imaginea discului folosind comanda dd

Localizați cardul microSD introdus prin comanda df -h, demontați-l și creați imaginea discului cu comanda dd copy copy dd

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

$ umount / dev / sdb1

Atenție: asigurați-vă că comanda este complet precisă, cu această comandă puteți deteriora alte discuri

if = locația fișierului imagine RASPBIAN JESSIE LITE a = locația cardului dvs. microSD

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (notă: în acest caz, este / dev / sdb, / dev / sdb1 era o partiție fabrică existentă pe microSD)

Configurarea RaspberriPi

Introduceți noul card microSD în raspberrypi și porniți-l cu un monitor conectat la portul HDMI

Autentificare

utilizator: pi pass: zmeură

Schimbați parola contului pentru securitate

sudo passwd pi

Pasul 2: activați opțiunile avansate RaspberriPi

sudo raspi-config

Alegeți: 1 Extindeți sistemul de fișiere

9 Opțiuni avansate

Numele gazdei A2 schimbați-l în „WIFI-OUTLET”

A4 SSH Activați serverul SSH

A7 I2C Activați interfața i2c

Activați tastatura engleză / SUA

sudo nano / etc / implicit / tastatură

Schimbați următoarea linie: XKBLAYOUT = "noi"

Reporniți PI pentru modificările aspectului tastaturii / redimensionarea sistemului de fișiere pentru a intra în vigoare

$ sudo shutdown -r acum

Conectare automată la WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Adăugați următoarele linii pentru ca raspberrypi-ul dvs. să se conecteze automat la WiFi-ul de acasă (dacă rețeaua fără fir este denumită „linksys”, de exemplu, în exemplul următor)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD AICI"} Reporniți PI pentru a vă conecta la rețeaua WiFi

$ sudo shutdown -r acum

Acum că PI-ul dvs. se află în sfârșit în rețeaua locală, vă puteți conecta la acesta de la distanță prin SSH. Dar mai întâi trebuie să obțineți adresa IP pe care o are în prezent.

$ ifconfig Căutați "inet addr: 192.168. XXX. XXX" în următoarea ieșire a comenzii pentru adresa IP a PI-ului dvs.

Mergeți la o altă mașină și conectați-vă la raspberrypi prin ssh

$ ssh [email protected]. XXX. XXX

Pasul 3: Începeți instalarea pachetelor necesare

$ 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 python3-spidev python-spidev

Actualizați setările pentru fusul orar local

$ sudo dpkg-reconfigure tzdata

selectați fusul orar utilizând interfața

Configurați comanda directorului simplu l [opțional]

vi ~ /.bashrc

adăugați următoarea linie:

alias l = 'ls -lh'

sursa ~ /.bashrc

Remediați evidențierea implicită a sintaxei VIM [opțional]

sudo vi / etc / vim / vimrc

decomentați următoarea linie:

sintaxă activată

Instalați driverele Python i2c

Pasul 4: CONSTRUIȚI API-ul WEB

Următoarele instrucțiuni vă vor permite să construiți hub-ul central care să explice diferitelor prize conectate la Wi-Fi și comutatoare de perete pe care le puteți construi, ce dispozitive sunt pornite și oprite. Acesta este un mic script PHP pentru a fi plasat pe un webhost la alegere. Are următorul API pentru a obține și seta informații la acesta. Notă: nu uitați să includeți fișierul.htaccess pentru a avea loc o rutare URL corectă.

Instalați folderul „index.php”, „values /” și settings.php (configurat la propriile valori) pe un server web activat PHP la alegere. Valoarea cheii secrete din fișierul „settings.php” trebuie să se potrivească cu valoarea cheii secrete pe care ați seta-o în fișierul „settings.py”. La nivel de bază, acest lucru va împiedica orice alt trafic web să seteze / scrie valori, pornind dispozitivele dvs. acum aveți nevoie de această cheie API hash în antetul cererii HTTP pentru a face acest lucru.

API-ul acceptă următoarele caracteristici, pentru acest proiect vom folosi doar valorile „flag” care sunt valori booleene care indică comutatorului să pornească și să dezactiveze. Poate că dacă ai vrea să profiți de valorile de „citire”, ai putea să o ai, așa că dacă temperatura camerei devine prea fierbinte economisind o temperatură acolo, ar putea porni un ventilator de fereastră etc.

Obțineți codul

Clonați următorul proiect din GitHub pentru a obține codul pentru a rula serverul web și ieșirea RaspberryPI.

github.com/khinds10/PowerHub

Puncte finale API atunci când rulează pe serverul web

myhost / message (obțineți setul de mesaje curent)

myhost / message / set (HTTP POST o valoare de șir brut la această adresă URL pentru a seta un mesaj nou)

myhost / flag / {id} (obțineți starea booleană actuală a steagului după numărul întreg: {id})

myhost / flag / all (obțineți toate starea booleană curentă a tuturor steagurilor ca matrice)

myhost / flag / {id} / set (setați starea booleană curentă la „true” pentru steagul după numărul întreg: {id})

myhost / flag / {id} / unset (setați starea booleană curentă la „false” pentru steagul după numărul întreg: {id})

myhost / reading / {id} (obțineți valoarea medie curentă pentru citire după numărul întreg: {id})

myhost / reading / all (obțineți valoarea medie curentă pentru toate citirile ca matrice)

myhost / reading / {id} / set (HTTP POST o valoare numerică brută la această adresă URL pentru a adăuga o nouă valoare la media calculată curentă) - consultați mai jos câte valori în total sunt compilate la valoarea medie Configurație Valorile „citirilor” sunt calculate ca medii ale unui anumit număr de valori numerice de lectură persistente recente. Setați următoarea constantă la câte dintre cele mai recente citiri ar trebui incluse pentru a produce media.

$ readingsAverageLimit = 5;

Datastore Server va păstra valorile fișierelor simple localizate prin convențiile de denumire de mai jos. Notă: {id} va fi înlocuit de întregul real prezentat de adresa URL a cererii primite.

$ valueFileFolder = 'valori' (numele folderului care conține fișierele de măsurare) $ messageFileName = 'message.msg' (numele fișierului text al mesajului) $ readingsFilesNames = 'citirea {id}.avg' (numele CSV mediu fișier de lecturi) $ flagFilesNames = 'flag {id}.flg' (numele fișierului de pavilion boolean cu valoarea steagului)

Asigurați-vă că toate fișierele de valori pot fi scrise de sistemul systemchmod 777 values / *

Pasul 5: consumabile necesare

Consumabile necesare
Consumabile necesare
Consumabile necesare
Consumabile necesare
Consumabile necesare
Consumabile necesare

Ferăstrău cu găuri de 1 inch (pentru un burghiu)

Modul releu 5V 2 canale

Placă de perete pentru receptacul duplex

Recipient duplex

Pi Zero W

Cutie din spate cu montare pe suprafață Dual Gang

Butoane de iluminare albe iluminate

Pasul 6: Construirea Outletului

Construirea Outletului
Construirea Outletului

Descărcați filele Outlet

Rupeți clema din partea laterală a prizei pentru a porni / dezactiva fiecare priză independent

Pasul 7: Instalați butoane

Instalați butoane
Instalați butoane
Instalați butoane
Instalați butoane

Pe placa de ieșire utilizând ferăstrăul de 1 , tăiați 2 găuri pentru ca butoanele să fie plasate lângă prize

Test Dimensionarea componentelor

Asigurați-vă că toate componentele se vor potrivi în cutia de montare la suprafață

Pasul 8: Releu de fir

Releu de sârmă
Releu de sârmă
Releu de sârmă
Releu de sârmă

Conectați releul la priză, de la cablul prelungitor care merge la perete, conectați solul (verde) și neutru (alb) direct la priză Pentru fierbinte (negru) conectați-le la releu, apoi de la releu la fiecare priză conectori fierbinți individual

Pasul 9: imagini suplimentare de cablare și asamblare

Imagini suplimentare de cablare și asamblare
Imagini suplimentare de cablare și asamblare

Pasul 10: Schema de cablare

Schema de conexiuni
Schema de conexiuni

Utilizați diagrama pentru a conecta corect componentele pentru a lucra cu codul RaspberryPI Python.

Pasul 11: Testați Dry Run

Testați secțiunea
Testați secțiunea
Testați Dry Run
Testați Dry Run
Testați secțiunea
Testați secțiunea

După asamblarea finală înainte de a înșuruba unitatea de gaură împreună, efectuați o rulare uscată a dispozitivului pentru a vă asigura că nu există scurtcircuți, cabluri defecte

Pasul 12: Setați scripturile de pornire

crontab -e

adăugați următoarele rânduri

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

Recomandat: