İçindekiler:

Kapı Zili Basma ve Sıcaklık Sensörü: 6 Adım
Kapı Zili Basma ve Sıcaklık Sensörü: 6 Adım

Video: Kapı Zili Basma ve Sıcaklık Sensörü: 6 Adım

Video: Kapı Zili Basma ve Sıcaklık Sensörü: 6 Adım
Video: Kapı Vakum Otomatik kapanan kapı 2024, Temmuz
Anonim
Kapı Zili İtme ve Sıcaklık Sensörü
Kapı Zili İtme ve Sıcaklık Sensörü

Bu, bir esp-12F (esp8266) modülü ile standart bir kablolu kapı zilini geliştirir.

Kablolamada herhangi bir değişikliği önlemek için çan ünitesinin içine kurulur. Aşağıdaki işlevleri sağlar

  • Kapı zili itmelerini algılama
  • IFTTT aracılığıyla telefona bildirim gönderir
  • Kapı zili etkinliğini bir easyIOT sunucusunda saklar (isteğe bağlı)
  • Kapı zili itildiğinde bir URL aracılığıyla diğer etkinliği tetikleyin

    Kapının yanındaki bir web kamerasında anlık görüntü alıyorum ve son kapı zili yakalamalarını telefonumda görüntüleyebiliyorum

  • Evimin sıcaklık izlemesinin bir parçasını oluşturan isteğe bağlı yerleşik sıcaklık sensörü (DS18B20)

Adım 1: Donanım ve Malzemeler

Donanım ve Malzemeler
Donanım ve Malzemeler
Donanım ve Malzemeler
Donanım ve Malzemeler

Aşağıdaki malzemeler gereklidir

  • ESP-12F (ESP8266) wifi / işlemci modülü
  • 3.3V besleme için DC Buck dönüştürücü
  • Doğrultucu diyot (ör. 1N4001)
  • Elektrolitik kondansatör 220uF 35V
  • Elektrolitik kondansatör 220uF 16V
  • Zener diyot 3.3 veya 2.6V
  • dirençler
  • Şerit tahtası parçası
  • Gerekirse konektörler
  • Gerekirse DS18B20 dijital sıcaklık sensörü

Şematik, kullanılan devreyi gösterir. En yaygın kablolu basit zil türü olan düşük voltajlı AC ile çalışan bir zili varsayar. Zil birimi, tipik olarak 10V AC civarında bir harici zil transformatöründen güç alır. Bu, tek kısıtlamanın buck dönüştürücüye maksimum voltaj olması açısından kritik değildir. Kullandığım, maksimum 23V dc (~ 16V AC) girişe dayalı MP2307'dir.

Normalde 3 aktif terminal vardır. AC kaynağının bir tarafından çan solenoidine bağlantı yapan zil itme ile. Modül, basit bir yarım dalga doğrultucu aracılığıyla DC gücü üretmek için iki AC terminalini kullanır. Zil itme algılaması, gerçek solenoid üzerindeki voltajı izleyerek yapılır. Bu normal olacaktır, ancak zil etkinleştirildiğinde tam AC olacaktır. Bir direnç / zener diyotu bunu klipsler, böylece 0 - 3.3V 50 Hz darbe bir GPIO pinine beslenir. Yazılım bunu, her zile tek bir aktivasyon sağlamak için işler.

Devreyi bir parça şerit tahta üzerine kurdum ve bu, zil ünitesine kolayca sığacak kadar küçük. Kurulumu kolaylaştırmak ve gerektiğinde gücün kolayca sıfırlanabilmesi için özellikle ana AC kaynağına uygun şekilde dahil etmek için basit jumper konektörleri kullanıyorum.

Gösterilen şematik, bir DS18B20 sıcaklık sensörü içerir. Bu isteğe bağlıdır. Bunu evimdeki çoğu alanı izleyen bir ağın parçası olarak kullanıyorum. Dahil edilmişse, herhangi bir yerel ısıtma etkilerinden izole edilmesini sağlamak için sensörü birkaç santimetre kablo ile kablolamak iyidir.

2. Adım: Yazılım

Kapı itme ünitesi, github'da bulunan bir Arduino taslağını kullanır.

Bunun yerel koşullara uyacak şekilde ayarlanması ve ardından bir esp8266 Arduino ortamında derlenmesi gerekir. Aşağıdaki kütüphaneler gereklidir, bunlar standarttır veya eklenebilir.

  • ESP8266WiFi
  • Wifiİstemci
  • ESP8266WebSunucusu
  • ESP8266mDNS
  • ESP8266HTTPGüncellemeSunucusu
  • ArduinoJson
  • WifiİstemciGüvenli
  • IFTTT Yapıcı
  • Dns sunucusu
  • WiFiManager (isteğe bağlı kullanım)
  • Tek Tel
  • DallasSıcaklık

Değiştirilecek çizimdeki öğeler şunları içerir:

  • WifiManager kullanılmıyorsa yerel wifi erişim ayrıntıları (ssid, şifre)
  • AP_AUTHID web erişimi için yetkilendirme kodu. Bunu iyi bir uzunluk yapmak iyidir. Alfanümerik karakterler içerebilir.
  • üretici yazılımı OTA parolası update_password
  • WifiManager şifresi WM_PASSWORD

    Wifi, WM_NAME üzerinden yorum yapılarak manuel olarak kurulabilir

  • IFTTT oluşturucu anahtarı (bildirim adımına bakın)

İsteğe bağlı değişiklikler şunları içerir:

  • Kapı zili dedektörü için giriş pinini değiştirme
  • Sıcaklık sensörü için pin değiştirme
  • Web erişim bağlantı noktasını varsayılan 80'den değiştirme

Bu yapıldıktan sonra, önce geleneksel seri yükleme kullanılarak derlenmeli ve yüklenmelidir. Sonraki güncelleme, Arduino ortamında bir dışa aktarma ikili dosyası derlenerek ve ardından ip/firmware'deki OTA arayüzüne erişilerek yapılabilir.

Kapı zili itme, dedektör devresinden gelen ilk darbenin yükselen kenarını algılayarak kesinti ile yazılımda algılanır. Sonraki tüm kesmeler yoksayılır. 10 saniyeye ayarlanan BELL_MIN_INTERVAL'den sonra dedektörü yeniden etkinleştirmek için bir zaman aşımı kullanılır.

Diğer etkinliklere esp8266 web sunucusundan erişilebilir

  • ip/en son kapı zili etkinliğini gösterir
  • ip/reloadConfig, espConfig'i yeniden yükler
  • ip/bellPush, bir zile basmayı simüle eder

3. Adım: Yapılandırma

Yazılım, yapılandırıldığı gibi, yapılandırmasını yerel bir web sunucusundan alır. Modül, yapılandırma verilerini Mac Adresine göre yükler. Bu, aynı ikili dosyayı kullanarak birden çok modülü çalıştırmayı çok uygun hale getirir ve ayrıca yapılandırmayı yeniden derlemeden güncellemeyi kolaylaştırır. Bunu atlamak ve yapılandırma verilerini doğrudan kodun içine koymak mümkün olacaktır.

Yapılandırma dosyasını, easyIOT/html'de yapılandırma dosyasının kolayca alınabileceği bir klasöre sahip olan EasyIOT sunucumda saklıyorum.

Dosyaya espConfig adı verilir ve her olası Mac adresi için bir dizi parametreyi (12) saklayan basit bir metin dosyasıdır. Bir modül yalnızca Mac adresi için ayarlanan parametreleri yükler.

Dosyadan bir örnek

#Salon

#Mac adresi123456ABCDEF

#Modül Adı

esp8266-salon

#sunucu modu maskesi (1=sıcaklık hissi, 4 = kazan modu, 4 = kapı zili)

9

Sıcaklık için #EIOT düğümü

N9S0

#kullanılmayan

-1

# saniye cinsinden minimum sıcaklık aralığı

60

#saniye cinsinden maksimum sıcaklık aralığı

300

#kazan güç aralığı

0

#EasyIOT kazan güç düğümü

-1

#EasyIOT bell push düğümü

N10S0

# IFTTT değeri bildir

ön

#IFTTT etkinlik adını bildir

kapı zili

#action URL'si

192.168.0.2/snap.php

# ile başlayan herhangi bir satır yok sayılır. Tüm çizgiler mevcut olmalıdır. -1 yok sayılacak parametreler için kullanılır.

Modül ilk başlatıldığında yapılandırma dosyası okunur. Ayrıca, çalışan bir sistemde (yapılandırma değiştirildiğinde) ip/reloadConfig'e erişilerek yeniden yüklenebilir.

Konfigürasyonun kazan modu kısmı burada alakalı değil, ancak kazanın ne zaman ısındığını algıladığı ve ortalama güç tüketimini hesaplayabildiği için merkezi ısıtma borusu çıkışına bağlı sıcaklık sensörlerimde kullanılmaktadır.

4. Adım: Bildirimler

Bir kapı zili itmesi algılandığında, bunu IFTTT veya PushOver ile bildirmeye çalışır. Artık daha hızlı yanıt verdiği için PushOver yapıyorum.

IFTTT için bir hesaba ihtiyacınız var ve Maker WebHoooks kanalını etkinleştirin. Bu kanaldaki MakerKey'in koda derlenmesi gerekiyor.

Maker WebHooks'u kullanarak bir EĞER eylemi ayarlayın ve yapılandırmadakiyle aynı ada sahip olay adını kullanın (ör. kapı zili). THEN eylemi IFTTT bildirimi olmalıdır. Yapılandırma dosyasında olacak bildirime value1 ekleyebilirsiniz. 2 veya daha fazla dedektörünüz varsa bu yararlı olabilir.

Telefonunuza IFTTT uygulamasını yüklemeniz gerekir ve ardından kapı zili tetiklendiğinde bildirimler görünecektir.

PushOver için bir PushOver hesabına ihtiyacınız var ve API bildirimlerini almak için talimatları izleyin. Yazılımdaki NOTIFICATION_APP ve NOTIFICATION_USER belirteçlerini PushOver hesabınızdaki değerlerle ayarlamanız gerekir.

Bildirimleri almak için telefonunuza PushOver Uygulamasını yüklemeniz ve bir kereye mahsus cüzi bir ücret ödemeniz gerekir. Bu, çok daha hızlı yanıt almak için bence buna değer.

Adım 5: EasyIOT Entegrasyonu

Yazılım, bir EasyIOT sunucusuna sıcaklık ve Kapı Zili push raporları gönderebilir. EasyIOT otomasyonu, bu raporlara dayalı olarak ek eylemlerde bulunmak için kullanılabilir.

Bir EasyIOT sunucusu kurun (örneğin bir Raspberry Pi'de). esp8266 yazılımına ip adresi ve kullanıcı adı şifresini konfigüre edin ve derleyin.

Şimdi EASYIOT yapılandırmasına bir Sanal sürücü ekleyin. Sıcaklık Analog Girişi'ni seçin ve EasyIOT düğüm adını not edin. Bu, espConfig dosyasının sıcaklık düğümü adı bölümüne yerleştirilmelidir.

İkinci bir sanal sürücü ekleyin. Kapı dijital girişini seçin, düğüm adını not edin ve espConfig dosyasına koyun.

Adım 6: Diğer Zil İtme Eylemleri

Yazılımın actionBellOn adlı bir rutini vardır. Yazıldığı gibi bu 3 şey yapabilir

  • IFTTT'ye bildir
  • EasyIOT raporu
  • Bir eylem URL'si gerçekleştirin

URL, diğer web sunucularından diğer etkinlikleri tetiklemek için kullanılabilir. Kullanılan URL, espConfig dosyasındadır.

URL sunucusunun kimliği doğrulanırsa, kullanıcı adı ve parolanın yapılandırılması ve kodda derlenmesi gerekir.

Bunu, kapının yanındaki bir kamerada snap.php adlı bir URL'ye erişmek için kullanıyorum. Bu, zile basıldığında bir-j.webp

Bu işlemi çok kolay yapan ahududu Pi tabanlı kameralar kullanıyorum. kamera

Önerilen: