Innehållsförteckning:

Internetaktiverat eluttag: 13 steg
Internetaktiverat eluttag: 13 steg

Video: Internetaktiverat eluttag: 13 steg

Video: Internetaktiverat eluttag: 13 steg
Video: РАЗДАЕТ WIFI СЛЕДИТ ЗА ЧЕЛОВЕКОМ 4G камера видеонаблюдения 2024, November
Anonim
Image
Image
Tillbehör som behövs
Tillbehör som behövs

PowerHub Webserver Projekt- och internetaktiverade installationsinställningar

Central datapersistansnav för internetaktiverat ljus och uttag i ditt hem!

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

Central datapersistansnav för internetaktiverat ljus och uttag i ditt hem

Blinkande RaspberriPi -hårddisk/Installera nödvändig programvara (med Ubuntu Linux) Ladda ner "RASPBIAN JESSIE LITE"

Skapa din nya hårddisk för DashboardPI

Sätt i microSD till din dator via USB -adapter och skapa diskavbildningen med kommandot dd

Leta reda på ditt isatta microSD -kort via kommandot df -h, avmontera det och skapa diskavbildningen med kommandot disk copy dd

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

$ umount /dev /sdb1

Varning: se till att kommandot är helt korrekt, du kan skada andra diskar med det här kommandot

if = plats för RASPBIAN JESSIE LITE bildfil av = plats för ditt microSD -kort

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (Obs: i det här fallet är det/dev/sdb,/dev/sdb1 en befintlig fabrikspartition på microSD)

Konfigurera din RaspberriPi

Sätt i ditt nya microSD -kort i raspberrypi och slå på det med en bildskärm ansluten till HDMI -porten

Logga in

användare: pi pass: hallon

Ändra ditt kontolösenord för säkerhets skull

sudo passwd pi

Steg 2: Aktivera RaspberriPi Advanced Options

sudo raspi-config

Välj: 1 Expandera filsystemet

9 Avancerade alternativ

A2 Värdnamn ändra det till "WIFI-OUTLET"

A4 SSH Aktivera SSH -server

A7 I2C Aktivera i2c -gränssnitt

Aktivera engelska/amerikanska tangentbordet

sudo nano/etc/default/keyboard

Ändra följande rad: XKBLAYOUT = "oss"

Starta om PI för ändringar av tangentbordslayout / storlek på filsystem för att träda i kraft

$ sudo avstängning -r nu

Anslut automatiskt till din WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Lägg till följande rader så att din raspberrypi automatiskt ansluter till ditt hem -WiFi (om ditt trådlösa nätverk heter "linksys" till exempel i följande exempel)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Starta om PI för att ansluta till WiFi -nätverk

$ sudo avstängning -r nu

Nu när din PI äntligen finns på det lokala nätverket kan du fjärrlogga till den via SSH. Men först måste du få den IP -adress som den har för närvarande.

$ ifconfig Leta efter "inet addr: 192.168. XXX. XXX" i följande kommandos utdata för din PI: s IP -adress

Gå till en annan maskin och logga in på din raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Steg 3: Börja installera nödvändiga paket

$ sudo apt-get uppdatering

$ sudo apt-get uppgradering

$ sudo apt-get install vim git python-förfrågningar python-gpiozero python-smbus i2c-verktyg python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev python3-spidev python-spidev

Uppdatera lokala tidszoninställningar

$ sudo dpkg-omkonfigurera tzdata

välj din tidszon med gränssnittet

Konfigurera det enkla katalog l -kommandot [valfritt]

vi ~/.bashrc

lägg till följande rad:

alias l = 'ls -lh'

källa ~/.bashrc

Fixa VIM -standardsyntaxmarkering [valfritt]

sudo vi/etc/vim/vimrc

kommentera följande rad:

syntax på

Installera i2c Python -drivrutiner

Steg 4: BYGG WEBB -API: et

Följande instruktioner låter dig bygga det centrala navet som förklarar för de olika wifi -aktiverade uttagen och väggströmbrytare du kan bygga, vilka enheter som slås på och av. Detta är ett litet PHP -skript att placera på ett webbhotell du väljer. Den har följande API för att hämta och ställa in information till den. Obs! Glöm inte att inkludera.htaccess -filen för att korrekt URL -routning ska ske.

Installera mappen "index.php", "values/" och settings.php (konfigurerad till dina egna värden) till en PHP -aktiverad webbserver efter eget val. Det hemliga nyckelvärdet i filen "settings.php" måste matcha det hemliga nyckelvärdet du skulle ange i "settings.py" -filen. Detta kommer på en grundläggande nivå att förhindra all annan webbtrafik från att ställa in / skriva värden, slå på dina enheter, du behöver nu den här hashade API -nyckeln i HTTP -begäranhuvudet för att göra det.

API: et stöder följande funktioner, för detta projekt använder vi endast "flagg" -värdena som är booleska värden som säger att omkopplaren ska slås på och av. Kanske om du ville dra nytta av "avläsnings" -värdena kan du ha det så om en rumstemperatur blir för varm genom att spara en temperatur där kan den slå på en fönsterfläkt etc.

Få koden

Klona följande projekt från GitHub för att få koden för att köra webbservern och utloppet RaspberryPI.

github.com/khinds10/PowerHub

API -slutpunkter när de körs på en webbserver

myhost/meddelande (få den aktuella meddelandesatsen)

myhost/message/set (HTTP POST ett rått strängvärde till denna URL för att ställa in ett nytt meddelande)

myhost/flag/{id} (få flaggans nuvarande booleska status med heltal: {id})

myhost/flag/all (få alla nuvarande booleska status för alla flaggor som en array)

myhost/flag/{id}/set (ställ in den aktuella booleska statusen till 'true' för flaggan med heltal: {id})

myhost/flag/{id}/unset (ställ in den nuvarande booleska statusen till 'false' för flaggan med heltal: {id})

myhost/reading/{id} (få det aktuella medelvärdet för avläsningen med heltal: {id})

myhost/reading/all (få det aktuella medelvärdet för alla avläsningar som en array)

myhost/reading/{id}/set (HTTP POST ett rått numeriskt värde för denna webbadress för att lägga till ett nytt värde i det aktuella beräknade genomsnittet) - se nedan hur många värden totalt sammanställs till medelvärdet Konfiguration "Avläsnings" -värdena beräknas som medelvärden av ett visst antal nyligen kvarstående numeriska värden. Ställ in följande konstant på hur många av de senaste avläsningarna som ska ingå för att producera genomsnittet.

$ readingsAverageLimit = 5;

Datastore Server kommer att behålla värden för enkla filer som finns genom namngivningskonventioner nedan. Obs! {Id} kommer att ersättas av det riktiga heltalet som presenteras av den inkommande begärans URL.

$ valueFileFolder = 'värden' (namnet på mappen som ska innehålla mätfilerna) $ messageFileName = 'message.msg' (namn på meddelande textfilen) $ readingsFilesNames = 'läsning {id}.avg' (CSV -namn i genomsnitt) läsningsfil) $ flagFilesNames = 'flagga {id}.flg' (namn på den booleska flaggvärdesflaggfilen)

Se till att alla värdefiler är skrivbara av systemchmod 777 -värdena/*

Steg 5: Tillbehör som behövs

Tillbehör som behövs
Tillbehör som behövs
Tillbehör som behövs
Tillbehör som behövs
Tillbehör som behövs
Tillbehör som behövs

1 tum hålsåg (för en borr)

5V 2 -kanals relämodul

Duplex behållare väggplatta

Duplexuttag

Pi Zero W

Ytmonterad backbox Dual Gang

Vit upplysta tryckknappar

Steg 6: Bygg utloppet

Bygga Outlet
Bygga Outlet

Break Outlet -flikar

Bryt fliken på sidan av uttaget så att varje uttag slås på/av oberoende av varandra

Steg 7: Installera knappar

Installera knappar
Installera knappar
Installera knappar
Installera knappar

På utloppsplattan med 1 hålsåg skär du två hål för knapparna som ska placeras bredvid uttagen

Teststorlek på komponenter

Se till att alla komponenter passar i utloppslådan för ytmontering

Steg 8: Trådrelä

Trådrelä
Trådrelä
Trådrelä
Trådrelä

Koppla reläet till uttaget, från förlängningssladden till väggen, anslut marken (grön) och neutral (vit) direkt till uttaget För de heta (svarta) anslut dem till reläet och sedan från reläet till varje uttag heta kontakter individuellt

Steg 9: Ytterligare kabeldragnings- och monteringsbilder

Ytterligare lednings- och monteringsbilder
Ytterligare lednings- och monteringsbilder

Steg 10: Anslutningsdiagram

Kopplingsschema
Kopplingsschema

Använd diagrammet för att korrekt ansluta komponenterna för att fungera med RaspberryPI Python -koden.

Steg 11: Testa torrkörning

Testa torrkörning
Testa torrkörning
Testa torrkörning
Testa torrkörning
Testa torrkörning
Testa torrkörning

Efter slutmontering innan du skruvar ihop hålenheten, utför en torrkörning av enheten för att se till att det inte finns några shorts, dåliga ledningar

Steg 12: Ställ in startskript

crontab -e

lägg till följande rader

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

Rekommenderad: