Inhoudsopgave:

DIY laagspannings buitenverlichting geregeld met Raspberry Pi - Ajarnpa
DIY laagspannings buitenverlichting geregeld met Raspberry Pi - Ajarnpa

Video: DIY laagspannings buitenverlichting geregeld met Raspberry Pi - Ajarnpa

Video: DIY laagspannings buitenverlichting geregeld met Raspberry Pi - Ajarnpa
Video: 11 moet functionele meubel innovaties en-ontwerpen zien 2024, Juli-
Anonim
DIY laagspannings buitenverlichting geregeld met Raspberry Pi
DIY laagspannings buitenverlichting geregeld met Raspberry Pi
DIY laagspannings buitenverlichting geregeld met Raspberry Pi
DIY laagspannings buitenverlichting geregeld met Raspberry Pi
DIY laagspannings buitenverlichting geregeld met Raspberry Pi
DIY laagspannings buitenverlichting geregeld met Raspberry Pi

Waarom?

Ik moet toegeven dat ik, net als vele anderen, een grote fan ben van het internet der dingen (of IoT). Ik ben ook nog steeds moe om al mijn lichten, apparaten, voordeur, garagedeur en wie weet wat nog meer aan het blootgestelde internet aan te sluiten. Vooral met gebeurtenissen zoals de recente crash van Amazon S3-services en consistente beveiligingsproblemen. Of hebben we zelfs IoT-apparaten die we gebruiken? Wat als uw internetprovider de service stopzet of deze uitvalt? Te veel faalpunten voor mij.

In de afgelopen 3 jaar heb ik zoveel plezier gehad met het verkennen en leren van de Raspberry Pi en gedurende die tijd heb ik de mogelijkheid gehad om alles te maken, van een geautomatiseerd tuindruppelsysteem tot het revitaliseren van mijn oude laserprinter door netwerkconnectiviteit toe te voegen en een inhaalslag te maken op wat lief retro-gaming (hoewel Arduino nog steeds mijn eerste liefde is …).

Het afgelopen jaar heb ik gewerkt aan het toevoegen van een afgesloten achterporch en het verbeteren van mijn achtertuin. Ik wist dat ik wat buitenverlichting wilde, maar was niet zo onder de indruk van de systemen en hun gebrek aan connectiviteit. Ik heb inspiratie opgedaan van overal op internet en heb een levensvatbaar systeem gehackt voor het uitvoeren van een laagspannings-buitenverlichtingssysteem, waarbij de connectiviteit met uw lokale netwerk geïsoleerd blijft (zou kunnen worden blootgelegd als u dat wilt) en flexibel genoeg is om uit te breiden en aan te passen aan uw wensen. hartenlust.

Dankbetuigingen:

TheFreeElectron - Eenvoudige en intuïtieve webinterface voor uw Raspberry Pi - als u vastloopt aan de webzijde, kijk dan hier, inspiratie voor de serverzijde

CodePen - geweldige bron voor CSS-inspiratie en leren

Code Academy - Ik ben een ouderwetse HTML-man, met wat. NET & C# erin gegooid. Python, CSS, Javascript, PHP - allemaal opgevoerd tot een bruikbaar/hackbaar niveau met hulp van Code Academy.

Basisoverzicht:

Laagspanningsvoeding (12V lichten/relais & 5V RPi/relais) geleverd door een enkele ATX-voeding

Raspberry Pi-configuratie met Apache (webserver), WiringPi (GPIO-beheer) met behulp van PHP (server-side) hoofdpagina met Javascript (gebruikerskant) & Python (scripts) voor het bewaken van de GPIO-status en het weergeven van relevante informatie voor de hoofdwebpagina. Selectievakjes (vermomd) die worden gebruikt om GPIO-pinnen te besturen, die relais besturen, die de lichten besturen! Het is in wezen magie.

Onderweg ziet u infrastructuurfoto's (leiding, aansluitdozen, enz.) - een beetje buiten het bestek van deze instructable. Ik zal me concentreren op het elektronische lef van een systeem. Aan jou om het weerbestendig (indien nodig) of mooi (indien nodig) of beide (wenselijk) te maken.

Enthousiast om te delen en kijken uit naar de feedback van deze community. Laten we aan de slag gaan - van begin tot eind.

Stap 1: Hardware, onderdelen en gereedschappen

