Inhoudsopgave:

Garagedeuropener met behulp van een Raspberry Pi - Ajarnpa
Garagedeuropener met behulp van een Raspberry Pi - Ajarnpa

Video: Garagedeuropener met behulp van een Raspberry Pi - Ajarnpa

Video: Garagedeuropener met behulp van een Raspberry Pi - Ajarnpa
Video: Poort automatiseren – Installatie Chamberlain garagepoortopener 2024, November
Anonim
Garagedeuropener met een Raspberry Pi
Garagedeuropener met een Raspberry Pi

Bedien de garagemotor vanaf een smartphone of elk apparaat dat op een webpagina kan bladeren (met AJAX!). Het project is gestart omdat ik maar één afstandsbediening voor mijn garage had. Hoe leuk was het om een tweede te kopen? Niet genoeg. Mijn doel was om mijn garagedeur vanaf mijn smartphone met één pagina te kunnen bedienen en bewaken. Ik heb er geen fancy beveiliging omheen gezet omdat de RPi niet buiten mijn LAN wordt weergegeven. Daarbij vertrouw ik op VPN om toegang te krijgen tot de webpagina. Met een Android-smartphone is het heel eenvoudig om zowel een VPN in te stellen als een webpagina toe te voegen aan mijn startscherm. Het enige wat ik nodig had was de software ervoor.

Als je me wilt ondersteunen bij het schrijven van andere instructables, koop dan hardware van de door Amazon gesponsorde links.

Deze instructable is nu ook beschikbaar op mijn persoonlijke pagina:

Stap 1: wat achtergrond

Wat ik online heb gevonden

Als programmeur hergebruik ik graag tutorials of reeds "productieniveau" code. In dit geval was ik niet blij met wat ik vond:

  • Raspberry Pi garagedeuropener van quartarian. Waar ik begon, een eenvoudige knop om het relais te bedienen. Geen open/dicht-knoppen, geen feedback. Het was hoe dan ook erg nuttig om het concept rond speciale RPi te begrijpen om een motor vanaf een relais te besturen. De bekabeling die ik nu gebruik is nog steeds hetzelfde voor het commandogedeelte.
  • Raspberry Pi garagedeuropener met GaragePi van Chase Chou. Zelfde soort opstelling maar met een extra draadloze afstandsbediening. Ik was niet bereid mijn enige afstandsbediening te doden. Het bleek hoe dan ook dezelfde soort elektrische opstelling te gebruiken voor het commandogedeelte. Onderweg leerde ik over WebIOPi om mijn GPIO via een webpagina te controleren. Daar heb ik ook geleerd over het plaatsen van een snelkoppeling naar mijn Android-startscherm. Het begon ook het idee op te wekken om op diensten te vertrouwen, ik wil tenslotte dat het betrouwbaar is.
  • Uw garagedeur e-mailen, tweeten of sms'en: deel 1 Door Richard L. Lynch. Deze voegde het idee toe om een magnetische sensor te gebruiken om de deurstatus te regelen. Ik heb echter niet veel gebruikt omdat ik geen alarmsysteem aan het bouwen was, maar een commando-/monitorsysteem.
  • Volledig draadloze garagedeuropener / beveiligingscamera van DeckerEgo. Hierdoor ben ik me beter bewust geworden van webcamstreaming om de deur te bewaken. Daar moet ik nog wat moeite voor doen. Misschien moet ik een USB-hub recyclen of een andere webcam halen.
  • Raspberry Pi-besturing vanaf mobiel apparaat of desktop-webbrowser door Frédérick Blais. Dit is nu mijn basis voor de softwarestack. Het gebruikt Flask om samen met AJAX een heel eenvoudige webpagina te draaien. Dit is premium voor mij omdat het realtime monitoring- en commando-opties biedt. Lees hieronder.

Over mijn RPi

Omdat ik nog steeds aan het leren ben over de RPi en elektronische dingen in het algemeen, heb ik een aantal dingen gekocht voor mijn pas aangeschafte Raspberry Pi: een paar kabels, een T-schoenmaker, wat leds, een module met één relais, een acht-relais module, een lcd-scherm enzovoort. Ik ben op geen enkele manier een elektronica en dit bleek erg leerzaam. Om de extra hardware te kopen, zijn Amazon en Ebay je beste vrienden.

De huidige staat van het project omvat de volgende hardware:

  • Een Raspberry Pi (FR/DE) met Raspbian Wheezy 2014-09-09 met de laatste updates
  • Een 8GB (FR/DE) of 16GB (FR/DE) of 32GB (FR/DE) micro SD-kaart klasse 10 voor het besturingssysteem, bestanden enzovoort
  • Twee garage-reedschakelaars van zinklegering (FR/DE) om de open/dicht-status te detecteren
  • Een 3v relaismodule (FR/DE) om commando's naar de deurmotor te sturen (de mijne heeft een ingebouwde LED om de relaisstatus te bewaken, erg handig!)
  • Een soldeerloze breadboard (FR/DE) en 2 momentschakelaars (FR/DE) om de deur op mijn bureau te simuleren (of koop een starterskit (FR/DE))
  • Een wifi-dongle (FR/DE) om extra bekabeling te verwijderen wanneer deze aan het plafond van de garage hangt

Een beperking die ik nog heb is dat ik niet weet wanneer de deur halverwege is, stilstaat of nog beweegt. Dit is ook de reden waarom ik later een oude webcam wil toevoegen om vanuit de garage te streamen. Waarschijnlijk zal ik eigenlijk een sensor toevoegen om de motor zelf te controleren.

Stap 2: Softwarestack

Software-stack
Software-stack

Algemene dingen

De software is gebaseerd op Python, Flask en WiringPi GPIO Python-module. Zoals uitgelegd op de achtergrond, ben ik begonnen met de tutorial Raspberry Pi-besturing vanaf mobiel apparaat of desktopwebbrowser gepubliceerd door Frédérick Blais. De huidige software bestaat uit:

  • Een HTML-sjabloonbestand met een aantal jQuery Mobile-code en bedieningselementen
  • Een Python Pins-module om toegang te krijgen tot de GPIO van de Raspberry Pi
  • Een Python go-module om Flask uit te voeren en de AJAX-query's te ondersteunen

Wat aanwezig is in de repository is de onbewerkte software. Het is op geen enkele manier fancy of overweldigd door functies. Het is precies wat ik heb kunnen bereiken van wat ik heb geleerd.

Huidige interface

Momenteel wordt de status voor deuren elke 0,5 s gelezen. Er worden twee schakelaars gebruikt voor zowel de open/dicht-status. Een relais wordt gebruikt om de motor aan te sturen. De huidige code voert nog steeds een foutopsporing uit. Onderstaande screenshot is van een Nexus 5.

Stap 3: Hardware - Alfa

Hardware - Alfa
Hardware - Alfa
Hardware - Alfa
Hardware - Alfa

Proefbank

Mijn testbed is vrij eenvoudig, een RPi, een relais en twee schakelaars. Om de boel stevig vast te houden, zijn een paar kabelbinders (FR/DE) alles wat je nodig hebt. Hier is een foto ervan. De RJ45 LAN-kabel (FR/DE) is voor desktop-debug en WIFI-dongle voor gebruik in de garage.

Live systeem

RPi is voorlopig alleen op de deurmotor aangesloten, schakelaars volgen. Ik moet nog even wachten op mijn krimpkous (FR/DE). Ik zou ook wat stabieler moeten zijn. Sorry voor de onscherpte.

De blauwe, gele en groene kabels aan de linkerkant zijn voor de magnetische schakelaars.

  • Blauw is de GND
  • Geel en groen zijn pinnen 18 (open toestand) en 27 (gesloten toestand).

Stap 4: Hardware - bèta

Hardware - bèta
Hardware - bèta
Hardware - bèta
Hardware - bèta
Hardware - bèta
Hardware - bèta

Proefbank

Dit is nu een direct karton met kabelbinders. Het LCD-scherm en het relais zijn ook gebundeld. Het LCD-scherm is 20x4 (20 tekens voor rijen, 4 regels) (FR/DE) over I²C.

De eerste 2 regels geven welkom en datum/tijd weer. De laatste 2 regels wisselen tussen pinstatussen en netwerkstatus (eth0/wan0 IP's). De deurstatuslijn is een mooie GFX om te zeggen:

  • | | is geopend
  • |-| is in bedrijf
  • |.| is gesloten

Fritsende schema's

Frits schema met 20x4 I2C LCD, open/dicht schakelaars en relais. De enige toevoeging is het I2C LCD-scherm. Ik gaf er de voorkeur aan boven de 18x2 die ik had.

Live systeem

De beta HW is nu "productieniveau" omdat hij mooi in een oude schroevendoos past. Ik heb één scheidingsteken behouden om relais- en andere kabels te hosten, terwijl RPi op een lager niveau staat. Mogelijk ziet u de Synology NAS (FR/DE) aan de rechterkant, deze wordt gebruikt om de RPi rechtstreeks van stroom te voorzien. 's Nachts met modem, switch en NAS.

Weergave van de schroevendoos van dichtbij, het LCD-scherm toont de status van de deur en de pin-out voor openen/sluiten/relais.

'S Nachts, innerlijk uitzicht vanaf de top.

Stap 5: Broncode en bronnen

Je kunt alle bronnen vinden in deze GitHub-repository:

github.com/amayii0/GarageOpenerR1

Aanbevolen: