Inhoudsopgave:
- Stap 1: Installatie-instructies voor PowerHub Webserver Project & Internet-enabled Outlet
- Stap 2: Schakel de geavanceerde opties van RaspberriPi in
- Stap 3: Begin met het installeren van de vereiste pakketten
- Stap 4: BOUW DE WEB-API
- Stap 5: Benodigde benodigdheden
- Stap 6: De outlet bouwen
- Stap 7: Knoppen installeren
- Stap 8: Draadrelais
- Stap 9: Extra bedradings- en montageafbeeldingen
- Stap 10: Bedradingsschema
- Stap 11: Test droogloop
- Stap 12: Stel de opstartscripts in
Video: Stopcontact met internet: 13 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
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
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
Uitlaattabbladen breken
Breek het lipje aan de zijkant van het stopcontact om elk stopcontact afzonderlijk aan/uit te zetten
Stap 7: 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
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
Stap 10: Bedradingsschema
Gebruik het diagram om de componenten correct te bedraden om met de RaspberryPI Python-code te werken.
Stap 11: 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:
Switch-it, automatisch stopcontact met realtime stroommeting - Ajarnpa
Switch-it, automatisch stopcontact met realtime stroommeting: Ik hou echt van automatisering, de mogelijkheid om te controleren wanneer er iets moet gebeuren. Hierdoor kwam ik op dit idee: een zelfgemaakt, automatisch stopcontact. Het kan worden gebruikt om te plannen wanneer lichten moeten worden ingeschakeld, wanneer telefoons moeten worden opgeladen of
Door Google gecontroleerd stopcontact: 7 stappen
Google Controlled Outlet: een project over het maken van uw eigen smart outlet die kan worden bediend met Google Assistant of eigenlijk elke andere invoerservice bij IFTTT
Google Home-gestuurd stopcontact: 9 stappen (met afbeeldingen)
Google Home Controlled Power Outlet: Mijn vriendin wilde altijd al een slim huis bouwen. Dus bouwen we de infrastructuur en het eerste item van het slimme huis, een op afstand bedienbare stopcontactschakelaar die je kunt bedienen met een bedieningspaneel of met spraakopdrachten (als je google home of goog
Laptop stopcontact repareren: 3 stappen
Laptop Power Socket Repair: Dit is de "lelijke" manier om het stopcontact van een laptop te repareren. Het wordt een beetje lame instructable, sorry. Ik dacht er niet aan om het te documenteren toen ik het deed, dus het is meer een "na de feiten"
Voeg een USB-stopcontact toe aan uw auto: 9 stappen (met afbeeldingen)
Voeg een USB-stopcontact toe aan uw auto: Gezien het omvangrijke karakter van 12 volt-adapters voor voertuigen, heb ik besloten om een USB-stopcontact te integreren in mijn Prius III uit 2010. Hoewel deze mod specifiek is voor mijn auto, kan deze worden toegepast op veel auto's, vrachtwagens, campers, boten, enz