Inhoudsopgave:

Stopcontact met internet: 13 stappen
Stopcontact met internet: 13 stappen

Video: Stopcontact met internet: 13 stappen

Video: Stopcontact met internet: 13 stappen
Video: Stopcontact verplaatsen | Wanden en plafonds | How to met GAMMA 2024, Juli-
Anonim
Image
Image
Benodigdheden
Benodigdheden

PowerHub Webserver Project & Internet-enabled Outlet Setup-instructies

Centrale datapersistentie-hub voor internet-enabled licht en stopcontacten in uw huis!

Stap 1: Installatie-instructies voor PowerHub Webserver Project & Internet-enabled Outlet

Centrale data-persistentie-hub voor internet-enabled licht en stopcontacten in uw huis

RaspberriPi-harde schijf knipperen / vereiste software installeren (met Ubuntu Linux) Download "RASPBIAN JESSIE LITE"

Maak uw nieuwe harde schijf voor DashboardPI

Plaats de microSD in uw computer via een USB-adapter en maak de schijfkopie met de opdracht dd

Lokaliseer uw geplaatste microSD-kaart via de opdracht df -h, ontkoppel deze en maak de schijfkopie met de opdracht disk copy dd

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

$ umount /dev/sdb1

Let op: zorg ervoor dat het commando volledig nauwkeurig is, je kunt andere schijven beschadigen met dit commando

if=locatie van RASPBIAN JESSIE LITE afbeeldingsbestand van=locatie van uw microSD-kaart

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (let op: in dit geval is het /dev/sdb, /dev/sdb1 was een bestaande fabriekspartitie op de microSD)

Je RaspberriPi. instellen

Plaats uw nieuwe microSD-kaart in de raspberrypi en zet hem aan met een monitor aangesloten op de HDMI-poort

Log in

gebruiker: pi pass: framboos

Wijzig uw accountwachtwoord voor veiligheid

sudo passwd pi

Stap 2: Schakel de geavanceerde opties van RaspberriPi in

sudo raspi-config

Kies: 1 Bestandssysteem uitvouwen

9 geavanceerde opties

A2 Hostnaam verander het in "WIFI-OUTLET"

A4 SSH SSH-server inschakelen

A7 I2C i2c-interface inschakelen

Schakel het Engelse/Amerikaanse toetsenbord in

sudo nano /etc/default/keyboard

Wijzig de volgende regel: XKBLAYOUT="us"

Start PI opnieuw op voor wijzigingen in toetsenbordindeling / formaat van bestandssysteem om van kracht te worden

$ sudo shutdown -r nu

Automatisch verbinden met je wifi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Voeg de volgende regels toe om uw raspberrypi automatisch verbinding te laten maken met uw wifi-thuisnetwerk (als uw draadloze netwerk bijvoorbeeld "linksys" heet, in het volgende voorbeeld)

network={ ssid="linksys" psk="DRAADLOOS WACHTWOORD HIER" } Start de PI opnieuw op om verbinding te maken met het wifi-netwerk

$ sudo shutdown -r nu

Nu uw PI eindelijk op het lokale netwerk staat, kunt u er via SSH op afstand op inloggen. Maar eerst moet u het IP-adres krijgen dat het momenteel heeft.

$ ifconfig Zoek naar "inet addr: 192.168. XXX. XXX" in de uitvoer van de volgende opdracht voor het IP-adres van uw PI

Ga naar een andere machine en log in op je raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Stap 3: Begin met het installeren van de vereiste pakketten

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install vim git python-requests python-gpiozero python-smbus i2c-tools python-imaging python-smbus build-essentieel python-dev rpi.gpio python3 python3-pip pibi2c-devs

Lokale tijdzone-instellingen bijwerken

$ sudo dpkg-reconfigure tzdata

selecteer uw tijdzone met behulp van de interface

Stel de eenvoudige directory l-opdracht in [optioneel]

vi ~/.bashrc

voeg de volgende regel toe:

alias l='ls -lh'

bron ~/.bashrc

Fix VIM standaard syntax highlighting [optioneel]

sudo vi /etc/vim/vimrc

verwijder het commentaar van de volgende regel:

syntaxis aan

Installeer i2c Python-stuurprogramma's

Stap 4: BOUW DE WEB-API

Met de volgende instructies kunt u de centrale hub bouwen die uitlegt aan de verschillende wifi-compatibele stopcontacten en wandschakelaars die u kunt bouwen, welke apparaten worden in- en uitgeschakeld. Dit is een klein PHP-script om op een webhost naar keuze te plaatsen. Het heeft de volgende API om informatie op te halen en in te stellen. Opmerking: vergeet niet om het.htaccess-bestand op te nemen om de juiste URL-routering te laten plaatsvinden.

Installeer de "index.php", "values/" map en settings.php (geconfigureerd naar uw eigen waarden) op een PHP-enabled webserver van uw keuze. De waarde van de geheime sleutel in het bestand "settings.php" moet overeenkomen met de waarde van de geheime sleutel die je zou instellen in het bestand "settings.py". Dit zal op basisniveau voorkomen dat ander webverkeer waarden instelt / schrijft, uw apparaten aanzet, u hebt nu deze gehashte API-sleutel in de HTTP-verzoekheader nodig om dit te doen.

De API ondersteunt de volgende functies, voor dit project gebruiken we alleen de "vlag"-waarden die booleaanse waarden zijn die de schakelaar vertellen om in en uit te schakelen. Misschien als je wilt profiteren van de "lees" -waarden, zou je het kunnen hebben, zodat als een kamertemperatuur te hoog wordt door daar een temperatuur op te slaan, het een raamventilator kan inschakelen, enz.

Verkrijg de code

Kloon het volgende project van GitHub om de code te krijgen om de webserver en de outlet RaspberryPI uit te voeren.

github.com/khinds10/PowerHub

API-eindpunten bij gebruik op webserver

myhost/message (haal de huidige berichtenset op)

myhost/message/set (HTTP POST een onbewerkte tekenreekswaarde naar deze URL om een nieuw bericht in te stellen)

myhost/flag/{id} (haal de huidige booleaanse status van de vlag op met een geheel getal: {id})

myhost/flag/all (haal de huidige booleaanse status van alle vlaggen op als een array)

myhost/flag/{id}/set (stel de huidige boolean-status in op 'true' voor de vlag met een geheel getal: {id})

myhost/flag/{id}/unset (stel de huidige booleaanse status in op 'false' voor de vlag met een geheel getal: {id})

myhost/reading/{id} (haal de huidige gemiddelde waarde voor de meting door integer: {id})

myhost/reading/all (haal de huidige gemiddelde waarde voor alle metingen als een array)

myhost/reading/{id}/set (HTTP POST een onbewerkte numerieke waarde naar deze URL om een nieuwe waarde toe te voegen aan het huidige berekende gemiddelde) -- zie hieronder voor hoeveel waarden in totaal worden gecompileerd naar de gemiddelde waarde Configuratie De 'aflezingen'-waarden worden berekend als gemiddelden van een bepaald aantal recente numerieke waarden voor de aanhoudende aflezing. Stel de volgende constante in op hoeveel van de meest recente metingen moeten worden opgenomen om het gemiddelde te verkrijgen.

$readingsAverageLimit = 5;

Datastore Server bewaart waarden voor eenvoudige bestanden die zich bevinden volgens onderstaande naamconventies. Opmerking: {id} wordt vervangen door het echte gehele getal dat wordt weergegeven door de URL van het binnenkomende verzoek.

$valueFileFolder = 'values' (naam van de map die de meetbestanden bevat) $messageFileName = 'message.msg' (naam van het tekstbestand van het bericht) $readingsFilesNames = 'reading{id}.avg' (naam van het CSV-gemiddelde leesbestand) $flagFilesNames = 'flag{id}.flg' (naam van het booleaanse vlagbestand met vlagwaarde)

Zorg ervoor dat alle waardebestanden beschrijfbaar zijn met de systemchmod 777 values/*

Stap 5: Benodigde benodigdheden

Benodigdheden
Benodigdheden
Benodigdheden
Benodigdheden
Benodigdheden
Benodigdheden

1 inch gatenzaag (voor een boormachine)

5V 2-kanaals relaismodule

Duplex wandplaat voor wandcontactdoos

Duplex contactdoos

Pi Nul W

Opbouwbehuizing Dual Gang

Witte verlichte drukknoppen

Stap 6: De outlet bouwen

De outlet bouwen
De outlet bouwen

Uitlaattabbladen breken

Breek het lipje aan de zijkant van het stopcontact om elk stopcontact afzonderlijk aan/uit te zetten

Stap 7: Knoppen installeren

Knoppen installeren
Knoppen installeren
Knoppen installeren
Knoppen installeren

Snijd op de voorplaat van de uitlaat met behulp van de 1 -gatzaag 2 gaten voor de knoppen die naast de uitgangen moeten worden geplaatst

Test dimensionering van componenten

Zorg ervoor dat alle componenten in de opbouwdoos voor stopcontacten passen

Stap 8: Draadrelais

Draadrelais
Draadrelais
Draadrelais
Draadrelais

Sluit het relais aan op het stopcontact, van het verlengsnoer dat naar de muur gaat, sluit de aarde (groen) en neutraal (wit) rechtstreeks aan op het stopcontact. individueel

Stap 9: Extra bedradings- en montageafbeeldingen

Aanvullende bedradings- en montageafbeeldingen
Aanvullende bedradings- en montageafbeeldingen

Stap 10: Bedradingsschema

Schakelschema
Schakelschema

Gebruik het diagram om de componenten correct te bedraden om met de RaspberryPI Python-code te werken.

Stap 11: Test droogloop

Test droogloop
Test droogloop
Test droogloop
Test droogloop
Test droogloop
Test droogloop

Na de definitieve montage voordat u de gateneenheid aan elkaar schroeft, voert u een droogloop van het apparaat uit om er zeker van te zijn dat er geen kortsluitingen, slechte bedrading zijn

Stap 12: Stel de opstartscripts in

crontab -e

voeg de volgende regels toe:

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

Aanbevolen: