Indholdsfortegnelse:
- Trin 1: Instruktioner til opsætning af PowerHub Webserver -projekt og internetaktiveret Outlet
- Trin 2: Aktiver RaspberriPi Advanced Options
- Trin 3: Start installationen af nødvendige pakker
- Trin 4: BYG WEB -API'en
- Trin 5: Nødvendige forbrugsvarer
- Trin 6: Opbygning af Outlet
- Trin 7: Installer knapper
- Trin 8: Trådrelæ
- Trin 9: Yderligere lednings- og monteringsbilleder
- Trin 10: Ledningsdiagram
- Trin 11: Test tørløb
- Trin 12: Indstil Startscripts
Video: Internetaktiveret stikkontakt: 13 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
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
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
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
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æ
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
Trin 10: Ledningsdiagram
Brug diagrammet til korrekt ledning af komponenterne til at arbejde med RaspberryPI Python -koden.
Trin 11: 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:
Praktisk Arduino ESP32 trådløs stikkontakt LED Strip Controller: 6 trin
Praktisk Arduino ESP32 Wireless Wall Outlet LED Strip Controller: Dette er en meget praktisk DIY Wireless Wall Outlet controller til billige LED -strips. Den erstatter de billige wifi -controllere, der sælges på eBay. De fungerer godt med RGB Led strips. EBay Wifi -controlleren er ikke konstrueret godt og går let i stykker. Als
Internetaktiveret DSC Home Security System: 22 trin
Internetaktiveret DSC Home Security System: Rediger et eksisterende DSC Home Security-system for at være internetaktiveret og selvovervåget. Denne instruktive forudsætter, at du har en fungerende Raspberry Pi. Bemærk, at denne implementering har følgende mangler: Hvis en tyv skærer i det kommende DSL-kabel
DIY skærmstøtte med stikkontakt: 4 trin (med billeder)
DIY Monitor Support med stikkontakt: Først og fremmest skal jeg nævne, at jeg altid kan lide at bygge mine egne ting for at løse mine specifikke behov, og i dette tilfælde ikke er anderledes.Problem: Find en billigere skærmstøtte, der passer til den nøjagtige størrelse af min notesbog. For mig er det bedste setup til t
Tilslut en smeltet stikkontakt til hanstik: 4 trin (med billeder)
Wire Up a Fused AC Male Power Socket: Jeg har brugt disse billige AC Male Power Sockets fra Amazon og Ebay til en række af mine projekter. De er lette at indarbejde i mine elektroniske kabinetter, og de giver både en kontakt og en sikring til hvilken belastning som helst. Desværre er der ingen ledninger
Reparation af laptop stikkontakt: 3 trin
Reparation af bærbar strømstik: Dette er den "grimme" måde at reparere stikkontakten på en bærbar computer. Det bliver en lidt halt instruerbar, undskyld. Jeg tænkte ikke på at dokumentere det, da jeg gjorde det, så det er mere et "efter det faktiske"