İçindekiler:

Wifi - RF - Kapı Kilidi: 3 Adım (Resimlerle)
Wifi - RF - Kapı Kilidi: 3 Adım (Resimlerle)

Video: Wifi - RF - Kapı Kilidi: 3 Adım (Resimlerle)

Video: Wifi - RF - Kapı Kilidi: 3 Adım (Resimlerle)
Video: Şifre ve Kart Tanımlama Nasıl Yapılır? 2024, Kasım
Anonim
Wifi - RF - Kapı Kilidi
Wifi - RF - Kapı Kilidi
Wifi - RF - Kapı Kilidi
Wifi - RF - Kapı Kilidi
Wifi - RF - Kapı Kilidi
Wifi - RF - Kapı Kilidi

genel bakış

Bu talimat size, ev otomasyon yazılımınız (kişisel olarak kullandığım OpenHAB - ücretsiz ev otomasyon yazılımı gibi) aracılığıyla ön kapınızı kilitleme / kilidini açma yeteneği verecektir. Yukarıdaki resim, OpenHAB iPhone uygulamasının örnek bir ekran görüntüsünü göstermektedir. Alternatif olarak, MQTT mesajlaşmasını hemen hemen istediğiniz herhangi bir sistemde aşağıda açıklandığı gibi kullanabilirsiniz.

varsayımlar

Bu talimat, zaten sahip olduğunuzu (veya kuracağınızı) varsayar:

  • OpenHAB (ücretsiz açık kaynaklı ev otomasyon yazılımı) çalışıyor, ancak belirtildiği gibi, bir MQTT bağlaması içerebilen herhangi bir ev otomasyon yazılımı ile çalışmalıdır. Alternatif olarak, kendi ihtiyaçlarınıza göre kodu kendiniz değiştirebilirsiniz.
  • OpenHAB ile kurulan ve yapılandırılan Mosquitto MQTT bağlaması (MQTT, cihazlar arasında iletişim için hafif ve harika olan bir mesajlaşma abone olma/yayınlama tipi protokoldür)
  • En az bir uzaktan kumandayla birlikte gelen RF tabanlı bir ön kapı tuş takımı kilidi takmış olmanız (çoğunluk bunu yapar) Bunlar Amazon'da nispeten ucuza satın alınabilir (bu modeldeki piller yalnızca ~4 dayansa da yaklaşık ~60 ABD Doları) aylar, kilide güç veren DC sağlayıp sağlayamayacağınıza veya iyi bir modele biraz daha fazla harcayıp harcayamayacağınıza bakın:-))

OpenHAB ve bir MQTT aracısı çalıştırmıyorsanız, MakeUseOf web sitesindeki bu mükemmel makaleye bakın

Tanıtım

Bu proje, kablosuz olarak çalışmaya dönüştürerek önemli ölçüde daha kullanışlı olması için RF tabanlı bir kapı kilidinin nasıl kullanılacağını özellikle gösterir, böylece ev otomasyon sisteminiz, bir web tarayıcınız, telefonunuz aracılığıyla kapınızı kilitleyebilir veya kilidini açabilirsiniz (OpenHAB uygulaması aracılığıyla) veya hatta ev otomasyon yazılımındaki kuralları kullanarak geceleri otomatik olarak kilitlenecek şekilde programlayın. Bu proje için Amazon'dan yaklaşık 60 ABD Doları karşılığında bir "Mi RF tabanlı tuş takımı ön kapı kilidi" satın aldım *

(* EDIT: bu özel marka kapı kilidindeki piller o kadar uzun süre dayanmıyor! Pilleri değiştirmeden önce sadece 3-4 ay kullanabildim, bu da oldukça sinir bozucu oldu. O zamandan beri o üniteyi değiştirdim. Pilleri 2 yıla kadar dayanan Windsor marka bir elektronik kapı kilidi için. Alternatif olarak, çok daha fazla iş de olsa, kapınızın çekirdeğinden kilide DC gücü çalıştırmayı düşünün)

Bunun için dahili tuş takımına sahip RF (radyo frekansı) ile çalışan bir kapı kilidi ve uzaktan kilitleme/kilit açma için bir anahtarlık sağlarlar. Ancak RF ile anahtarlığın kapı kilidinin menzilinde olması gerekir. Bu proje, kilitleme / kilit açma işlemlerini kablosuz olarak yapmak için bir Wemos (ESP8266 çipli IOT kartı) ile entegre ederek anahtarlığı kullanacak, bu nedenle İnternet bağlantınız olan her yerden kontrol edilebilir.

Neye ihtiyacım var?

İlk olarak, RF tabanlı tuş takımı kilidini satın alın ve kurun. Bir anahtarlık ile geldiğinden emin olmalısınız! Anahtarlığı test edin ve düğmelere basarak çalıştırmadan önce kapıyı kilitlediğinden veya kilidini açacağından emin olun. Bu kapı kilitlerinin çoğu, standart kapı boyutlarına ve kilit ofsetlerine dayanmalıdır, bu nedenle zaten bir sürgü varsa (benim yaptığım gibi) değiştirmek son derece kolaydır.

Kablosuz denetleyiciyi oluşturmak için aşağıdaki parçaları sağlamanız gerekir:

  • Wemos D1 mini V2 (yerleşik bir ESP8266 kablosuz CHIP'e sahiptir) veya sadece bir ESP8266 CHIP'in yapması gerekir (Bu proje için ESP-01 sürümünü önermiyorum, çünkü GPIO 0 pininin güç açıkken yüksek tutulması gerekiyor. ancak bunu yapmak, ESP8266 ön kapınızın kilidini açma potansiyeline sahip olduğunda kapı kilidinin tetiklenmesine neden olur!Bunun için zamanlayıcılar veya transistörler vb. kullanmak gibi düşük maliyetle yapabileceğimiz geçici çözümler olsa da Wemos ve daha az bileşenden daha basit yaklaşımı hedefleyeceğiz)
  • Wemos'a ve Anahtarlığa güç sağlamak için bir 5V DC güç kaynağı (artık piller gerekli olmayacaktır) Wemos'a 5V VCC pini (USB bağlantı noktası yerine) kullanarak güç veriyorsanız ve DC güç kaynağı 5V'tan yüksekse, ayrıca 5V voltaj regülatörü (LM7805 gibi) artı 2 x kapasitör, 10V 0.33uF ve 10V 0.1uF veya benzeri boyutta (LM7805 veri sayfasına göre) gerekir
  • İki adet 2N7000 veya benzeri MOSFET (bunlar anahtarlığı değiştirmek için kullanılacak, biri kilitleme, diğeri kilit açma için kullanılacaktır. 2N7000 çok yaygın ve çok ucuz bir geliştirme türü N-Channel MOSFET'tir, bu nedenle kaynağı çok kolay olmalıdır)

  • İki adet 10K ohm direnç (bunlar, MOSFET'lerin her biri için aşağı çekme dirençleri olarak kullanılacaktır, böylece güç verildiğinde kapı kilitleme/açma işlemi tetiklenmez!)
  • Anahtarlığınıza bağlı olarak, anahtarlığa giden gücü artırmaya yardımcı olmak için başka bir kapasitör (10V 220 uF veya benzeri bir boyut) da bağlamanız gerekebilir. Bu makalenin ilerleyen kısımlarında nedenlerine bakın.
  • Gerekli aletler: yan kesiciler, tek damarlı tel, bir havya, akı ve isteğe bağlı olarak bir multimetre

Anahtarlığın kendisi tipik olarak seri olarak 2 x 3V pil kullanır (6V Vcc) Bu nedenle, kapasitörlü 5V'luk bir besleme kullanmak, hem Wemos'a güç vermek hem de kilitleme/kilit açmayı tetiklemek için yeterli voltajdır.

Tek bir 3V pille çalışan bir anahtarlığınız varsa, gereken 3V'a yakın voltajı düşürmek için devrenize 3,3V voltaj regülatörü ekleyebilmelisiniz. 3V'luk bir pil aslında yaklaşık 3,1V çıkış verir ve çoğu devre bir tür daha yüksek voltaj toleransına sahiptir, bu nedenle bu örnekte 3,1V ila 3,3V +%6'dır. Bunu Wemos'un akım çektiği gerçeğiyle birleştirin, bu nedenle voltajın daha da düşük olması muhtemeldir. Şüpheniz varsa bir multimetre ile ölçün ve mümkünse, anahtarlığın kabul edeceği maksimum voltajı (veya maksimum toleransı) kilit satıcısına danışın, çünkü anahtarlığınızın çalışmaması durumunda hiçbir sorumluluk kabul etmem! Son olarak, alternatif bir çözüm olarak bunun yerine bir voltaj bölücü devre kurun.

Adım 1: Montaj

toplantı
toplantı
toplantı
toplantı
toplantı
toplantı

Lehimleme

Bileşenlerin montajı çok basittir. İlk önce, anahtarı açın - pilleri ve kutuyu çıkarın, çünkü yalnızca devre kartına ihtiyacınız var. Ardından, anahtarlık düğmesinin bacaklarının her iki tarafına bir tel lehimleyin. Bunu hem "kilit" düğmesi hem de "kilit aç" düğmesi için yapın. Ardından, fob'u ters çevirin ve fobun arkasındaki + ve - pedlerine resimlerde gösterildiği gibi bir tel lehimleyin. Daha büyük ped +, daha küçük -

Not: 5V güç kaynağı hem Wemos'a hem de Anahtarlığa güç sağlar, bu nedenle artık anahtarlık pillerine gerek yoktur.

toplantı

Wemos'a 5V Vcc ve GND sağlayın ve görüntüye göre MOSFET'leri ve dirençleri breadboard'a ekleyin. 10K ohm dirençler, GND'den MOSFET'lerin kapısına (merkez pimi) kadar çalışmalıdır. Bu, güç verildiğinde tetiklenen MOSFET'leri durdurarak voltajı toprağa çekecektir.

Daha sonra Wemos'taki D1'den birinci MOSFET'in kapısına ve Wemos'taki D2'den ikinci MOSFET'in kapısına bir kablo çekin. D1 ve D2, kodda OUTPUT pinleri olarak gösterilen GPIO (genel amaçlı giriş/çıkış) pinleridir.

Son olarak, anahtarlık kablolarını devre tahtasına, Vcc ila 5V rayına, GND'den GND'ye, ardından düğmenin negatif tarafındaki kabloyu her MOSFET'in kaynak tarafına ve düğmenin pozitif tarafını her MOSFET'in boşaltma tarafına takın. resimde gösterildiği gibi (polariteden emin değilseniz bir multimetre kullanın)

(EDIT: Daha önce bahsettiğim yedek Windsor kapı kilidi, eski anahtarlıktan biraz daha fazla voltaj tüketen bir anahtarlığa sahip. Bu, Wemos'un kapı kilitlendiğinde/açıldığında, voltaj düşüşü nedeniyle etkin bir şekilde yanıt vermemesine neden oldu. aynı sorunu yaşarsanız, daha sonra anahtarlığa giden +/- kablolamadan hemen önce 220 uF (veya benzeri) bir kapasitördeki kabloyu düzeltmek için. Kondansatör şarj olur ve tetiklendiğinde, doğrudan DC gücü yerine kapasitörü boşaltın)

Şimdi USB kablosunu Wemos'a ve kablonun diğer ucunu bilgisayarınıza takın.

(Kod pin D1 "YÜKSEK" çıkışını yapacak, MOSFET'in açılmasını tetikleyerek voltajın drenajdan kaynağa gitmesine izin verecek ve bu nedenle, çıkış pinini tekrar "DÜŞÜK" getirmeden ve kapatmadan önce düğmeyi 1 saniye "açarak" Gerçekte, bu sadece kod aracılığıyla düğmeye bir tuşa basılmasını simüle etmektir)

Arduino IDE'si

Arduino IDE'yi başlatın. Kodu indirin ve açın (alternatif bağlantı BURADA) Ek kartların IDE'ye dahil edildiğinden emin olun, nasıl kurulacağı hakkında buraya bakın. Ardından projeniz için doğru kartın kurulduğundan ve yüklendiğinden (Araçlar, Panolar, Pano Yöneticisi - "esp8266"yı arayın ve kurun) ve seçilen doğru COM bağlantı noktasının (Araçlar, Bağlantı Noktası, COM …) olduğundan emin olmanız gerekir. Ayrıca PubSubClient ve ESP8266Wifi yüklü uygun kitaplıklara da ihtiyacınız olacak (Çizim, Kitaplıkları Yönet, Kitaplığı Dahil Et…)

Ardından, aşağıdaki kod satırlarını değiştirin ve kablosuz bağlantınız için kendi SSID'niz ve şifrenizle değiştirin. Ayrıca, IP adresini kendi MQTT aracınıza işaret edecek şekilde değiştirin. Yüklü bir MQTT aracınız yoksa, Mosquitto kullanmanızı öneririm. Windows veya Linux için buradan indirin.

// Wificonst char* ssid = "your_wifi_ssid_here";const char* password = "your_wifi_password_bura";// MQTT Aracısı IPAdresi MQTT_SERVER(192, 168, 222, 254);

Değiştirdikten sonra kodunuzu doğrulayın ve ardından bir USB kablosuyla Wemos / ESP8266 kartına yükleyin.

Adım 2: Test Etme ve OpenHAB Yapılandırması

Test ve OpenHAB Yapılandırması
Test ve OpenHAB Yapılandırması
Test ve OpenHAB Yapılandırması
Test ve OpenHAB Yapılandırması
Test ve OpenHAB Yapılandırması
Test ve OpenHAB Yapılandırması

MQTT Testi

MQTT bir "abone ol / yayınla" mesajlaşma sistemidir. Bir veya daha fazla cihaz, bir "MQTT aracısı" ile konuşabilir ve belirli bir konuya "abone olabilir". Aynı konuda "yayınlanan" herhangi bir başka aygıttan gelen iletiler, aracı tarafından o konuya abone olan başka bir aygıta gönderilir. Son derece hafif ve kullanımı basit bir protokoldür ve buradaki gibi basit bir tetikleme sistemi olarak mükemmeldir. Nasıl çalıştığına dair kaba bir fikir için akış şemasına bakın.

Test için, Mosquitto sunucunuzda aşağıdaki komutu çalıştırarak Wemos'tan MQTT aracınıza gelen MQTT mesajlarını görüntüleyebilirsiniz (Mosquitto, mevcut birçok MQTT Broker yazılımından biridir). Bu komut, gelen canlı tutma mesajlarına abone olur:

mosquitto_sub -v -t openhab/frontdoor/status

Wemos'tan her 30 saniyede bir "1" sayısıyla gelen mesajları görmelisiniz ("yaşıyorum" anlamına gelir) Sabit "0'lar" (veya yanıt yok) görüyorsanız, iletişim yok demektir. 1 numaranın geldiğini gördüğünüzde, Wemos'un MQTT komisyoncusu ile iletişim kurduğu anlamına gelir (bunun nasıl çalıştığı hakkında daha fazla bilgi için "MQTT Last Will and Testament"ı arayın veya bu gerçekten iyi blog girişine bakın)

İletişimin işlevsel olduğunu kanıtladıktan sonra, artık gerçek "tetikleme" (kilitleme/kilit açma) mesajını izleyebilirsiniz. İlk önce aşağıdaki konuya abone olun.

mosquitto_sub -v -t openhab/frontdoor/tetik

Şimdi ikinci bir komut satırı penceresi açın ve konuya "LOCK" veya "UNLOCK" mesajını göndererek aşağıdaki yayınlama komutunu çalıştırın. İlk pencerede ilgili mesajın göründüğünü ve ayrıca anahtarlıkta kırmızı LED ışığının yanıp söndüğünü ve gerektiğinde kapı mekanizmasının kilitlendiğini veya kilidinin açıldığını görmelisiniz.

mosquitto_pub -t openhab/frontdoor/tetik -m LOCK

(-t 'konu', -m 'mesaj', -v 'ayrıntılı' çıktı anlamına gelir)

Not: Kilit gönderdiğinizde kapı kilidi açılıyorsa veya kilit açma komutu gönderdiğinizde kilitlerse, sadece D1 ve D2 kablolarını değiştirin.

OpenHAB yapılandırması

OpenHAB için aşağıdaki değişiklikler gereklidir:

'öğeler' dosyası:

FrontdoorTrigger'ı değiştir "Front Door" (gDoors) { mqtt=">[mqttbroker:openhab/frontdoor/trigger:command:ON:LOCK], >[mqttbroker:openhab/frontdoor/trigger:command:OFF:UNLOCK]" }ön kapı sayısıStatus "Ön Kapı [MAP(status.map):%d]" (gDoors) { mqtt="<[mqttbroker:openhab/frontdoor/status:state:default]" }

'site haritası' dosyası:

Öğeyi değiştir=frontdoorTrigger eşlemeleri=[ON="Kilitle", OFF="Kilidi Aç"]Metin öğesi=önkapıStatus

'status.map' dosyası (dönüşüm klasöründe):

0=Aşağı1=Canlı-=bilinmiyor

Yukarıdaki OpenHAB yapılandırmasını kendi kurulumunuza uyacak şekilde biraz değiştirmeniz gerekebilir, örneğin yapılandırılmış MQTT aracı adınızı ifade eden "mqttbroker:" bölümü.

Son görüntü, bir PCB üzerindeki bileşenleri gösterir. Bu durumda, > 5V (benim durumumda 9V) olan bir DC güç kaynağı kullandığım için, kart ayrıca bir LM7805 voltaj regülatörünün yanı sıra güç girişi için 0.33uF kapasitör ve güç çıkışı tarafında 0.1uF kapasitör içerir voltajı yumuşatmaya ve stabilize etmeye yardımcı olmak için. Aksi takdirde, bağlantıların geri kalanı daha önce açıklananla aynıdır.

Sorun giderme

- Wemos'un sürekli olarak kapıyı kilitlediği veya kilidini açtığı sorunlarınız varsa (örneğin: bir RF sinyali gönderir ve anahtarlığın LED ışığı açık kalır), o zaman Wemos'a giden VCC ve GND kablolarınızı kontrol edin. Şanslar, bunlardan biri veya ikisi doğru şekilde bağlanmamıştır.

Adım 3: Bileşenleri PCB'ye Lehimleyin

Bileşenleri PCB'ye Lehimleyin
Bileşenleri PCB'ye Lehimleyin
Bileşenleri PCB'ye Lehimleyin
Bileşenleri PCB'ye Lehimleyin

Tüm bileşenleri birleştirmek için sadece teller ve/veya lehim rayları kullanarak tüm bileşenleri bir PCB'ye lehimledim. Daha sonra eski bir DC duvar siğili aldım ve kabloyu biraz daha kısa kestim, sonra bunu PCB'ye lehimlediğim bir konektör bloğuna koştum. Güç girişi daha sonra 5V voltaj regülatörüne / kapasitörlerine ve gerekli bileşenlere gider. PCB'nin arkasını duvar siğiline mavi zımbaladım ve dolaplarımdan birinin içindeki bir güç noktasına taktım. Yaklaşık 9 aydır sorunsuz çalışıyor!

Önerilen: