Inhoudsopgave:

Wifi naar RF - Deurslot - Ajarnpa
Wifi naar RF - Deurslot - Ajarnpa

Video: Wifi naar RF - Deurslot - Ajarnpa

Video: Wifi naar RF - Deurslot - Ajarnpa
Video: wifi пульт для IR и RF кодов Broadlink RM4C Pro, работа в Home Assistant - управляем кондиционером 2024, November
Anonim
Wifi naar RF - Deurslot
Wifi naar RF - Deurslot
Wifi naar RF - Deurslot
Wifi naar RF - Deurslot
Wifi naar RF - Deurslot
Wifi naar RF - Deurslot

Overzicht

Deze instructable geeft je de mogelijkheid om je voordeur te vergrendelen / ontgrendelen via je domotica-software (zoals OpenHAB - gratis domotica-software die ik persoonlijk gebruik) De bovenstaande afbeelding toont een voorbeeldscreenshot van de OpenHAB iPhone-app. Als alternatief kunt u de MQTT-berichten gebruiken zoals hieronder beschreven in bijna elk gewenst systeem.

Veronderstellingen

Dit instructable gaat ervan uit dat je al hebt (of zal instellen):

  • OpenHAB (gratis open source domotica-software) draait, hoewel zoals gezegd, het zou moeten werken met alle domotica-software die een MQTT-binding kan bevatten. Als alternatief kunt u de code zelf aanpassen aan uw eigen behoeften.
  • Mosquitto MQTT-binding geïnstalleerd en geconfigureerd met OpenHAB (MQTT is een protocol voor het abonneren/publiceren van berichten dat lichtgewicht is en ideaal voor communicatie tussen apparaten)
  • Dat je al een op RF gebaseerd toetsenbordslot voor de voordeur hebt gemonteerd dat wordt geleverd met ten minste één afstandsbediening met afstandsbediening (de meeste doen dat). Deze kunnen relatief goedkoop worden gekocht op Amazon (ongeveer ~ US $ 60, hoewel de batterijen op dit model slechts ~ 4 meegaan) maanden dus kijk of je DC kunt leveren die het slot van stroom voorziet of wat meer uitgeeft aan een fatsoenlijk model:-))

Als u geen OpenHAB en een MQTT-makelaar gebruikt, raadpleegt u dit uitstekende artikel op de MakeUseOf-website

Invoering

Dit project laat je specifiek zien hoe je een op RF gebaseerd deurslot KEY FOB kunt gebruiken om aanzienlijk nuttiger te zijn door het om te zetten om draadloos te werken, waardoor je de mogelijkheid hebt om je deur te vergrendelen of ontgrendelen via je domoticasysteem, een webbrowser, je telefoon (via de OpenHAB-app) of zelfs plannen om 's nachts automatisch te vergrendelen met behulp van regels in de domotica-software. Voor dit project kocht ik een "Mi RF-gebaseerd voordeurslot" van Amazon voor ongeveer US $ 60 *

(* EDIT: de batterijen van dit specifieke merk deurslot gaan niet zo lang mee! Ik heb het maar 3-4 maanden gebruikt voordat ik de batterijen moest vervangen, wat nogal frustrerend werd. Sindsdien heb ik dat apparaat verwisseld voor een elektronisch deurslot van het merk Windsor waarvan de batterijen tot 2 jaar meegaan. U kunt ook, zij het veel meer werk, overwegen om gelijkstroom door de kern van uw deur naar het slot te laten lopen)

Daarvoor leveren ze een RF (radiofrequentie) bediend deurslot met ingebouwd toetsenbord en een sleutelhanger voor het op afstand vergrendelen/ontgrendelen. Bij RF moet de sleutelhanger echter binnen het bereik van het deurslot zijn. Dit project maakt gebruik van de sleutelhanger door deze te integreren met een Wemos (IOT-bord met ESP8266-chip) om de vergrendeling / ontgrendeling draadloos uit te voeren, dus bestuurbaar vanaf elke plek waar u een internetverbinding heeft.

Wat heb ik nodig?

Koop en installeer eerst de op RF gebaseerde toetsenbordvergrendeling. U moet ervoor zorgen dat het wordt geleverd met een sleutelhanger! Test de afstandsbediening en zorg ervoor dat door op de knoppen te drukken de deur wordt vergrendeld of ontgrendeld voordat u begint. De meeste van deze deursloten moeten gebaseerd zijn op standaard deurafmetingen en slotoffsets, dus als je al een nachtschoot hebt (zoals ik deed), is het buitengewoon eenvoudig om deze te vervangen.

Om de draadloze controller te maken, heb je de volgende onderdelen nodig:

  • Wemos D1 mini V2 (heeft een ingebouwde ESP8266 draadloze CHIP) of gewoon een ESP8266 CHIP zou moeten doen (ik raad de ESP-01-versie niet aan voor dit project, omdat de GPIO 0-pin hoog moet worden gehouden bij het opstarten om om op te starten vanaf flits, maar als u dit doet, wordt het deurslot geactiveerd wanneer de ESP8266 wordt ingeschakeld, waardoor mogelijk uw voordeur wordt ontgrendeld!Hoewel er oplossingen zijn die we hiervoor kunnen doen, zoals het gebruik van timers of transistors enz. van een Wemos en minder componenten, streven we naar de eenvoudigere aanpak)
  • Een 5V DC-voedingsbron om de Wemos en de Keyfob van stroom te voorzien (batterijen zijn niet langer nodig) Als u de Wemos voedt met de 5V VCC-pin (in plaats van de USB-poort) en de DC-voedingsbron hoger is dan 5V, zult u heb ook een 5V-spanningsregelaar nodig (zoals een LM7805) plus 2 x condensatoren, 10V 0.33uF en een 10V 0.1uF of vergelijkbaar in grootte (volgens het LM7805-gegevensblad)
  • Twee 2N7000 of vergelijkbare MOSFET's (deze worden gebruikt om de keyfob te schakelen, één voor vergrendeling, de andere voor ontgrendeling. De 2N7000 is een veel voorkomende en zeer goedkope verbeteringstype N-Channel MOSFET, dus zou heel gemakkelijk te vinden moeten zijn)

  • Twee weerstanden van 10K ohm (deze worden gebruikt als pull-down-weerstanden voor elk van de MOSFET's, zodat de deurvergrendeling / ontgrendeling niet wordt geactiveerd bij het opstarten!)
  • Afhankelijk van uw handzender, moet u mogelijk ook een andere condensator aansluiten (zoals een 10V 220uF of vergelijkbaar formaat) om de stroomvoorziening naar de handzender te vergroten. Zie redenen waarom verderop in dit artikel.
  • Benodigd gereedschap: zijkniptang, eenaderige draad, een soldeerbout, vloeimiddel en optioneel een multimeter

De sleutelhanger zelf gebruikt meestal 2 x 3V-batterijen in serie (6V Vcc). Daarom is het gebruik van een 5V-voeding met een condensator echter voldoende spanning om zowel de Wemos van stroom te voorzien als de vergrendeling / ontgrendeling te activeren.

Als je een keyfob hebt die werkt op een enkele 3V-batterij, dan zou je een 3,3V-spanningsregelaar in je circuit moeten kunnen toevoegen om de spanning dicht bij de vereiste 3V te brengen. Een 3V-batterij levert eigenlijk ongeveer 3,1V, en de meeste circuits hebben een soort hogere spanningstolerantie, dus in dit geval is 3,1V tot 3,3V +6%. Combineer dat met het feit dat de Wemos stroom trekt, zodat de spanning waarschijnlijk nog lager zal zijn. Meet bij twijfel met een multimeter en controleer indien mogelijk bij de slotverkoper wat de maximale spanning (of maximale tolerantie) is die de keyfob zal accepteren, aangezien ik geen verantwoordelijkheid neem als uw keyfob niet meer werkt! Ten slotte, stel als alternatieve oplossing in plaats daarvan een spanningsdelercircuit in.

Stap 1: Montage

samenkomst
samenkomst
samenkomst
samenkomst
samenkomst
samenkomst

Solderen

Het monteren van de componenten is heel eenvoudig. Scheur eerst de sleutelhanger open - verwijder de batterijen en de behuizing, want je hebt alleen de printplaat aan de binnenkant nodig. Soldeer vervolgens een draad aan elke kant van de pootjes van de sleutelhangerknop. Doe dit voor zowel de "lock"-knop als de "unlock"-knop. Draai vervolgens de fob om en soldeer een draad op de + en - pads aan de achterkant van de fob, zoals weergegeven in de afbeeldingen. De grotere pad is +, de kleinere is -

Opmerking: de 5V-voeding voedt zowel de Wemos als de sleutelhanger, dus de batterijen van de fob zijn niet langer nodig.

samenkomst

Geef 5V Vcc en GND aan de Wemos en voeg de MOSFET's en weerstanden toe aan het breadboard volgens de afbeelding. De weerstanden van 10K ohm moeten van GND naar de poort (middelste pin) van de MOSFET's lopen. Hierdoor wordt de spanning naar aarde getrokken en wordt voorkomen dat de MOSFET's worden geactiveerd bij het opstarten.

Leid vervolgens een draad van D1 op de Wemos naar de poort van de eerste MOSFET en D2 op de Wemos naar de poort van de tweede MOSFET. D1 en D2 zijn GPIO-pinnen (general purpose input/output) die in de code worden aangeduid als OUTPUT-pinnen.

Sluit ten slotte de draden van de keyfob aan op het breadboard, Vcc naar 5V-rail, GND naar GND, dan de draad aan de negatieve kant van de knop naar de bronzijde van elke MOSFET en de positieve kant van de knop naar de afvoerzijde van elke MOSFET zoals weergegeven in de afbeelding (gebruik een multimeter als u niet zeker bent van de polariteit)

(EDIT: het vervangende Windsor-deurslot dat ik eerder noemde, heeft een keyfob die iets meer spanning verbruikte dan de oude keyfob. Dit zorgde ervoor dat de Wemos niet meer reageerde vanwege de spanningsdaling, wanneer de deur werd vergrendeld/ontgrendeld. Als u hetzelfde probleem ervaart, om vervolgens de draad in een 220uF (of vergelijkbare) condensator te verhelpen net voor de +/- bedrading die naar de keyfob gaat. De condensator zal opladen en bij activering de condensator leegmaken in plaats van directe gelijkstroom)

Steek nu de USB-kabel in de Wemos en het andere uiteinde van de kabel in uw computer.

(De code voert pin D1 "HIGH" uit, waardoor de MOSFET wordt ingeschakeld, waardoor de spanning van de afvoer naar de bron kan gaan en daarom de knop 1 seconde "inschakelt" voordat de uitgangspen "LAAG" weer wordt gezet en wordt uitgeschakeld In feite simuleert het eenvoudig een toetsdruk op de knop via code)

Arduino IDE

Start de Arduino IDE. Download en open de code (alternatieve link HIER) Zorg ervoor dat de extra boards in de IDE zijn opgenomen, zie hier hoe u deze instelt. U moet er dan voor zorgen dat het juiste bord is geïnstalleerd en geladen voor uw project (Tools, Boards, Board Manager - zoek "esp8266" en installeer) evenals de juiste geselecteerde COM-poort (Tools, Port, COM …). U moet ook de juiste bibliotheken PubSubClient en ESP8266Wifi geïnstalleerd hebben (Sketch, Manage Libraries, Include Library…)

Wijzig vervolgens de volgende coderegels en vervang deze door uw eigen SSID en wachtwoord voor uw draadloze verbinding. Wijzig ook het IP-adres zodat het naar uw eigen MQTT-makelaar verwijst. Als je geen MQTT-broker hebt geïnstalleerd, raad ik aan om Mosquitto te gebruiken. Download hier voor Windows of Linux.

// Wificonst char* ssid = "your_wifi_ssid_here";const char* password = "your_wifi_password_here";// MQTT Broker IP-adres MQTT_SERVER(192, 168, 222, 254);

Eenmaal gewijzigd, verifieert u uw code en uploadt u deze vervolgens naar het Wemos / ESP8266-bord via een USB-kabel.

Stap 2: Testen en OpenHAB-configuratie

Testen en OpenHAB-configuratie
Testen en OpenHAB-configuratie
Testen en OpenHAB-configuratie
Testen en OpenHAB-configuratie
Testen en OpenHAB-configuratie
Testen en OpenHAB-configuratie

MQTT-testen

MQTT is een "subscribe / publish" berichtensysteem. Een of meer apparaten kunnen praten met een "MQTT-makelaar" en "abonneren" op een bepaald onderwerp. Alle inkomende berichten van een ander apparaat die zijn "gepubliceerd" naar datzelfde onderwerp, worden door de broker naar elk ander apparaat gepusht dat zich op dat onderwerp heeft geabonneerd. Het is een extreem lichtgewicht en eenvoudig te gebruiken protocol en perfect als een eenvoudig triggersysteem zoals hier. Zie het stroomschema voor een globaal idee van hoe het werkt.

Voor testen kunt u inkomende MQTT-berichten van de Wemos naar uw MQTT-broker bekijken door de volgende opdracht op uw Mosquitto-server uit te voeren (Mosquitto is een van de vele beschikbare MQTT Broker-software). Met deze opdracht wordt geabonneerd op inkomende keepalive-berichten:

mosquitto_sub -v -t openhab/frontdoor/status

U zou ongeveer elke 30 seconden inkomende berichten van de Wemos moeten zien binnenkomen met het cijfer "1" (wat betekent "Ik leef"). Als u constante "0's" (of geen reactie) ziet, is er geen communicatie. Zodra je de nummer 1 ziet binnenkomen, betekent dit dat de Wemos communiceert met de MQTT-makelaar (zoek op "MQTT Last Will and Testament" voor meer informatie over hoe dit werkt, of bekijk dit echt goede blogbericht)

Zodra u hebt bewezen dat de communicatie functioneel is, kunt u nu het daadwerkelijke "trigger"-bericht (vergrendelen/ontgrendelen) volgen. Abonneer u eerst op het volgende onderwerp.

mosquitto_sub -v -t openhab/frontdoor/trigger

Open nu een tweede opdrachtregelvenster en voer de volgende publicatieopdracht uit, waarbij u het onderwerp een bericht van "LOCK" of "UNLOCK" stuurt. U zou het overeenkomstige bericht in het eerste venster moeten zien verschijnen en u zou ook het rode LED-lampje op de keyfob moeten zien knipperen en het deurmechanisme moet naar wens worden vergrendeld of ontgrendeld.

mosquitto_pub -t openhab/frontdoor/trigger -m LOCK

(-t betekent 'onderwerp', -m betekent 'bericht', -v betekent 'uitgebreide' uitvoer)

Opmerking: als de deur wordt ontgrendeld wanneer u een slot verzendt of sloten wanneer u een ontgrendelingscommando verzendt, wijzigt u eenvoudig de D1- en D2-draden

OpenHAB-configuratie

De volgende wijzigingen zijn vereist voor OpenHAB:

'items'-bestand:

Switch frontdoorTrigger "Front Door" (gDoors) { mqtt=">[mqttbroker:openhab/frontdoor/trigger:command:ON:LOCK], >[mqttbroker:openhab/frontdoor/trigger:command:OFF:UNLOCK]" }Nummer frontdoorStatus "Front Door [MAP(status.map):%d]" (gDoors) { mqtt="<[mqttbroker:openhab/frontdoor/status:state:default]" }

'sitemap'-bestand:

Switch item=frontdoorTrigger mappings=[ON="Lock", OFF="Unlock"]Text item=frontdoorStatus

'status.map'-bestand (in transformatiemap):

0=Omlaag1=Alive-=onbekend

Mogelijk moet u de bovenstaande OpenHAB-configuratie enigszins wijzigen om aan uw eigen instellingen te voldoen, zoals het gedeelte "mqttbroker:" dat verwijst naar uw geconfigureerde MQTT-makelaarsnaam.

De uiteindelijke afbeelding toont de componenten op een PCB. In dit geval, omdat ik een DC-voeding gebruik die> 5V is (in mijn geval 9V), bevat het bord ook een LM7805-spanningsregelaar, evenals een 0,33uF-condensator voor de voeding aan de zijkant en een 0,1uF-condensator aan de voeding-uitzijde om de spanning glad te strijken en te stabiliseren. Verder zijn de overige aansluitingen hetzelfde als eerder beschreven.

Probleemoplossen

- Als u problemen heeft waarbij de Wemos de deur continu vergrendelt of ontgrendelt (bijv.: stuurt een RF-signaal en het LED-lampje van de sleutelhanger blijft aan), controleer dan uw VCC- en GND-draden naar de Wemos. De kans is groot dat een of beide niet goed zijn aangesloten.

Stap 3: Soldeer de componenten op een PCB

Soldeer de componenten op een PCB
Soldeer de componenten op een PCB
Soldeer de componenten op een PCB
Soldeer de componenten op een PCB

Uiteindelijk heb ik alle componenten op een PCB gesoldeerd, met alleen draden en/of soldeersporen om alle componenten met elkaar te verbinden. Ik kreeg toen een oude DC-muurwrat en knipte de draad er iets korter uit, en voerde die vervolgens naar een connectorblok dat ik op de PCB had gesoldeerd. Stroom in gaat dan uit naar de 5V spanningsregelaar/condensatoren en benodigde componenten. Ik plakte eenvoudig de achterkant van de printplaat op de muurwrat en stopte hem in een stopcontact in een van mijn kasten. Het draait nu ongeveer 9 maanden zonder problemen!

Aanbevolen: