Inhoudsopgave:

Goedkope en effectieve domotica met Raspberry Pi 11 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Goedkope en effectieve domotica met Raspberry Pi 11 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"

Video: Goedkope en effectieve domotica met Raspberry Pi 11 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"

Video: Goedkope en effectieve domotica met Raspberry Pi 11 stappen (met afbeeldingen) Antwoorden op al uw
Video: Slimme SIRENE: hiermee jaag je inbrekers weg 2024, November
Anonim
Goedkope en effectieve domotica met Raspberry Pi
Goedkope en effectieve domotica met Raspberry Pi
Goedkope en effectieve domotica met Raspberry Pi
Goedkope en effectieve domotica met Raspberry Pi
Goedkope en effectieve domotica met Raspberry Pi
Goedkope en effectieve domotica met Raspberry Pi

Ik heb altijd al lampen draadloos willen kunnen bedienen, maar commerciële opties zijn meestal duur. Philips Hue-lampen kosten ongeveer $ 70, en met wifi verbonden lampen zijn ook duur. Deze tutorial zal je vertellen hoe je tot vijf lichten/lampen/kerstlichtstrengen kunt bedienen voor ongeveer $ 50, en kan worden uitgebreid met meer lichten.

Stap 1: Wat heb je nodig?

Wat je nodig zult hebben
Wat je nodig zult hebben

Materialen:

Raspberry Pi Zero W (draadloze editie)

Micro SD-kaart (minimaal 4 gb)

Mini HDMI naar HDMI kabel/converter (Er is een verschil tussen mini en micro, zorg ervoor dat je de juiste koopt!)

Micro USB naar USB kabel/converter

USB-toetsenbord

Opmerking: ik kreeg een Raspberry Pi Zero W-starterkit van Amazon die werd geleverd met Raspberry Pi Zero W, SD-kaart, behuizing, voedingskabel, HDMI-converter en USB-converter. Voor slechts $ 30 is het een redelijk goede optie (link)

Je kunt een ander model Raspberry Pi gebruiken, maar de Raspberry Pi moet een of andere vorm van internetverbinding hebben en de Pi Zero W is de goedkoopste optie.

Externe stopcontacten - ik heb deze gebruikt

RF-zender en -ontvanger (Opmerking: de frequentie van de zender/ontvanger moet overeenkomen met de frequentie van de externe stopcontacten) - ik heb deze gebruikt

Draad voor antenne (ik gebruikte 22 gauge massief koperdraad, andere draad kan werken)

Breadboard, verbindingsdraden, 40-pins mannelijk-naar-mannelijk header

Software:

Raspberry Pi OS (Download Raspbian Desktop)

Etcher disk imager (voor het schrijven van het Pi OS naar de SD-kaart)

Gereedschap:

Soldeerbout

Computer voor het downloaden van Pi OS en Etcher

Stap 2: Stel de stopcontacten in

De stopcontacten instellen
De stopcontacten instellen
De stopcontacten instellen
De stopcontacten instellen

Begin met het aansluiten van uw stopcontacten op een stopcontact. Volg de meegeleverde instructies om ze in te stellen en sluit je lampen/apparaten aan. Zorg ervoor dat uw afstandsbediening correct is gekoppeld en de aansluitingen bedient.

Stap 3: Stel een PubNub-account in

PubNub is een gratis internetserver waarmee je overal ter wereld kunt communiceren tussen apparaten. Het python-script ontvangt berichten van een webpagina en gebruikt de informatie in het bericht om lichten aan of uit te zetten. U kunt zich hier aanmelden voor uw gratis account. Nadat u zich heeft aangemeld, logt u in op uw account. Dit brengt u naar een app-beheerpagina. Klik op "Nieuwe app maken". Geef je app een naam en selecteer deze vervolgens in de lijst met apps (als dit je eerste app is, zal dit de enige zijn) Dit brengt je naar de app-sleutelpagina. Klik op de "Demo Keyset" en je zou drie verschillende sleutels moeten zien. Houd deze pagina bij, u heeft deze sleutels later nodig. Nu je je PubNub-account hebt, kun je je raspberry pi instellen.

Stap 4: Bereid Raspberry Pi. voor

Download Etcher en het Raspberry Pi OS op uw computer (links in onderdelenlijst)