Hardware, onderdelen en gereedschappen
Hardware, onderdelen en gereedschappen

Zijn er betere onderdelen om te gebruiken? Ja.

Heb ik mijn systeem goed werkend gekregen met deze onderdelen? Ja.

Moet je iets anders proberen? Waarom niet?!Hardware/Software

  1. RaspberryPi - hoe schoner hoe beter en RPi3 geweldig omdat je wifi nodig hebt

    • Ervan uitgaande: je hebt een nieuwe lading Rasbian
    • Ervan uitgaande: je hebt het standaardwachtwoord gewijzigd en je hebt SSH ingeschakeld (met een scherm)
    • Of zonder scherm (zie Stap 1)
  2. ATX-voeding - gerecycled is de beste, ik had de mijne van een oude game-installatie - let op watt bij het berekenen van hoeveel lampen je wilt en zoek idealiter een [email protected]+Amp-stroomrail - dit is de paarse draad en zal de RPi van stroom voorzien zonder het hele stroomzuigsysteem te hoeven gebruiken
  3. Buitenverlichting (12v) - deze waren geweldig: laag wattage, fatsoenlijke output, redelijke prijs
  4. 5v en/of 12v relaismodules
  5. Een soort behuizing - ik gebruikte een 8X8X4 PVC-aansluitdoos
  6. Notepad++ met NppFTP - gebruikt om RPi-bestanden snel te laden en te bewerken
  7. Putty - gebruikt om een paar extra pakketten op de RPi. te installeren

Onderdelen

  1. Buiten nominale 12v voedingskabel
  2. Draad nietjes
  3. 1/2 "PVC en enkele rechte hoekverbindingen - 2 voet en 2 rechte hoeken voor elke afzonderlijke lijn die u van plan bent te lopen
  4. Een ethernetkabel
  5. Draadjumpers - verschillende mannelijke/vrouwelijke combo's
  6. Maak je eigen Molex connectoren
  7. Krimpkous
  8. Elektrische tape
  9. MicroUSB-kabel
  10. Optioneel: deze draadconnectoren zijn geweldig - gebruik deze altijd (motorvoertuigen voor kinderen, slimme tuin (solenoïde connectoren) en USB-netsnoer dat ATX met RPi verbindt)

Gereedschap

  1. Goed paar draadknippers - aan de kleine kant
  2. kruiskopschroevendraaier
  3. Kleine punttang
  4. Optioneel: Voltmeter met continuïteitstester - veel draden en erg handig voor het diagnosticeren van problemen…
  5. Enige tijd

Stap 2: Leer uw voeding kennen

Maak kennis met uw voeding
Maak kennis met uw voeding
Maak kennis met uw voeding
Maak kennis met uw voeding

Kijk eens naar alle wirwar van draden die uit je ATX-voeding komen. Afhankelijk van de leeftijd van je, heb je een hoofd-mobo-connector (20-22 pinnen - pinout afgebeeld) plus stroom voor allerlei andere dingen - schijven, grafische kaarten, hulpvoeding, enz.

  • +5VSB (stand-by) lijn is paars. Dit zal worden gewijd aan uw RPi - de hele tijd stroom
  • PS_ON lijn is groen. Wanneer deze is verbonden met aarde, worden de rode en gele voedingen ingeschakeld
  • +5V-lijnen zijn rood. Eén lijn kan 2-3 5v-relais van stroom voorzien
  • +12V-lijnen zijn geel. Je hebt 3-4 nodig om de buitenverlichting van stroom te voorzien
  • GROUND/COMMON lijnen zijn zwart. Je hebt er een paar nodig voor elk van de andere kleuren
  • Alle andere kleuren worden niet gebruikt voor dit project

Stap 3: Bereid de voeding voor

Eerst even een disclaimer:

Je hebt te maken met netstroom, als je niet weet/of respecteert wat je doet - je kunt jezelf echt pijn doen, of erger… Voordat je verder gaat, zorg ervoor dat je deze keer en ELKE KEER werkt met een niet-aangesloten ATX-stroomvoorziening toevoer en geef het de tijd om te ontladen voordat u het openbreekt. Ik ben niet verantwoordelijk voor het niet respecteren en volgen van enkele eenvoudige regels om u veilig te houden.

OKE! Verder gaan!

  1. Haal de stekker uit het stopcontact en wacht 10-15 minuten totdat de condensatoren zijn ontladen
  2. Gebruik een kruiskopschroevendraaier en haal de schroeven uit de behuizing van de voeding (ter info, garantie komt te vervallen - goede reden om te upcyclen)
  3. Knip alle Molex/connectoren af, zodat je een heleboel vrije draden hebt
  4. Scheid en organiseer de paarse, groene, gele, rode en zwarte draden
  5. Knip voorzichtig alle andere draden in de behuizing door - u hebt ze niet nodig en dit bespaart ruimte
  6. Sluit de uiteinden van de afgeknipte draden af met een beetje isolatietape
  7. Sluit die behuizing weer af met alleen de draden die je nodig hebt uit de voeding, zorg ervoor dat de draden niet in de buurt van koellichamen of ventilatoren komen

Stap 4: Stroom naar de Pi

Macht aan de Pi!
Macht aan de Pi!
Macht aan de Pi!
Macht aan de Pi!
Macht aan de Pi!
Macht aan de Pi!

Voordat u relais gaat bedienen, laten we de RPi allemaal inschakelen.

Onthoud dat ik niet de basis behandel van het krijgen van de RPi in eerste instantie ingesteld (OS op SD-kaart laden, een nieuw wachtwoord instellen en SSH inschakelen) - kom terug in het hardware-/softwaregedeelte (stap 2) voor links naar geweldige links die betrekking hebben op die dingen.

Bekijk de eerste foto - laten we het hybride snoer maken dat de paarse lijn van de ATX naar de RPi brengt:

USB naar ATX-netsnoer

  1. Knip met uw draadknipper uw micro-USB-kabel dichter bij het USB-uiteinde dan bij het micro-USB-uiteinde
  2. Strip voorzichtig de buitenste huls van de kabel
  3. Je zou 4 draden moeten hebben (zwart, rood, groen en wit)
  4. Laat 1/2 "tot 3/4" van het zwart en rood en strip die uiteinden om het koper bloot te leggen
  5. Snijd de Groen & Wit helemaal af, je hebt ze niet nodig - dit is alleen voor stroom, geen data
  6. Neem een paar van de draden die je hebt doorgeknipt van je ATX-voeding (Rood & Zwart)
  7. Sluit ze aan op de USB-kabel

    • Een paar manieren om dit te doen - in volgorde van levensduur:

      • (A) Beide uiteinden gestript, aan elkaar gesoldeerd en vervolgens wat krimpkous gebruikt
      • (B) Draai twee gestripte uiteinden in de lengte en vervolgens krimpkous
      • (C) Verbind twee gestripte uiteinden met enkele kleine draadmoeren
      • (D) Draai twee gestripte uiteinden in elkaar en wikkel ze om met wat isolatietape
  8. Als u de connectoren gebruikt, strip dan de andere uiteinden en steek 1/4" - 3/8" in de connector (zorg ervoor dat de positieve en negatieve kanten overeenkomen)
  9. Als u de connector gebruikt, strip dan de paarse draad van de ATX en een zwarte en kijk opnieuw naar positief en negatief (paars naar rood en zwart naar zwart)
  10. Als u geen connector gebruikt, hoeft u ze alleen maar vast te draaien.

Eenmaal aangesloten op de voeding en de RPi, controleer nogmaals om er zeker van te zijn dat er geen andere gestripte draden rondhangen en sluit de voeding weer aan. Wanneer u de voeding inschakelt, zou u een werkende Raspberry Pi moeten hebben!

Als dat niet het geval is, controleer dan nogmaals uw aansluitingen, positieven, aarde, enz.

Geen dobbelstenen? Gebruik de continuïteitstester van uw voltmeter om uw snoer te controleren. Moet een piep horen wanneer beide uiteinden worden aangeraakt. Controleer ook of de paarse lijn van de ATX-voeding +5v is.

Nog steeds niet gaan? Probeer een rode draad voor +5v, zou dat kunnen gebruiken, maar zal de volgende stap een beetje veranderen en meer wattage verbruiken.

Laten we nu een pauze nemen van de hardware en werken aan onze soft skillz.

Stap 5: SSH naar RPi en wat software pakken

SSH naar RPi en wat software pakken
SSH naar RPi en wat software pakken

Ah, de schoonheid van open source… zo geweldig…

Laten we beginnen met een beetje Putty.

Er zijn een heleboel geweldige bronnen beschikbaar in dit kleine maar krachtige kleine programma. Als je SSH hebt ingeschakeld en je standaardwachtwoord is gewijzigd, ben je helemaal klaar. Laten we het opstarten en een aantal nieuwe pakketten en software downloaden.

Open source is de beste bron

Laten we beginnen met het allerbelangrijkste:

$ sudo apt-get update

$ sudo apt-get upgrade

Ja op alle vragen.

Laten we nu de WiringPi-bibliotheek nemen - maakt de GPIO veel beter beheersbaar.

$ sudo apt-get install git-core

Ja op alle vragen - nu om het te bouwen:

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

$ cd ~/wiringPi $./build

Last but not least - een geweldige webserver:

$ sudo apt-get install apache2 php5 libapache2-mod-php5

Als alles goed gaat, zou je in staat moeten zijn om het IP-adres van de RPi in te voeren en "It Works!" te zien.

Geef jezelf dan toegang:

$ sudo chown pi:pi /var/www/html/ $ sudo chmod 755 /var/www/html/

Kanttekening over IP-adressen

Een van de redenen waarom ik dit IoT-ontwerp leuk vind, is dat het van mij is. IoT als je wilt. Geen omkijken naar 'de cloud' of andere diensten. MAAR, je moet zelf bepalen hoe je wilt dat het werkt. De sleutel tot elke optie is de behoefte aan een solide, stabiel IP-adres - anders weet je nooit waar je heen moet om je lichten aan en uit te zetten. Zelf gebruik ik optie (C), maar jouw call.

Een paar opties:

  • (A) statisch IP-adres voor de RPi
  • (B).lokale domeintoewijzing
  • (C) Laat uw router elke keer dezelfde toewijzen. Hangt af van de mogelijkheden van uw router - zoek naar een instelling met de naam 'Adresreservering', meestal onder Geavanceerde LAN-instellingen.

Stap 6: Maak verbinding met RPi via NotePad++ SSH

Maak verbinding met RPi via NotePad++ SSH
Maak verbinding met RPi via NotePad++ SSH
Maak verbinding met RPi via NotePad++ SSH
Maak verbinding met RPi via NotePad++ SSH

Ik zal Notepad++ gebruiken om de HTML-, PHP-, Python-, Javascript- en CSS-bestanden te bewerken en een plug-in genaamd NppFTP om die wijzigingen snel en gemakkelijk in je RPi te krijgen - elegant, eenvoudig en snel. NppFTP wordt standaard geleverd in de 32-bits versie, maar als je 64-bits gaat, wordt het nu ook ondersteund, maar je zult het handmatig moeten installeren.

  1. Open Notepadd++
  2. Plugins NppFTP Toon NppFTP-venster (kan ook een kleine map selecteren met een kettinglinkpictogram)
  3. Selecteer in het NppFTP-venster het COG-pictogram en 'Profielinstellingen'
  4. Dit zou voor u leeg moeten zijn als u dit nog nooit heeft gebruikt, selecteer 'Nieuwe toevoegen'
  5. Hostnaam = RPi IP-adres op uw lokale netwerk
  6. SFTP is het type, met poort 22 (SSH)
  7. Gebruikersnaam is 'Pi' en wachtwoord is uw pas bijgewerkte wachtwoord… toch?!
  8. Stel ook uw standaardmap in op '/var/www/html/' - dat maakt het allemaal gemakkelijker
  9. Druk op het verbindingspictogram en selecteer het profiel dat u zojuist hebt gemaakt - zou u rechtstreeks naar uw nieuwe map moeten zippen

Als u een bestand opent, wordt een lokaal bestand naar uw machine gebracht, en als u het opslaat, worden uw wijzigingen automatisch in de RPi geladen.

Open de index.php, gpio.php, css.css en script.js in Notepad++, dan kun je ze uploaden naar de html-map.

Test het door het IP-adres van uw RPi in te voeren - u zou uw standaardcontrolepagina moeten zien laden.

Zo niet, controleer dan of alle bestanden daadwerkelijk op de RPi staan, en zorg er ook voor dat er geen andere 'index' in de html-map staat.

Als je ziet dat de pagina wordt geladen, succes! Laten we het hebben over de bestanden die u op uw RPi plaatst en hoe ze u helpen uw verlichting te regelen!

Stap 7: Het interface-overzicht & Index.php

Het interface-overzicht & Index.php
Het interface-overzicht & Index.php
Het interface-overzicht & Index.php
Het interface-overzicht & Index.php

Mijn primaire doel was om de verlichting te bedienen via een eenvoudige, webgebaseerde interface die vanaf elk apparaat kan worden geladen. Het resultaat is een pagina met een groot aantal functies, VEEL ruimte voor u om het uw eigen te maken en veel kleurrijke talen.

Zoals je kunt zien aan de eerste afbeelding - Javascript dat is opgenomen in index.php wordt gebruikt om gpio.php aan te roepen wanneer de status van ons selectievakje (d.w.z. schakelaar) verandert. gpio.php schrijft en leest vervolgens de gpio-pinnen.

Laten we beginnen met de index.php in de bijlagen. Ik zal het stuk voor stuk doornemen, waarbij ik de gebieden aanwijs en enkele specifieke opmerkingen om u verder te helpen.

De eerste links zijn naar de CSS-stylesheet en een aangepast pictogram dat een 32X32 bitmap is met de extensie '.ico'

Ten tweede is een beetje Javascript, een aangepast geklokt voorbeeld van w3schools, aangepast om wat AM / PM en een knipperende dubbele punt toe te voegen (precies hoe ik het voor mij wilde weergeven, misschien wil je het anders?)

Ten eerste, een beetje PHP - dit wordt eerst uitgevoerd - alleen op de server (kan het niet zien in de bron zodra de pagina is geladen) - ook de reden kan het niet blijven gebruiken om pin-statussen te schrijven.

$nm_array = array ("Uw Switch 1", "Uw Switch 2", etc..);

//dit is waar je de gebieden toevoegt die je wilt, aparte controle over lichten //Je kunt er zoveel toevoegen als je wilt/nodig hebt - het is ingesteld om te tellen en dienovereenkomstig schakelaars te maken

$wthr_array = array(); // nu leeg, maar bevat een gegevenspunt dat is gevuld met een Python-script

De volgende lus gaat PHP's 'system' en 'exec' functies gebruiken om alle pin-modi in te stellen met behulp van WiringPi (alle uitgangen) en ze vervolgens te lezen. Omdat meerdere bronnen wijzigingen kunnen aanbrengen, wilde ik ervoor zorgen dat nieuwe pagina's de huidige status zouden zien. Een Javascript zal deze later lezen en de selectievakjes dienovereenkomstig in- of uitschakelen.

Ten slotte, als u het Python-script wilt uitvoeren om een gegevenspunt binnen te halen en de $wthr_array.

Volgende Up the div class "header" - elk van de lijstitems vertegenwoordigt de inhoud van de containers in de header van de webpagina (Time, Title & Temp.)

De PHP-lus die wordt herhaald op basis van het aantal switchnamen dat u aan de $nm_array hebt toegevoegd.

Wat hier belangrijk is, is dat het ook pincodes in sequentiële volgorde toewijst. Beginnend met PIN0 tot een willekeurig aantal, maar echt beperkt op basis van het aantal GPIO-pinnen dat beschikbaar is op je RPi, dus 16. Dit zal erg belangrijk zijn in de volgende stap wanneer we daadwerkelijk dingen gaan controleren.

Een paar korte opmerkingen over enkele van de andere bestanden:

base.css

Je eigen kleuren (web, rgb, etc.) voor de pagina zijn ingesteld op regels 68, 111 en 134. Ik heb deze gekozen omdat het dezelfde kleuren zijn die mijn supermaker van een vrouw voor mij uitkoos om de nieuwe achterporch te schilderen, dus het helpt om de interface te koppelen aan waar de interface doorgaans wordt uitgevoerd.

Vanaf regel 194 kunt u het uiterlijk van de tuimelschakelaars aanpassen

gettemp.py

Dit supereenvoudige Python-script is klaar om te rocken zodra je je eigen API-sleutel van Weather Underground krijgt, en zal je enkele statistieken tonen over het gebruik van je pagina (elke keer dat de pagina wordt geladen, wordt er een oproep gedaan - zodat je wat gegevens kunt zien)

Stap 8: Bedien dingen met 12V

Bedien dingen met 12V
Bedien dingen met 12V
Bedien dingen met 12V
Bedien dingen met 12V
Bedien dingen met 12V
Bedien dingen met 12V

Je hebt waarschijnlijk gemerkt dat je voeding niet veel geluid maakt. De ventilator staat niet aan, geen spanning op de gele of rode lijnen, enz.

Dat komt omdat we de GROENE (PS_ON) op een aarde moeten aansluiten om de hoofdstroom daadwerkelijk in te schakelen.

Laten we een van die relais eruit halen.

  1. Strip en sluit de GROENE draad aan op een van de relaisklemmen
  2. Strip en sluit een ZWARTE draad aan op een van de relaisklemmen naast de groene

Ok, neem nu een paar van je startkabels - een ROOD & ZWART, zowel vrouwelijk & ELKE KLEUR vrouwelijk aan de ene kant en mannelijk aan de andere kant.

  1. Strip het ene uiteinde van zowel een ROOD als een ZWARTE en laat een vrouwelijke kant over en verbind met een draadmoer de RODE met de PAARS (dezelfde waarop uw RPi is aangesloten) en ZWART met ZWART
  2. De vrouwelijke kant hiervan gaat naar het relais ROOD naar positief en ZWART naar negatief
  3. De KLEUR die u kiest, gaat mannelijk naar GPIO (zie afbeelding - we gaan met WiringPi PIN 0)

    OPMERKING: ik gebruik een lintkabel om de GPIO aan te sluiten, maar je zou rechtstreeks naar de header van de RPi kunnen gaan

  4. De vrouwelijke kant gaat naar het "signaal" of S-pin van het relais

Ga terug naar je hoofdpagina (IP-adres van je RPi) - de eerste schakelaar, misschien de enige schakelaar, zou nu de ATX PS uit stand-by moeten halen, de ventilator aan moeten zetten en sap naar alle 12V, 5V en 3.3 moeten sturen V-draden.

Wat cool is, is dat je hier zou kunnen stoppen. Sluit je verlichting eenvoudig aan op een paar 12V-lijnen en je hebt een eenvoudige, digitale schakelaar om hem te bedienen.

Maar waar is het plezier daarin? Vervolgens zal ik de bedrading van de verlichting bespreken, evenals een methode om meer schakelaars toe te voegen en meer controle over uw verlichting.

Stap 9: Meer controle met stroom (en data) via Ethernet (P(&D)oE)

Meer controle met stroom (en data) via Ethernet (P(&D)oE)
Meer controle met stroom (en data) via Ethernet (P(&D)oE)
Meer controle met stroom (en data) via Ethernet (P(&D)oE)
Meer controle met stroom (en data) via Ethernet (P(&D)oE)
Meer controle met stroom (en data) via Ethernet (P(&D)oE)
Meer controle met stroom (en data) via Ethernet (P(&D)oE)

Je hebt je misschien afgevraagd wat al die ethernetkabel is die ik aan de leveringslijst heb toegevoegd.

Met behulp van het ethernet kunnen we 5V samen met een GPIO-signaal rechtstreeks naar andere relaisverbindingen sturen om de controle over ons verlichtingssysteem verder te vergroten. Misschien wilt u bepaalde delen van de tuin apart aansturen? Of voor- en achterkant? Dit zal dat mogelijk maken.

Ik zal het concept en enkele best practices uiteenzetten en u kunt het aanpassen aan uw behoeften.

Kijk eens naar de eerste en tweede foto. Ik neem een +5V-lijn van onze voeding en stuur die een set gedraaide ethernetkabels naar beneden.

  1. Strip voorzichtig de buitenmantel van de ethernetkabel - u wilt de 24-23 AWG-draden niet beschadigen
  2. Kies twee kleurensets en draai ze voorzichtig los - de ene is de spanning en de andere de grond

    OPMERKING: Zeer goed idee om te documenteren welke kleur waarvoor is wanneer u de andere kant aansluit

  3. Strip de uiteinden van beide draden en bedraad tot een RODE (+5v) en een ZWARTE aarde op uw voeding (foto 2)
  4. Doe hetzelfde voor een andere draadkleur, maar sluit in plaats daarvan een jumper aan vanaf een GPIO-pin

De Molex-connectoren waarnaar ik in het gedeelte met benodigdheden heb gelinkt, komen hier echt van pas. Neem de 3 sets getwiste paren, krimp ze in de vrouwelijke Molex-connectoren samen met een 3-pins connector en ze zullen direct aan het relais worden bevestigd. (foto 3). Zorg ervoor dat je de bestelling in de gaten houdt, mijn relais had ze nodig in +, - & S. Als je een Molex-kabel maakt die niet in die volgorde staat, kan het moeilijk zijn om ze opnieuw te rangschikken.

Als u de ethernet-stroomrail naar uw relais "pigtail" maakt, kunt u deze lijn waar u maar wilt laten lopen en er op verschillende locaties op aansluiten.

Ik heb dit getest met meer dan 30 meter ethernet met een beperkte spanningsval en een goed GPIO-signaal dat, vanwege het getwiste paar, relatief stabiel is en beschermd tegen interferentie.

Stap 10: Verlicht die tuin

Verlicht die tuin!
Verlicht die tuin!
Verlicht die tuin!
Verlicht die tuin!
Verlicht die tuin!
Verlicht die tuin!

Er zijn ZO veel manieren waarop u dit kunt doen. Ik zal enkele algemene concepten en stappen behandelen om ervoor te zorgen dat uw systeem blijft werken en veilig is.

Houd er rekening mee dat u hiervoor kabel zult begraven. De kabel waaraan ik heb gelinkt, is wat ik heb gebruikt en is geschikt voor ondergrondse begraving, wat betekent dat je extra voorzichtig moet zijn om niet in kabellijnen, internetlijnen OF IN HET SLECHTSTE GEVAL, hoogspanningslijnen te snijden … neem contact op met de lokale "bel voordat je gaat graven" als je niet zeker bent. Houd ook bij wat positief en wat negatief is. Ik heb altijd geweten dat de kabel met de "woorden" (witte letters) de negatieve lijn was en blanco de positieve lijn)

Omdat ik een achterveranda aan het toevoegen was, had ik een beetje vooruit gepland en aansluitdozen rondom de omtrek van mijn nieuwe fundering geplaatst, wat dit echt veel eenvoudiger maakte. U kunt net zo gemakkelijk leidingen onder uw terras leggen, straatstenen, enz. Zorg ervoor dat u alle bedrade verbindingen, vooral relais, in een weerbestendige aansluitdoos plaatst.

Als eerste heb ik de 12V-lijnen door de aansluitdoos geleid (foto 2).

Die draad liep de grond in, door een 1/2 "PVC-leiding met een rechte hoek op de bodem, ongeveer 6-8" de grond in. Een greppel die taai is met onze rotsachtige grond (moest een houweel gebruiken) maar misschien woon je ergens met echt vuil…

De lijn komt omhoog (foto 4), opnieuw met een rechte hoek en een 1/2 PVC en bevestigd aan de boom. Ik heb uiteindelijk de bovenkant van de PVC gevuld met een beetje siliconen om te voorkomen dat de draad wordt getrokken op door kinderen.

Voor sommige installaties kun je hier stoppen en je licht naar de boom laten wijzen. Test het 's avonds uit om de gewenste look te krijgen. Als je wilt dat de verlichting uitgaat… ga verder.

Ik heb draadnietjes gebruikt, waarbij ik erop moest letten de draad niet te doorboren om hem achter de boom omhoog te leiden (foto 5)

Zodra u de lijn hebt, moet u de montagebeugel op de boom schroeven. Eenmaal vastgezet, gebruikt u draadmoeren om het positieve met het rode en het negatieve met het blauwe of zwarte van de lamp aan te sluiten. Wikkel de verbindingen in een beetje isolatietape om vocht buiten te houden.

Spoel en herhaal voor hoeveel lichten je ook wilt gebruiken!

Test het uit door een telefoon, iPad of computer op te starten en naar uw RPi IP-adres te navigeren.

Het laatste dat moet gebeuren, is ervoor zorgen dat uw RPi en de verbindingen mooi en knus zijn in een aansluitdoos of een ander soort opstelling - nogmaals, buiten het bestek hier.

Stap 11: Verbeteringen in uitvoering en afronden

Dus wat nu en hoe te verbeteren? Ik zoek deze community om te helpen, maar ook een paar ideeën die ik heb geïmplementeerd sinds ik dit heb samengesteld of waar ik aan werk tussen andere projecten in huis.

Weerservice bijwerken

Begon Accuweather API te gebruiken in plaats van WeatherUnderground (stopgezette API-service) - 'gettemp.py' toegevoegd om te laten zien hoe!

Fysieke knoppen toevoegen

Ik pakte een apparaat met 4 knoppen, vergelijkbaar met wat ik zie in onze vergaderruimte op kantoor, en heb het sindsdien aangesloten op 4 GPIO's die worden gecontroleerd door een python-script wanneer het apparaat aan staat. Kan deze nu ook gebruiken als een andere methode om alles in en uit te schakelen en zoals ik de hoofdpagina heb geprogrammeerd, zal het eerst controleren wat de huidige status van de GPIO-pin is, zodat je geen conflicterende ingangssignalen hebt. De mensen van touchplate.com waren super behulpzaam bij het beantwoorden van mijn vragen om het werkend te krijgen - bedankt!

Verschillende gegevens van Weather Underground

Ik ben begonnen met het ophalen van astrologische gegevens van WU (zonsopgang, zonsondergang, enz.). Ik werk eraan om de lichten 30 minuten voor zonsondergang aan en uit te laten gaan en ook op bepaalde tijden. Zou hier wat analoge sensoren voor kunnen gebruiken, maar niet het beste gebruik van de RPi, dus spelen met een software-oplossing.

Automatisch aan/uit toevoegen

Mijn achterporch is een stevige 10 meter beton die we ongeveer 2 jaar geleden hebben gegoten. Het afgelopen jaar hadden we wat grillig weer - de ene dag zou het 35-40F buiten zijn, dan de volgende 70-80F met 60-80% luchtvochtigheid. Dit veroorzaakte condensatie op de plaat, waardoor het erg glad werd. Om dit probleem te bestrijden, heb ik een python-script toegevoegd om de temperatuur van voorgaande dagen te verlagen (om een geschatte temperatuur voor de plaat te bepalen) en het dauwpunt om te bepalen of de omstandigheden geschikt zijn om condensatie op de veranda te creëren (https://www. weatherquestions.com/What_is_condensati… Als de temperatuur lager is dan het dauwpunt - dan gaan de ventilatoren aan, zo niet, dan blijven ze uit. Het zal ook niet overschrijven als de ventilatoren handmatig zijn ingeschakeld en de webpagina-interface een beetje verandert als de 'AI' de fans heeft ingeschakeld. Ik heb 4 bestanden toegevoegd: dryout.py, auto_on.py & auto_off.py (plaats in de python-map) en een bijgewerkte index.php (plaats in de hoofdmap) - u' U moet uw Weatherunderground API-sleutel bijwerken.

In de terminal:

$ sudo crontab -e

Voeg dan het volgende toe aan de onderkant:

#elk uur, controleer de temperatuur/dauwpunt om te zien of de ventilatoren moeten worden ingeschakeld

0 * * * * /usr/bin/python /var/www/html/python/dryout.py

Nu wordt dryout.py elk uur uitgevoerd. OF je kunt dit gebruiken als sjabloon voor een andere functie, misschien de lichten aan- en uitzetten met een andere trigger? Tijd zonsondergang/zonsopgang? OF als het gewoon warm is buiten en je wilt dat de ventilatoren automatisch aangaan als de temp. bereikt XX graden?

Bewegingssensoren toevoegen

Het plaatsen van een paar bewegingssensoren bij ingangen, het gebruik van de ethernetstructuur om stroom en data-I/O te routeren, zou een fluitje van een cent zijn. Dan een eenvoudig python-script om de lichten te controleren en aan en uit te zetten. Zou een leuk klein add-on project kunnen zijn.

Ik hoop dat dit je op zijn minst een idee geeft dat dit levensvatbaar is en dat je hoogstens kunt repliceren wat ik nu al meer dan een maand met succes gebruik. Veel geweldige reacties van vrienden en familie en weet dat je hetzelfde zult krijgen als je eropuit gaat en aan het maken bent! Bedankt dat je met me meeliep en laat het me weten als je feedback, aanpassingen of vragen hebt! - de schoonmaker

Aanbevolen: