Home > Raspberry Pi web gordijn controller

Raspberry Pi web gordijn controller

Tags:framboos-
Advertisement

Raspberry Pi web gordijn controller

De Somfy afstandsbediening systeem is een gesloten, bedrijfseigen systeem. Deze Instructable laat zien hoe u de afstandsbediening hardwire naar de Raspberry Pi (RPI), en schrijf dan een eenvoudige PHP-webpagina om de gordijnen te controleren. Elke toepassing waar u wilt uitvoeren (in de buurt) een schakeling van een web-app kan worden gebruikt met deze methode. De circuits zijn afgesloten met een transistor, omdat de RPI GPIO niet direct een basis switch functie ondersteunen. Omdat we niet willen de motoren constant pingelen, Ik sluit alleen de switch een fractie van een seconde, die simuleert een druk op de knop op de afstandsbediening. Het web app is ontworpen om te worden gebruikt op uw netwerk. Zodra u de software controle over uw gordijnen de toepassingen zijn alleen beperkt door uw verbeelding.

Hardware nodig:

  • Raspberry Pi 2 w / power adapter
  • RapberryPi draadloze USB-adapter
  • Broodplank (voor het testen alleen)
  • 3 LED's (voor het testen van only)
  • 3 NPN transistors
  • 3 10K weerstanden (bruin, zwart, oranje, goud) - Ik heb de wiskunde niet doen, ik gebruikten gewoon grote weerstanden om stroom te beperken
  • jumper draden (welke aard dan ook)
  • Printplaat - enkelzijdig
  • Soldeerbout en soldeer
  • Somfy Telus afstandsbediening (dit is een enkele project, zorg ervoor dat u bereid bent om de afstandsbediening te offeren zijn)

Software nodig:

Laatste overweging:

Ik in eerste instantie wist mijn RPI door middel van een USB-toetsenbord en muis en een HDMI-monitor. Ik heb daar besefte dat het veel gemakkelijker is om SSH in het RPI uit mijn MAC. De instructies om op afstand toegang tot uw RPI bent hier: https: //www.raspberrypi.org/documentation/remote-a ...

Stap 1: Stap 1 - Werken met GPIO

Raspberry Pi web gordijn controller

Er zijn veel voorbeelden van hoe de GPIO (general purpose input output) pinnen op de Raspberry Pi gebruiken. Als je nieuw in dit zijn, adviseer ik u beginnen met eenvoudige wiringPi python scripts. Dit zal u helpen ervoor zorgen dat uw circuits zijn aangesloten op de juiste voordat u soldeer te krijgen. Er is veel verwarring op pin nummering. Dit Instructable maakt gebruik van de WiringPi pin-modus. : Dit is allemaal makkelijker met de volgende website gemaakt http://pinout.xyz/ . REMEMBER, maken we gebruik van WiringPi pinnen 2,3,7.

Wees zeer voorzichtig als u gemakkelijk kunt bakken u Pi. Vergeet niet, altijd gebruik maken van een weerstand en altijd uw bedrading met de RPI unplugged.

Hier is een eenvoudige gids:

UIT: GPIO pin -> weerstand -> LED -> grond

OOK: GPIO pin -> weerstand -> transistor -> grond

Bedrading instructies:

Ik f je niet bekend bent met breadboards, zie deze Instructable eerste: http: //www.instructables.com/id/Breadboard-Basics -...

Verwijzen naar de foto hierboven met de pennen label 2,3,7 en op de grond. Deze aantallen kunnen onlogisch lijken. Vergeet niet, we zijn met behulp van de WiringPi pin aanwijzing regeling. Ik vermeden het gebruik van pin 0 als "0" wordt vaak gebruikt in de code als "false" of "Off".

Laten we beginnen:

Draad van RPI pin 2 naar de breadboard. Draad van de broodplank van een 10K weerstand. Dit zijn zeer grote weerstanden zodat uw LEDs dim zal zijn. Dit is het gewenste resultaat. We hoeven niet, noch wil een grote stroom te sturen naar onze transistors. Draad van de weerstand met de anode van de LED. Dit is de langere levertijd. Dan draad van de kathode (kortere doorlooptijd) van de LED aan de grond. Voor dit project gebruik ik de blauwe grond rail aan de rand van de broodplank en alleen verbinding aan de grond op de RPI een keer. Ik volg ook het zelfde principe met de afstandsbediening en het circuit. Herhaal de bovenstaande stappen voor pinnen 3 en 7.

De volgende stap, het draaien van de LED's op met een Python-script.


Stap 2: Stap 2: Het testen van uw circuit

Raspberry Pi web gordijn controller

Dit is een optionele stap die Python gebruikt om uw route snel testen. De reden dat ik beveel deze stap is dat je niet wilt uren debuggen code wanneer u een probleem met de bedrading en vice versa. Door het valideren van uw bedrading van tevoren zult u weten dat eventuele problemen in het web app zijn beperkt tot code, toestemmingen, directories en al die andere lastige software eigenaardigheden.

Vanuit de Raspberry Pi GUI: Menu -> Programmering -> python2 (IDLE)

Maak een nieuw bestand en plak deze code:

  ## Dit werkt alleen met python2 import wiringpi2 als wiringpi #using wiringPi pin aanwijzing wiringpi.wiringPiSetup () # #set drie GPIO pinnen voor uitvoer wiringpi.pinMode (2, 1) wiringpi.pinMode (3, 1) wiringpi.pinMode ( 7, 1) # #turn op pinnen aan / uit in successie wiringpi.digitalWrite (2, 1) slaap (2) wiringpi.digitalWrite (2, 0) # wiringpi.digitalWrite (3, 1) slaap (2) wiringpi.digitalWrite (3, 0) # wiringpi.digitalWrite (7, 1) slaap (2) wiringpi.digitalWrite (7, 0) 

Klik op Uitvoeren, sla uw bestand en let op uw LEDs oplichten in successie.

De volgende stap -> Installeer een webserver op uw Raspberry Pi

Stap 3: Stap 3: Software

Raspberry Pi web gordijn controller

Installeer Apache en PHP:

Volg deze instructies om Apache en PHP installeren op uw Raspberry Pi. https: //www.raspberrypi.org/documentation/remote-a ...

De reden dat ik koos voor PHP is dat het een een bestand implementatie. Als u voorbeelden over hoe dit circuit met behulp van Node.js en Javascript met alle middelen te controleren, laat het me weten. Voor nu PHP op Apache is een schone en eenvoudige oplossing.

Mijn programma is vernoemd index.php en het is in de directory / var / www / html. Het plaatsen van dit bestand in deze directory zal toelaten om uit te voeren wanneer het IP-adres van de Raspberry Pi in een browser ingevoerd. Als alternatief kunt u de naam van het bestand in de browser te kwalificeren. bijvoorbeeld: 10.0.1.33/test.php. Wees vooral voorzichtig met permissies tijdens de Apache setup. Je moet genoeg zijn om op te slaan en uw bestand uit te voeren, maar de veiligheid van uw RPI niet riskeren.

Krijg je RPI lokale IP-adres:

Vanuit de terminal soort hostname -I (dat is een hoofdletter i)

Mijn RPI is gelegen op 10.0.1.33. Dit is op een lokaal netwerk. Dit project is niet toegankelijk vanaf het internet. Ik persoonlijk wil niet dat vreemden het openen en sluiten van mijn gordijnen.

Het PHP-programma: index.php

1) Dit programma begint met CSS om de knoppen te stylen.

2) Het tweede deel is drie vormen statements. Omdat PHP is een server-side taal, de code wordt uitgevoerd op de server. Door gebruik te maken van een formulier en de post commando, kunnen we onze code op de Raspberry Pi te roepen met een simpele klik op een knop.

3) Het gedeelte PHP maakt gebruik van het commando isset een druk op de knop op te sporen. Wanneer de knop wordt ingedrukt de GPIO pin is ingesteld op output, ingeschakeld voor 0,8 seconden en daarna uitgeschakeld. Dat is alles wat er is.


  <Html> <h1> Raspberry Pi Blind Controle </ h1> <head> <style> .openButton {display: inline-block;  font-size: 72px;  width: 400px;  text-align: center;  border-radius: 12px;  color: # fff;  background-color: green;  } .closeButton {Display: inline-block;  font-size: 72px;  width: 400px;  text-align: center;  border-radius: 12px;  color: # fff;  background-color: yellow;  } .stopButton {Display: inline-block;  font-size: 72px;  width: 400px;  text-align: center;  border-radius: 12px;  color: # fff;  background-color: red;  } </ Style> </ head> <body> <br> <form method = "POST" action = ""> <input class = "openButton" type = "submit" name = "open" value = Open > <br> </ form> <form method = "POST" action = ""> <input class = "CloseButton" type = "submit" name = "close" value = Sluiten> <br> </ form> <form method = "POST" action = ""> <input class = "STOP-" type = "submit" name = "stop" value = Stop> < br> <br> </ form> <? php ### geopend exec ( "sudo GPIO-modus 7 out")?;  if (isset ($ _POST [ "open"])) {exec ( "sudo GPIO write 7 1");  slaap (0,8);  exec ( "sudo GPIO write 7 0");  } ### Dicht exec ( "sudo GPIO-modus 3 out");  if (isset ($ _POST [ "close"])) {exec ( "sudo GPIO write 3 1");  slaap (0,8);  exec ( "sudo GPIO write 3 0");  } ### Stop exec ( "sudo GPIO-modus 2 out");  if (isset ($ _POST [ "stop"])) {exec ( "sudo GPIO write 2 1");  slaap (0,8);  exec ( "sudo GPIO write 2 0");  }?> </ Body> </ html> 

De volgende stap -> transistors

Stap 4: Stap 4: Werken met Transistors

Raspberry Pi web gordijn controller

Waarom een transistor?

In onze laatste circuit de LEDs worden vervangen door NPN transistoren die fungeren als aan / uit schakelaars voor het op afstand. De transistor wordt gebruikt om het circuit te sluiten, zonder daaraan een RPI bevoegdheid om de Somfy afstandsbediening. Vergeet niet dat de afstandsbediening heeft een batterij en het werkt op eigen kracht. Als we proberen om de GPIO pin rechtstreeks verbinding met de externe riskeren we het toestel te vernietigen. De foto hierboven inspireerde dit ontwerp. Veel dank aan Raspberry Pi Geek voor het artikel gevonden hier: http: //www.raspberry-pi-geek.com/Archive/2014/06/G ...

Bedrading van de afstandsbediening:

De bruine draad gesoldeerd aan de Somfy afstandsbediening werkt als een grond voor alle knoppen. Ik testte dit met behulp van een multi-meter. De weerstand tussen alle draden aan de onderzijde van de knoppen nul betekent dat ze allemaal verbonden in de afstandsbediening. Ik heb de verre grond om mijn circuit grond vermindering van het aantal draden in het project. Let op de bruine jumper draden op de printplaat; als ik mijn board beter ontworpen, kon ik al van de grond hebt aangesloten eronder met soldeer. Dit zou vergelijkbaar zijn met de blauwe grond bar op een broodplank zijn. De groene draad op de afstandsbediening is de Open draad. Als u de groene draad en de bruine draad raken samen zullen de afstandsbediening worden geactiveerd. We eenvoudigweg sluiten van een schakeling van de afstandsbediening. Dat circuit brengt zijn eigen macht.

Fout:

Ik heb per ongeluk de verkeerde kleur draden voor de andere twee knoppen. Van links naar rechts de knoppen zijn: Open, Stop, Sluiten. Ik denk niet dat het de moeite waard was om opnieuw soldeer voor kleurcodering; aarzel dan niet in de war door dit te krijgen.

Hoe werkt dit?

Voor meer informatie over hoe transistoren werken, lees dan dit artikel Sparkfun: https: //learn.sparkfun.com/tutorials/transistors/a ...

De volgende stap -> Putting het allemaal samen

Stap 5: Stap 5: Het samenstellen van het allen

Raspberry Pi web gordijn controller

Printed circuit board:

Wanneer de hardware en de software werden met succes gewerkt, verhuisde ik mijn project om een ​​printed circuit board (PCB) om het permanent te maken. Hierbij bewegen de schakeling van de breadboard en solderen van de aansluitingen. De sleutel is om je tijd te nemen een zorg ervoor dat er geen fouten. De PCB ik was eenzijdig zonder aansluitingen aan de onderzijde. Dit verschilt van een breadboard waarbij de rijen daaronder zijn verbonden. De verbindingen worden in plaats daarvan gemaakt met soldeer.

Terwijl mijn schakeling werkt prachtig, het is niet de leukste op zoek project. Een beetje planning zal helpen bij het verbeteren van de uitstraling van uw uiteindelijke circuit.

Hier zijn enkele suggesties:

  • Gebruik Fritizing vrijwel ontwerp uw circuit voordat je solderen
  • Meet en verkort uw leads om de exacte maat die u nodig
  • Gebruik een bruid aan de Raspberry Pi aan te sluiten op de printplaat
  • Zoek een mooie behuizing aan de Pi, de afstandsbediening en de raad van bestuur te huisvesten.

Dat is het. Sluit de draden van de Raspberry Pi en navigeer naar de url van uw favoriete apparaat.

Advertisement

Related Articles

  • Raspberry Pi Alamode CNC Controller
    Raspberry Pi Alamode CNC Controller

    Dit is mijn eerste poging om een ​​instructable. Ik hoop dat iemand anders helpt. Schakelaars en lampjes en fans, oh my ... Lees de opmerkingen voor meer informatie. Ik kocht een CNC machine enige tijd geleden en ik was niet blij mee. Het gebruikte e

  • Raspberry Pi Web Controlled / Autonome Robot
    Raspberry Pi Web Controlled / Autonome Robot

    Inleiding (Bijgewerkt 21/08/16) Dit is mijn allereerste poging tot het bouwen van een web bestuurbare robot met ingebouwde autonome modus. Het project begon als een Arduino Nano gebaseerd botsingen te vermijden robot gebouwd om Primary School kindere

  • Raspberry Pi Web Server --- Nginx - PHP - MySql
    Raspberry Pi Web Server --- Nginx - PHP - MySql

    Deze tutorial zal beschrijven hoe te installeren en het opzetten van een lichte webserver op Raspberry Pi die PHP en MySQL ondersteunt. Apache is de meest gebruikte server, maar Raspberry heeft beperkte middelen dus het is beter om te kiezen voor een

  • Remote Raspberry Pi Robot (PS3 Controller) - Fablab NerveCentre
    Remote Raspberry Pi Robot (PS3 Controller) - Fablab NerveCentre

    Deze instructies proberen te weinig te nemen. Hopelijk, als je een Raspberry Pi kan opstarten en een internetverbinding moet je in staat om deze grote kleine project te voltooien. In principe is dit een project dat zal leiden tot enige specifieke geb

  • Beperk toegang tot Raspberry Pi Web Server
    Beperk toegang tot Raspberry Pi Web Server

    My Home Automation projecten mogelijk te maken controle via een web-server via internet. Terwijl de toegang tot internet is erg handig, het is een gevaar voor de veiligheid. Verminder dit risico door te eisen HTTPS, het creëren van een client-side ce

  • Raspberry Pi photo booth controller
    Raspberry Pi photo booth controller

    Foto cabines zijn leuk! Ze kunnen goofiness inspireren zowat iedereen. Voor mijn eerste project met de Raspberry Pi bouwde ik een foto booth voor een feestje. Dit was een groot project voor het leren te sleutelen aan de fotografie en elektronica op d

  • Raspberry Pi Web Server
    Raspberry Pi Web Server

    Hallo daar, Dit is mijn eerste Instructable zodat alle kritiek en opmerkingen zijn welkom. Dit zal u laten zien hoe het opzetten van een eenvoudig bekabeld webserver op uw Raspberry Pi, met PHP en MySQL. De Raspberry Pi is een goede keuze voor een we

  • Raspberry Pi - Web Server / Wireless Access Point (WAP)
    Raspberry Pi - Web Server / Wireless Access Point (WAP)

    Wat je nodig hebt Raspberry Pi model B + (of B) met Voeding ethernetkabel WiFi-adapter SD Card 4GB + met Raspbian Voorbereiding Deze tutorial volledig ervan uitgegaan dat u uw Pi al ingesteld en klaar om te gaan. Als het niet klaar / bereid u verder

  • Raspberry Pi Bluetooth LE controller voor WS2812B (NeoPixels)
    Raspberry Pi Bluetooth LE controller voor WS2812B (NeoPixels)

    Bluetooth Low Energy (aka BLE / Bluetooth 4.0 / Bluetooth Smart) is de meest recente incarnatie van de Bluetooth-technologie is ontwikkeld door de Bluetooth SIG (de organisatie die de specificatie onderhoudt). Dit communicatieprotocol is ontworpen vo

  • Het beveiligen van een Raspberry Pi Web Server
    Het beveiligen van een Raspberry Pi Web Server

    Teamleden: Snehpal Singh, Rohan Kapadia, Mandar Pednakar, Prathamesh Timse Ten eerste hebben we de hardware configuratie van de Raspberry Pi met behulp van de handleiding en door het uitvoeren van de boot, het maken van de gewenste veranderingen en h

  • PiTank - Een web gecontroleerde tank met kanon en live video-stream
    PiTank - Een web gecontroleerde tank met kanon en live video-stream

    De PiTank is een web-controller tank gebouwd voor een wedstrijd op mijn school de robotica club. Het project duurde ongeveer twee weken in beslag met alle 5 teamleden die deelnemen aan verschillende aspecten. De belangrijkste projectiel zijn pingpong

  • IFTTT + Raspberry Pi + Prota besturingssysteem voor domotica
    IFTTT + Raspberry Pi + Prota besturingssysteem voor domotica

    Wat is IFTTT? Kortom, IFTTT is een afstandsbediening voor het internet. De app laten we de gebruikers van automatisering regels op basis van als dit dan die logica te creëren. Bijvoorbeeld, als u een foto op Instagram plaatsen - IFTTT kunt de foto na

  • Arduino Web Enabled RGB Lighting
    Arduino Web Enabled RGB Lighting

    Ik heb toevallig net een aantal grote strips van LED-verlichting te zien toen ik het oppakken van enkele delen op Maplin die te koop waren (als ik het goed dat ze waren ongeveer £ 12 per ca. herinneren. 2m strip) maar de controller / chauffeur was no

  • Raspberry Pi Case Fan
    Raspberry Pi Case Fan

    Ik kocht een goedkope klik- acryl geval voor mijn Raspberry Pi van een verkoper op eBay. Over het algemeen was ik blij met de zaak, maar hoewel dit geval heeft gaten voor passieve luchtcirculatie merkte ik dat na uitvoering van de Pi in het geval dat

  • Raspberry Pi Controlled Aquaponics
    Raspberry Pi Controlled Aquaponics

    Aquaponics / ækwəpɒnɨks /, is een productie van levensmiddelen systeem dat conventionele aquacultuur combineert (het verhogen van waterdieren zoals slakken, vissen, kreeften of garnalen in tanks) met hydrocultuur (kweken van planten in water) in een

  • $ 59 Web Server met Amazon Class Performance & Security
    $ 59 Web Server met Amazon Class Performance & Security

    DRCURZON had een geweldig werk beschrijven hoe je een compleet Raspberry Pi Web Server te draaien op uw eigen netwerk op te bouwen. Dit brengt je veel verder dan dat voor een pi gehoste site met world-class prestaties voor een wereldwijd publiek. Dez

  • Raspberry Pi LAMP + NodeJS
    Raspberry Pi LAMP + NodeJS

    In deze korte les samen te vatten ik de trap vond hier en hier over hoe u lampp en NodeJS installeren in een Raspberry Pi Stap 1: Stap 1: Installeer LAMP Deze tutorial legt uit hoe je LAMP installeren van een op van verse NOOBS . http: //www.wikihow.

  • Raspberry Pi Bijenteelt Server
    Raspberry Pi Bijenteelt Server

    Bijenteelt (of de bijenteelt, uit het Latijn: apis "bee") is het onderhoud van honingbij kolonies, vaak in netelroos, door de mens. Een imker (of apiarist) houdt bijen om hun honing en andere producten die de bijenkorf produceert (met inbegrip v

  • REAL TIME WATERKWALITEIT TOEZICHT EN AANBOD SYSTEEM IN ivd MILIEU
    REAL TIME WATERKWALITEIT TOEZICHT EN AANBOD SYSTEEM IN ivd MILIEU

    Abstract-- In stedelijke gebieden de watertoevoer naar het verblijf en commerciële instellingen worden geleverd op een vaste stroomsnelheid. Er zijn incidenten van overtollig water tekening door bepaalde klanten / gebruikers door het aansluiten van d