Installeer Etcher op uw computer en unzip (indien nodig) het Raspberry Pi OS. Plaats uw Micro SD-kaart in uw computer en open Etcher. Klik op "Afbeelding selecteren" en navigeer naar het uitgepakte Raspberry Pi OS-bestand. Selecteer het, klik vervolgens op "Schijf selecteren" en selecteer uw micro SD-kaart in de lijst. Klik op "Flash" en wacht tot Etcher is voltooid. Zodra Etcher is voltooid, verwijdert u uw SD-kaart van uw computer (Etcher werpt deze automatisch uit) en plaatst u deze in uw Raspberry Pi. Op dit punt moet u uw Raspberry Pi aansluiten op een monitor met de HDMI-converter. Sluit een toetsenbord (en muis als je een multi-USB-hub hebt) aan en sluit de stroomkabel aan. Er zijn twee micro-USB-poorten. De ene is voor stroom, de andere is een echte USB-poort. Degene die zich het dichtst bij het einde van de Pi bevindt, is stroom, terwijl die dichter bij het midden USB is. Je Raspberry Pi zal nu opstarten. Het kan een paar keer opnieuw opstarten tijdens de eerste keer opstarten, maar dat is normaal. Zodra uw raspberry pi is gestart, verbindt u deze met uw wifi. Nadat je het hebt verbonden met wifi, kun je een SSH-server gebruiken, maar ik vind het voorlopig gemakkelijker om de GUI te gebruiken. Open een terminalvenster en voer deze opdrachten in:

sudo pip3 installeren 'pubnub==3.9.0'

cd git kloon git://git.drogon.net/wiringPi git kloon

sudo git kloon https://github.com/timleland/rfoutlet.git /var/www/rfoutlet

sudo chown root.root /var/www/rfoutlet/codesend sudo chmod 4755 /var/www/rfoutlet/codesend

cd bedradingPi

./bouwen

Open nu de Raspberry Pi-bestandsbrowser en u zou de map pi-home-automation moeten zien. Dubbelklik erop en u zou een bestand met de naam RFControl.py moeten zien. Kopieer het (tegenovergestelde klik en selecteer "Kopiëren"), keer dan terug naar de pi-map en plak het daar.

Sluit uw raspberry pi af (vanuit het menu of door sudo poweroff uit te voeren vanaf de opdrachtregel) en koppel hem los zodra het groene lampje stopt met knipperen.

Stap 5: Het circuit maken

Het circuit maken
Het circuit maken
Het circuit maken
Het circuit maken
Het circuit maken
Het circuit maken

Nu is het tijd om het circuit te maken. Ik heb een breadboard gebruikt, maar je kunt het doen zoals je wilt.

Eerst moeten we een antenne maken voor de RF-zender. Deze instructables-tutorial vertelt hoe je een antenne voor een RF-zender kunt maken. Volg de instructies en soldeer het vervolgens aan de antennepin van de zender (op degene die ik gebruikte was het gelabeld ANT) met de kortere kant het dichtst bij de zender

Bedraad de zender

De zender gebruikt deze pinnen:

GEGEVENS: GPIO 17, Fysieke pin 11

VCC: Raspberry Pi 5v, fysieke pin 2

GND: Raspberry Pi GND, fysieke pin 6

Bedraad de ontvanger

De ontvanger gebruikt deze pinnen:

GND: Raspberry Pi GND, fysieke pin 9

VCC: Raspberry Pi 5v, fysieke pin 4

GEGEVENS: GPIO 27, fysieke pin 13 (er zijn twee datapinnen op de ontvanger die ik heb gebruikt, en ik gebruikte degene die het dichtst bij VCC ligt)

Stap 6: Verkrijg uw RF-codes

Ontvang uw RF-codes
Ontvang uw RF-codes

Nadat je circuit op je Raspberry Pi is aangesloten, controleer je het twee keer om er zeker van te zijn dat alles op zijn plaats zit en schakel je het vervolgens weer in. Zodra het is ingeschakeld, opent u een terminal en typt u

sudo /var/www/rfoutlet/RFSniffer

Open vervolgens het RFControl-programma. In de volgende stap kan het handig zijn om het terminalvenster en het programmavenster naast elkaar te plaatsen.

Je hebt nu de afstandsbediening nodig die in de outlet kit zat. Houd het dicht bij de ontvanger en druk op elke afzonderlijke knop. Wanneer u op een knop drukt, ziet u twee cijfers op het scherm afgedrukt. Een daarvan is een zes- of zevencijferige code en de andere een driecijferige code. U moet het codewoordenboek in het programma bewerken. Voer de 7-cijferige code in op de plaats van de corresponderende schakelaar in het programma, en voor elke aan/uit-knop, plaats de 3-cijferige code (dit is de lengte) in de corresponderende len van de schakelaar in het programma.

Als schakelaar 1 bijvoorbeeld de code 1234567, de uit-code 7654321 en de lengte 890 heeft, ziet de code er als volgt uit:

codes = {

'switch1': { 'on': 1234567, #Dit is schakelaar 1 aan 'off': 7654321, #dit is schakelaar 1 uit 'len': 890, #dit is schakelaar 1 codelengte }, 'switch2': {… }, … }

Herhaal dit voor elke knop. Terwijl u dit bestand aan het bewerken bent, wijzigt u de tekenreeksen met de tekst "YOUR-SUB-KEY" in uw PubNub-abonneesleutel en "YOUR-PUB-KEY" in uw publicatiesleutel.

Nadat elke knop is opgenomen, kunt u doorgaan naar de volgende sectie.

Stap 7: Het programma uitvoeren

Het programma uitvoeren
Het programma uitvoeren

Nu je al je codes hebt, ga je naar deze GitHub-pagina (op je computer, niet raspberry pi) en klik je op de groene knop met de tekst 'Klonen of downloaden' en klik je vervolgens op 'ZIP downloaden'. Zodra dit bestand is gedownload, pakt u het uit en opent u de map. Open het bestand met de naam main.js. U moet uw abonnements- en publicatiesleutels in het programma invoeren door "UW-PUB-SLEUTEL" te vervangen door uw publicatiesleutel en "UW-SUB-SLEUTEL" door uw abonnementssleutel.

Ga vervolgens terug naar je Raspberry Pi en voer in

python3 RFControl.py

Zodra het "Klaar" is afgedrukt, gaat u terug naar uw computer en opent u het index.html-bestand in een webbrowser door een tegengestelde klik te maken, selecteert u "Openen met" en selecteert u uw voorkeursbrowser. U zou 2 kolommen van 5 knoppen moeten zien, met de namen van de schakelaars ertussen. Druk op een van de knoppen. Als het de socket correct bestuurt, geweldig! Zo niet, dan zijn hier enkele dingen die u kunt proberen:

  1. Zorg ervoor dat de Raspberry Pi berichten ontvangt. Het moet naar het scherm worden afgedrukt wanneer het een bericht van de webpagina ontvangt. Als dit niet het geval is, controleert u of uw abonnements-/publicatiesleutels correct zijn.
  2. Als de Raspberry Pi berichten ontvangt, zorg er dan voor dat uw RF-codes correct zijn. Zorg ervoor dat uw stopcontacten zijn gekoppeld aan uw afstandsbediening, dat uw afstandsbediening ze kan bedienen en dat de codes die u in het programma hebt ingevoerd correct zijn.
  3. Als de RF-codes correct zijn, zorg er dan voor dat uw Raspberry Pi zich binnen het bereik van de stopcontacten bevindt. Als ze beginnen te werken nadat u ze dichterbij hebt geplaatst, moet u mogelijk uw antenne opnieuw doen.
  4. Als ze nog steeds niet werken, vertel me dan je probleem in de opmerkingen en ik zal proberen je ermee te helpen.

Stap 8: Uitvoeren bij opstarten

Om uw python-programma bij het opstarten te laten starten, voert u dit in uw raspberry pi-terminal in:

crontab -e

Ga vervolgens naar de onderkant van het bestand en voer dit in:

@ herstart python3 /home/pi/RFControl.py &

Hierdoor wordt uw Python-script elke keer bij het opstarten uitgevoerd. Start nu je Raspberry Pi opnieuw op.

Stap 9: Meer schakelaars toevoegen

Meer schakelaars toevoegen
Meer schakelaars toevoegen

Als u meer verkooppunten wilt toevoegen, volgt u deze instructies:

Open RFControl.py op uw Raspberry Pi en voeg een nieuwe schakelaar toe aan het schakelaarswoordenboek.

Voorbeeld:

schakelaars = {

…andere schakelaars… 'NAME-OF-SWITCH': { 'on': xxxxxxx, 'off': yyyyyyy, 'len': zzz, }, }

Voeg vervolgens een nieuwe knop toe aan uw web-app door de schakelvariabele in main.js op uw computer te bewerken.

Voorbeeld:

var schakelaars = […oude schakelaars… ['NAAM-TO-DISPLAY', 'NAAM-VAN-SCHAKELAAR'],];

Vervang NAME-TO-DISPLAY door de naam die u op de webpagina wilt weergeven, en NAME-OF-SWITCH op beide bestanden met alles wat u maar wilt. Het moet echter uniek zijn van de anderen!

Stap 10: Verder gaan

Verder gaan
Verder gaan

PubNub wordt op veel verschillende platforms ondersteund, wat betekent dat je vanaf bijna elk apparaat berichten kunt verzenden! Ik gebruikte een Raspberry Pi AIY Voice-kit en PubNub om opdrachten met mijn stem te verzenden, maar dat kan het onderwerp zijn van een latere Instructable. Bedankt voor het lezen van mijn Instructable, ik hoop dat het nuttig was!

Stap 11: Tegoeden

Met dank aan Tim Leland voor de tutorial over het instellen van de RF-zender: tutorial

Met dank aan diy_bloke voor de tutorial over het maken van een antenne: tutorial

Dank ook aan alle anderen die online tutorials hebben geplaatst die ik heb bekeken voor hulp!

Aanbevolen: