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, Srpanj
Anonim
Image
Image
Potrebne zalihe
Potrebne zalihe

Upute za postavljanje utičnice za projekt PowerHub Webserver i projekt s omogućenim internetom

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

Korak 1: Upute za postavljanje utičnice PowerHub Webserver Project & Internet Enable Outlet

Središnje središte za postojanost podataka za svjetlo i utičnice s omogućenim internetom u vašem domu

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

Izradite svoj novi tvrdi disk za DashboardPI

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

Pronađite umetnutu microSD karticu pomoću naredbe df -h, isključite je i stvorite sliku diska pomoću naredbe za kopiranje diska dd

$ 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 slikovne datoteke RASPBIAN JESSIE LITE = mjesto 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

Prijaviti 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 datotečni sustav

9 Napredne opcije

A2 naziv hosta promijenite u "WIFI-OUTLET"

A4 SSH Omogući SSH poslužitelj

A7 I2C Omogući i2c sučelje

Omogućite englesku/američku tipkovnicu

sudo nano/etc/default/keyboard

Promijenite sljedeći redak: XKBLAYOUT = "mi"

Ponovno pokrenite PI za promjene izgleda tipkovnice / promjenu veličine datotečnog sustava kako bi stupile na snagu

$ sudo shutdown -r sada

Automatsko povezivanje na WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Dodajte sljedeće retke kako bi se vaš raspberrypi automatski povezao s kućnom WiFi mrežom (ako je vaša bežična mreža nazvana "linksys", na primjer, 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 ispisu sljedeće naredbe za IP adresu vašeg PI -ja

Idite na drugi stroj i prijavite se na svoj raspberrypi putem ssh -a

$ ssh [email protected]. XXX. XXX

Korak 3: Počnite instalirati potrebne pakete

$ sudo apt-get ažuriranje

$ sudo apt-get nadogradnja

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

Ažurirajte postavke lokalne vremenske zone

$ sudo dpkg-ponovno konfigurirajte tzdata

odaberite svoju vremensku zonu pomoću sučelja

Postavite jednostavnu naredbu l direktorija [izborno]

vi ~/.bashrc

dodajte sljedeći redak:

alias l = 'ls -lh'

izvor ~/.bashrc

Popravite isticanje 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 središnjeg č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 vlastitim vrijednostima) na web poslužitelj 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". To ć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 raspršeni API ključ u zaglavlju HTTP zahtjeva.

API podržava sljedeće značajke, za ovaj projekt koristit ćemo samo vrijednosti "zastavice" koje su logičke vrijednosti koje govore prekidaču za uključivanje i isključivanje. Možda biste, ako želite iskoristiti vrijednosti "očitanja", mogli imati to, pa ako se sobna temperatura previše zagrije spremanjem 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 booleov status zastave po cijelom broju: {id})

myhost/flag/all (dobijte sav trenutni booleov 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 po cijelom broju: {id})

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

myhost/reading/all (dobijte 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 trenutačnom izračunskom prosjeku) - pogledajte dolje koliko je ukupno vrijednosti sastavljeno do prosječne vrijednosti 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 najnovijih očitanja treba uključiti da biste dobili prosjek.

$ readingsAverageLimit = 5;

Datastore poslužitelj će zadržati vrijednosti za jednostavne datoteke koje se nalaze dolje navedenim konvencijama imenovanja. Napomena: {id} će biti zamijenjeno stvarnim cijelim brojem predstavljenim URL -om dolaznog zahtjeva.

$ valueFileFolder = 'vrijednosti' (naziv mape koja sadrži mjerne datoteke) $ messageFileName = 'poruka.msg' (naziv tekstualne datoteke poruke) $ readingsFilesNames = 'čitanje {id}.avg' (naziv CSV -a u prosjeku čitanja datoteke) $ flagFilesNames = 'flag {id}.flg' (naziv datoteke zastavice vrijednosti boolean flag)

Provjerite mogu li se zapisati sve datoteke s vrijednostima systemchmod 777/*

Korak 5: Potrebne zalihe

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

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

5V 2 -kanalni relejni modul

Zidna ploča za obostranu utičnicu

Dupleksna utičnica

Pi Zero W

Surface Mount Backbox Dual Gang

Bijeli osvijetljeni gumbi

Korak 6: Izgradnja utičnice

Izgradnja utičnice
Izgradnja utičnice

Razbijte kartice Outlet

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

Korak 7: Instalirajte gumbe

Gumbi za instalaciju
Gumbi za instalaciju
Gumbi za instalaciju
Gumbi za instalaciju

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

Test Dimenzioniranje komponenti

Pazite da sve komponente stanu u izlaznu kutiju za površinsko montiranje

Korak 8: Žičani relej

Žičani relej
Žičani relej
Žičani relej
Žičani relej

Spojite relej na utičnicu, s produžnim kabelom koji ide do zida, spojite uzemljenje (zeleno) i neutralno (bijelo) izravno u 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

Testiranje na suho
Testiranje na suho
Testiranje na suho
Testiranje na suho
Testiranje na suho
Testiranje na suho

Nakon završ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 sljedeće retke

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

Preporučeni: