Sadržaj:

Utičnica s omogućenim internetom: 13 koraka
Utičnica s omogućenim internetom: 13 koraka

Video: Utičnica s omogućenim internetom: 13 koraka

Video: Utičnica s omogućenim internetom: 13 koraka
Video: Ako imate iPhone, OVO MORATE ISPROBATI! 2024, Juli
Anonim
Image
Image
Potrebne zalihe
Potrebne zalihe

PowerHub Webserver Project & Internet Enable Outlet Setup Instructions

Centralno čvorište za postojanost podataka za svjetlo i utičnice s omogućenim internetom u vašem domu!

Korak 1: Upute za postavljanje utičnice za projekt PowerHub Webserver i utičnicu s omogućenim internetom

Centralno čvorište za postojanost podataka za svjetlo i utičnice omogućene internetom u vašem domu

Treptanje RaspberriPi tvrdog diska/instaliranje potrebnog softvera (pomoću Ubuntu Linuxa) Preuzmite "RASPBIAN JESSIE LITE"

Kreirajte svoj novi tvrdi disk za DashboardPI

Umetnite microSD u računalo putem USB adaptera i kreirajte sliku diska pomoću naredbe dd

Pronađite umetnutu microSD karticu pomoću naredbe df -h, demontirajte je i kreirajte sliku diska naredbom dd copy copy

$ df -h/dev/sdb1 7,4G 32K 7,4G 1%/mediji/XXX/1234-5678

$ umount /dev /sdb1

Oprez: provjerite je li naredba potpuno točna, ovom naredbom možete oštetiti druge diskove

if = lokacija datoteke slike RASPBIAN JESSIE LITE = lokacija vaše microSD kartice

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (napomena: u ovom slučaju to je/dev/sdb,/dev/sdb1 je bila postojeća tvornička particija na microSD)

Postavljanje vašeg RaspberriPi -ja

Umetnite svoju novu microSD karticu u raspberrypi i uključite je s monitorom spojenim na HDMI priključak

Ulogovati se

korisnik: pi pass: malina

Iz sigurnosnih razloga promijenite lozinku računa

sudo passwd pi

Korak 2: Omogućite RaspberriPi napredne opcije

sudo raspi-config

Odaberite: 1 Proširite Sistem datoteka

9 Napredne opcije

A2 ime hosta promijenite u "WIFI-OUTLET"

A4 SSH Omogući SSH server

A7 I2C Omogući i2c sučelje

Omogućite englesku/američku tastaturu

sudo nano/etc/default/keyboard

Promijenite sljedeći red: XKBLAYOUT = "mi"

Ponovo pokrenite PI za promjene rasporeda tastature / promjenu veličine datotečnog sistema kako bi stupile na snagu

$ sudo shutdown -r sada

Automatsko povezivanje na WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Dodajte sljedeće redove kako bi se vaš raspberrypi automatski povezao s kućnom WiFi mrežom (ako je vaša bežična mreža na primjer "linksys", u sljedećem primjeru)

network = {ssid = "linksys" psk = "BEŽIČNA LOZINKA OVDJE"} Ponovo pokrenite PI za povezivanje na WiFi mrežu

$ sudo shutdown -r sada

Sada kada je vaš PI konačno na lokalnoj mreži, možete se daljinski prijaviti na njega putem SSH -a. Ali prvo morate dobiti IP adresu koju trenutno ima.

$ ifconfig Potražite "inet addr: 192.168. XXX. XXX" u sljedećem izlazu naredbe za IP adresu vašeg PI -ja

Idite na drugu mašinu i prijavite se na svoj raspberrypi putem ssh -a

$ ssh [email protected]. XXX. XXX

Korak 3: Počnite instalirati potrebne pakete

$ sudo apt-get update

$ sudo apt-get nadogradnja

$ 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

Ažurirajte postavke lokalne vremenske zone

$ sudo dpkg-rekonfigurirajte tzdata

odaberite svoju vremensku zonu pomoću sučelja

Postavite jednostavnu naredbu l direktorija [opcionalno]

vi ~/.bashrc

dodajte sledeći red:

alias l = 'ls -lh'

izvor ~/.bashrc

Ispravite označavanje zadane sintakse VIM -a [nije obavezno]

sudo vi/etc/vim/vimrc

raskomentirajte sljedeći redak:

sintaksa uključena

Instalirajte i2c Python upravljačke programe

Korak 4: IZGRADITE WEB API

Sljedeće upute omogućit će vam izgradnju centralnog čvorišta koje objašnjava različite utičnice i zidne prekidače s omogućenim WiFi -jem koje uređaje možete uključiti i isključiti. Ovo je mala PHP skripta za postavljanje na webhost po vašem izboru. Ima sljedeći API za dobivanje i postavljanje informacija. Napomena: ne zaboravite uključiti.htaccess datoteku za pravilno usmjeravanje URL -a.

Instalirajte mapu "index.php", "values/" i settings.php (konfiguriranu prema vašim vlastitim vrijednostima) na web server s omogućenim PHP -om po vašem izboru. Vrijednost tajnog ključa u datoteci "settings.php" mora odgovarati vrijednosti tajnog ključa koju biste postavili u datoteci "settings.py". Ovo će na osnovnoj razini spriječiti bilo koji drugi web promet da postavlja / upisuje vrijednosti, pa uključuje vaše uređaje, sada vam je za to potreban ovaj heširani API ključ u zaglavlju HTTP zahtjeva.

API podržava sljedeće značajke, za ovaj projekt koristit ćemo samo "flag" vrijednosti koje su boolove vrijednosti koje govore prekidaču da se uključi i isključi. Možda biste, ako želite iskoristiti vrijednosti "čitanja", mogli imati to, pa ako se sobna temperatura previše zagrije uštedom temperature, mogla bi uključiti ventilator za prozore itd.

Nabavite kod

Klonirajte sljedeći projekt s GitHub -a kako biste dobili kôd za pokretanje web poslužitelja i utičnice RaspberryPI.

github.com/khinds10/PowerHub

API krajnje točke pri izvođenju na web poslužitelju

myhost/message (preuzmite trenutni skup poruka)

myhost/message/set (HTTP POST neobrađena vrijednost niza za ovaj URL za postavljanje nove poruke)

myhost/flag/{id} (dobijte trenutni logički status zastave po cijelom broju: {id})

myhost/flag/all (dobije sve trenutne boolean status svih zastavica kao niz)

myhost/flag/{id}/set (postavite trenutni logički status na 'true' za zastavu pomoću cijelog broja: {id})

myhost/flag/{id}/unset (postavite trenutni logički status na 'false' za zastavu pomoću cijelog broja: {id})

myhost/reading/{id} (dobijte trenutnu prosječnu vrijednost za čitanje po cijelom broju: {id})

myhost/reading/all (dobijete trenutnu prosječnu vrijednost za sva očitanja kao niz)

myhost/reading/{id}/set (HTTP POST neobrađena numerička vrijednost ovom URL -u za dodavanje nove vrijednosti trenutnom izračunatom prosjeku) - pogledajte dolje koliko se ukupno vrijednosti kompilira u prosječnu vrijednost Konfiguracija Vrijednosti "očitanja" izračunavaju se kao prosjeci određenog broja nedavnih trajnih numeričkih vrijednosti čitanja. Postavite sljedeću konstantu na to koliko posljednjih očitanja treba uključiti da biste dobili prosjek.

$ readingsAverageLimit = 5;

Datastore Server će zadržati vrijednosti jednostavnih datoteka lociranih dolje navedenim konvencijama imenovanja. Napomena: {id} će biti zamijenjeno stvarnim cijelim brojem predstavljenim URL -om dolaznog zahtjeva.

$ valueFileFolder = 'values' (naziv foldera koji sadrži datoteke za mjerenje) $ messageFileName = 'message.msg' (naziv tekstualne datoteke poruke) $ readingsFilesNames = 'reading {id}.avg' (naziv CSV -a u prosjeku fajlovi za čitanje) $ flagFilesNames = 'flag {id}.flg' (naziv datoteke zastavice vrijednosti boolean flag)

Uvjerite se da se na sve datoteke vrijednosti mogu upisivati sistemske vrijednosti 777 vrijednosti/*

Korak 5: Potrebne zalihe

Potrebne zalihe
Potrebne zalihe
Potrebne zalihe
Potrebne zalihe
Potrebne zalihe
Potrebne zalihe

Testera za rupe od 1 inča (za bušilicu)

5V 2 -kanalni relejni modul

Zidna ploča za dvostruku utičnicu

Duplex Receptacle

Pi Zero W

Surface Mount Backbox Dual Gang

Beli osvetljeni tasteri

Korak 6: Izgradnja utičnice

Izgradnja utičnice
Izgradnja utičnice

Break Outlet Tabs

Slomite jezičak na bočnoj strani utičnice kako bi se svaka utičnica nezavisno uključivala/isključivala

Korak 7: Instalirajte dugmad

Dugmad za instaliranje
Dugmad za instaliranje
Dugmad za instaliranje
Dugmad za instaliranje

Na izlaznoj prednjoj ploči pomoću pile s rupama od 1 izrežite 2 rupe za gumbe koje ćete postaviti pored utičnica

Test Dimenzioniranje komponenti

Uvjerite se da će sve komponente stati u kutiju za montažu izlazne površine

Korak 8: Žičani relej

Wire relej
Wire relej
Wire relej
Wire relej

Spojite relej na utičnicu, od produžnog kabla koji ide do zida, spojite uzemljenje (zeleno) i neutralno (bijelo) direktno na utičnicu. Za vruće (crno) spojite ih na relej, a zatim iz releja u svaku utičnicu za vruće priključke pojedinačno

Korak 9: Dodatne slike ožičenja i montaže

Dodatne slike ožičenja i montaže
Dodatne slike ožičenja i montaže

Korak 10: Shema ožičenja

Shema ožičenja
Shema ožičenja

Pomoću dijagrama ispravno povežite komponente za rad s RaspberryPI Python kodom.

Korak 11: Testirajte rad na suho

Test na suvo
Test na suvo
Test na suvo
Test na suvo
Test na suvo
Test na suvo

Nakon konačnog sastavljanja prije spajanja rupice, izvedite uređaj na suho kako biste bili sigurni da nema kratkih spojeva, loše ožičenje

Korak 12: Postavite početne skripte

crontab -e

dodajte sledeće redove

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

Preporučuje se: