Indholdsfortegnelse:

Internetaktiveret stikkontakt: 13 trin
Internetaktiveret stikkontakt: 13 trin

Video: Internetaktiveret stikkontakt: 13 trin

Video: Internetaktiveret stikkontakt: 13 trin
Video: самый быстрый поезд в Японии со скоростью 320 км/ч | Скоростной поезд Хаябуса 2024, November
Anonim
Image
Image
Nødvendige forsyninger
Nødvendige forsyninger

PowerHub Webserver -projekt og internetaktiveret installationsvejledning til Outlet

Central datapersistens -hub til internetaktiveret lys og stikkontakter i dit hjem!

Trin 1: Instruktioner til opsætning af PowerHub Webserver -projekt og internetaktiveret Outlet

Central datapersistens -hub til internetaktiveret lys og stikkontakter i dit hjem

Blinker RaspberriPi -harddisk/Installer påkrævet software (ved hjælp af Ubuntu Linux) Download "RASPBIAN JESSIE LITE"

Opret din nye harddisk til DashboardPI

Indsæt microSD til din computer via USB -adapter, og opret diskbilledet ved hjælp af kommandoen dd

Find dit indsatte microSD -kort via kommandoen df -h, afmonter det, og opret diskbilledet med kommandoen disk copy dd

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

$ umount /dev /sdb1

Forsigtig: sørg for, at kommandoen er fuldstændig nøjagtig, du kan beskadige andre diske med denne kommando

hvis = placering af RASPBIAN JESSIE LITE billedfil af = placering af dit microSD -kort

$ sudo dd bs = 4M hvis =/path/to/raspbian-jessie-lite.img af =/dev/sdb (Bemærk: i dette tilfælde er det/dev/sdb,/dev/sdb1 var en eksisterende fabrikspartition på microSD)

Opsætning af din RaspberriPi

Indsæt dit nye microSD -kort i raspberrypi, og tænd det med en skærm tilsluttet HDMI -porten

Log på

bruger: pi pass: hindbær

Skift din kontos adgangskode for sikkerheden

sudo passwd pi

Trin 2: Aktiver RaspberriPi Advanced Options

sudo raspi-config

Vælg: 1 Udvid filsystemet

9 Avancerede indstillinger

A2-værtsnavn ændre det til "WIFI-OUTLET"

A4 SSH Aktiver SSH -server

A7 I2C Aktiver i2c -interface

Aktiver engelsk/amerikansk tastatur

sudo nano/etc/default/keyboard

Skift følgende linje: XKBLAYOUT = "os"

Genstart PI for tastaturlayoutændringer / ændring af filsystemets størrelse for at træde i kraft

$ sudo shutdown -r nu

Tilslut automatisk til din WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Tilføj følgende linjer for at få din hindbær til automatisk at oprette forbindelse til dit WiFi i hjemmet (hvis dit trådløse netværk f.eks. Hedder "linksys" i følgende eksempel)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Genstart PI for at oprette forbindelse til WiFi -netværk

$ sudo shutdown -r nu

Nu hvor din PI endelig er på det lokale netværk, kan du eksternt logge ind på den via SSH. Men først skal du få den IP -adresse, den har i øjeblikket.

$ ifconfig Søg efter "inet addr: 192.168. XXX. XXX" i følgende kommandos output til din PI's IP -adresse

Gå til en anden maskine og log ind på din raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Trin 3: Start installationen af nødvendige pakker

$ sudo apt-get opdatering

$ sudo apt-get opgradering

$ sudo apt-get install vim git python-anmodninger python-gpiozero python-smbus i2c-værktøjer python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev python3-spidev python-spidev

Opdater lokale tidszoneindstillinger

$ sudo dpkg-omkonfigurer tzdata

vælg din tidszone ved hjælp af grænsefladen

Opsæt kommandoen simple bibliotek l [valgfrit]

vi ~/.bashrc

tilføj følgende linje:

alias l = 'ls -lh'

kilde ~/.bashrc

Fix VIM standardsyntaksfremhævelse [valgfrit]

sudo vi/etc/vim/vimrc

kommenter følgende linje:

syntaks på

Installer i2c Python -drivere

Trin 4: BYG WEB -API'en

Følgende instruktioner giver dig mulighed for at bygge den centrale hub, der forklarer de forskellige wifi -aktiverede stikkontakter og vægkontakter, du kan bygge, hvilke enheder der er tændt og slukket. Dette er et lille PHP -script til at placere på en webhost efter eget valg. Den har følgende API til at hente og indstille oplysninger til den. Bemærk: glem ikke at inkludere.htaccess -filen, så korrekt URL -routing finder sted.

Installer mappen "index.php", "values/" og settings.php (konfigureret til dine egne værdier) til en PHP -aktiveret webserver efter eget valg. Den hemmelige nøgleværdi i filen "settings.php" skal matche den hemmelige nøgleværdi, du ville angive i "settings.py" -filen. Dette vil på et grundlæggende niveau forhindre enhver anden webtrafik i at indstille / skrive værdier, tænde dine enheder. Du har nu brug for denne hash -API -nøgle i HTTP -forespørgselsoverskriften for at gøre det.

API'en understøtter følgende funktioner, for dette projekt bruger vi kun "flag" -værdierne, som er boolske værdier, der fortæller kontakten at tænde og slukke. Måske hvis du ville drage fordel af "læsning" -værdierne, kunne du have det, så hvis en rumtemperatur bliver for varm ved at gemme en temperatur der, kan den tænde en vinduesventilator osv.

Få koden

Klon følgende projekt fra GitHub for at få koden til at køre webserveren og stikkontakten RaspberryPI.

github.com/khinds10/PowerHub

API -slutpunkter, når de kører på webserver

myhost/message (få det aktuelle meddelelsessæt)

myhost/message/set (HTTP POST en rå strengværdi til denne URL for at angive en ny besked)

myhost/flag/{id} (få flagens aktuelle boolske status med helt tal: {id})

myhost/flag/all (få alle den aktuelle boolske status for alle flag som en matrix)

myhost/flag/{id}/set (indstil den aktuelle boolske status til 'sand' for flaget efter heltal: {id})

myhost/flag/{id}/unset (indstil den aktuelle boolske status til 'falsk' for flaget efter heltal: {id})

myhost/reading/{id} (få den aktuelle gennemsnitlige værdi for læsning med heltal: {id})

myhost/reading/all (få den aktuelle gennemsnitlige værdi for alle aflæsninger som en matrix)

myhost/reading/{id}/set (HTTP POST en rå numerisk værdi til denne webadresse for at tilføje en ny værdi til det aktuelle beregnede gennemsnit) - se nedenfor, hvor mange værdier i alt der kompileres til gennemsnitsværdien Konfiguration Værdierne for 'aflæsninger' beregnes som gennemsnit af et bestemt antal nylige numeriske værdier for vedvarende læsning. Indstil følgende konstant til, hvor mange af de seneste aflæsninger, der skal medtages for at producere gennemsnittet.

$ readingsAverageLimit = 5;

Datastore Server vil fastholde værdier for simple filer, der findes ved at navngive konventioner herunder. Bemærk: {id} erstattes af det reelle heltal, der vises med den indgående anmodnings URL.

$ valueFileFolder = 'værdier' (navn på mappen, der skal indeholde målefiler) $ messageFileName = 'message.msg' (navn på meddelelsestekstfilen) $ readingsFilesNames = 'reading {id}.avg' (CSV -navn i gennemsnit readings -fil) $ flagFilesNames = 'flag {id}.flg' (navn på den boolske flagværksflagfil)

Sørg for, at alle værdifiler er skrivbare efter systemchmod 777 -værdier/*

Trin 5: Nødvendige forbrugsvarer

Nødvendige forsyninger
Nødvendige forsyninger
Nødvendige forsyninger
Nødvendige forsyninger
Nødvendige forsyninger
Nødvendige forsyninger

1 tommer hulsav (til en boremaskine)

5V 2 -kanals relæmodul

Duplex beholder vægplade

Duplex beholder

Pi Zero W

Surface Mount Backbox Dual Gang

Hvide belyste trykknapper

Trin 6: Opbygning af Outlet

Bygger Outlet
Bygger Outlet

Tab Outlet -faner

Bryd tappen på siden af stikkontakten for at få hver stikkontakt til at tænde/slukke uafhængigt

Trin 7: Installer knapper

Installer knapper
Installer knapper
Installer knapper
Installer knapper

På Outlet -frontpladen ved hjælp af 1 hulsaven skæres 2 huller til knapperne, der skal placeres ved siden af stikkontakterne

Teststørrelse af komponenter

Sørg for, at alle komponenterne passer i æsken til overflademontering

Trin 8: Trådrelæ

Wire Relæ
Wire Relæ
Trådrelæ
Trådrelæ

Led relæet til stikkontakten, fra forlængerledningen til væggen, tilslut jorden (grøn) og neutral (hvid) direkte til stikkontakten For den varme (sorte) tilslut dem til relæet og derefter fra relæet til hver stikkontaktens varme stik individuelt

Trin 9: Yderligere lednings- og monteringsbilleder

Yderligere lednings- og monteringsbilleder
Yderligere lednings- og monteringsbilleder

Trin 10: Ledningsdiagram

Ledningsdiagram
Ledningsdiagram

Brug diagrammet til korrekt ledning af komponenterne til at arbejde med RaspberryPI Python -koden.

Trin 11: Test tørløb

Test tørløb
Test tørløb
Test tørløb
Test tørløb
Test tørløb
Test tørløb

Efter den sidste samling, før du skruer hulenheden sammen, skal du udføre en tør kørsel af enheden for at sikre, at der ikke er shorts, dårlige ledninger

Trin 12: Indstil Startscripts

crontab -e

tilføj følgende linjer

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

Anbefalede: