Mündəricat:

Qapı Zəngi İtmə və Temperatur Sensoru: 6 addım
Qapı Zəngi İtmə və Temperatur Sensoru: 6 addım

Video: Qapı Zəngi İtmə və Temperatur Sensoru: 6 addım

Video: Qapı Zəngi İtmə və Temperatur Sensoru: 6 addım
Video: Telefonun donursa, mütləq izlə! 🙂 #irshad #seneuyghun #tech 2024, Iyul
Anonim
Qapı Zəngi İtmə və Temperatur Sensoru
Qapı Zəngi İtmə və Temperatur Sensoru

Bu, esp-12F (esp8266) modulu ilə standart sərt telli qapı zəngini artırır.

Kabellərdə hər hansı bir dəyişikliyin qarşısını almaq üçün zəng qurğusunun özünə quraşdırır. Aşağıdakı funksiyaları təmin edir

  • Qapı zənginin itməsini aşkar edin
  • IFTTT vasitəsilə telefona bildiriş göndərir
  • EasyIOT serverində qapı zəngi fəaliyyətini saxlayır (isteğe bağlı)
  • Qapı zəngi basıldıqda digər fəaliyyətləri URL vasitəsilə tetikleyin

    Qapının yanındakı bir veb kameraya bir anlıq şəkil çəkirəm və telefonumdakı son qapı zəngi görüntülərinə baxa bilərəm

  • Evdəki temperatur monitorinqinin bir hissəsini təşkil edən isteğe bağlı quraşdırılmış temperatur sensoru (DS18B20)

Addım 1: Avadanlıq və Materiallar

Avadanlıq və Materiallar
Avadanlıq və Materiallar
Avadanlıq və Materiallar
Avadanlıq və Materiallar

Aşağıdakı materiallara ehtiyac var

  • ESP-12F (ESP8266) wifi / cpu modulu
  • 3.3V təchizatı üçün DC Buck çeviricisi
  • Düzəldici diod (məsələn, 1N4001)
  • Elektrolitik kondansatör 220uF 35V
  • Elektrolitik kondansatör 220uF 16V
  • Zener diod 3.3 və ya 2.6V
  • Rezistorlar
  • Şerit lövhə parçası
  • Gerekirse bağlayıcılar
  • Gerekirse DS18B20 rəqəmsal temperatur sensoru

Şematik istifadə olunan dövrəni göstərir. Aşağı gərginlikli AC telli zəngi qəbul edir ki, bu da ən çox yayılmış tipli sadə zəngdir. Bu yeganə məhdudiyyət, buck çeviricisindəki maksimum gərginlik olması ilə kritik deyil. İstifadə etdiyim maksimum 23V dc (~ 16V AC) olan MP2307 -dir.

Normalda 3 aktiv terminal var. Zəng itkisi ilə AC təchizatının bir tərəfindən zəng solenoidinə keçid edilir. Modul sadə bir yarım dalğalı düzəldici vasitəsi ilə DC gücünü istehsal etmək üçün iki AC terminaldan istifadə edir. Zəng vurma algılaması, əsl solenoid üzərindəki gərginliyi izləməklə aparılır. Bu normal olacaq, ancaq zəng aktiv olduqda tam AC olacaq. Bir rezistor / zener diodu bu şəkildə kəsilir ki, 0 - 3.3V 50 Hz -lik bir puls GPIO pininə verilir. Proqram bunu zəng vurmaq üçün tək bir aktivasiya təmin etmək üçün emal edir.

Dövrəni bir az şerit lövhə üzərində qurdum və bu zəng vahidinə asanlıqla uyğunlaşacaq qədər kiçikdir. Xüsusilə əsas AC təchizatına uyğun olaraq quraşdırılmasını asanlaşdırmaq və lazım olduqda asanlıqla güc sıfırlanmasını təmin etmək üçün sadə tullanan bağlayıcılardan istifadə edirəm.

Şəkildə göstərildiyi kimi bir DS18B20 temperatur sensoru var. Bu isteğe bağlıdır. Evimin əksər sahələrini izləyən bir şəbəkənin bir hissəsi olaraq istifadə edirəm. Daxildirsə, hər hansı bir yerli istilik təsirindən təcrid olunmaq üçün sensoru bir neçə santimetr kabel ilə bağlamaq yaxşıdır.

Addım 2: Proqram təminatı

Qapı itələyici qurğusu github -da mövcud olan Arduino eskizindən istifadə edir

Bu, yerli şəraitə uyğunlaşdırılmalı və sonra esp8266 Arduino mühitində tərtib edilməlidir. Aşağıdakı kitabxanalara ehtiyac var, bunlar standartdır və ya əlavə edilə bilər.

  • ESP8266 Wi -Fi
  • WifiClient
  • ESP8266WebServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • WifiClientSecure
  • IFTTTMaker
  • DNSServer
  • WiFiManager (isteğe bağlı istifadə)
  • OneWire
  • Dallas temperaturu

Dəyişdiriləcək eskizdəki maddələr daxildir

  • WifiManager istifadə etmirsinizsə, yerli wifi giriş məlumatları (ssid, parol)
  • AP_AUTHID veb girişi üçün icazə kodu. Bunu layiqli bir uzunluqda etmək yaxşıdır. Alfasayısal simvollar ola bilər.
  • firmware OTA parol update_password
  • WifiManager parol WM_PASSWORD

    WM_NAME -ni şərh edərək Wifi əl ilə qurula bilər

  • IFTTT istehsalçısı açarı (bildiriş addımına baxın)

İsteğe bağlı dəyişikliklər daxildir

  • Qapı zəngi detektoru üçün giriş pininin dəyişdirilməsi
  • Temperatur sensoru üçün pin dəyişdirmə
  • Veb giriş portunun standart 80 -dən dəyişdirilməsi

Bu edildikdən sonra əvvəlcə adi serial yükləmə istifadə edərək tərtib edilməli və yüklənməlidir. Sonrakı yeniləmə, Arduino mühitində bir ixrac ikili quraraq və sonra ip/firmware -də OTA interfeysinə daxil olaraq edilə bilər.

Qapı zəngi itkisi, proqramda, detektor devresinden ilk nəbzin yüksələn kənarını hiss edərək kəsilir. Bütün sonrakı fasilələr nəzərə alınmır. 10 saniyəyə təyin edilmiş BELL_MIN_INTERVAL -dan sonra detektoru yenidən aktivləşdirmək üçün zaman aşımı istifadə olunur.

Digər fəaliyyətlərə esp8266 veb serverində daxil ola bilərsiniz

  • ip/son qapı zəngi fəaliyyətini göstərir
  • ip/reloadConfig espConfig -i yenidən yükləyir
  • ip/bellPush bir zəng itələməsini simulyasiya edir

Addım 3: Konfiqurasiya

Tikildiyi kimi, proqram konfiqurasiyasını yerli bir veb serverdən alır. Modul konfiqurasiya məlumatlarını Mac ünvanına əsasən yükləyir. Bu, eyni ikili istifadə edərək birdən çox modulu işə salmağı çox rahat edir və eyni zamanda yenidən tərtib etmədən konfiqurasiyanı yeniləməyi asanlaşdırır. Bunu atlamaq və konfiqurasiya məlumatlarını birbaşa koda daxil etmək olardı.

Konfiqurasiya faylını EasyIOT serverimdə saxlayıram, konfiqurasiya faylının asanlıqla əldə oluna biləcəyi easyIOT/html qovluğuna malikdir.

Fayl espConfig adlanır və hər bir mümkün Mac ünvanı üçün bir sıra parametrləri (12) saxlayan sadə bir mətn faylıdır. Bir modul yalnız Mac ünvanı üçün təyin edilmiş parametrləri yükləyir.

Fayldan bir nümunədir

#Salon

#Mac ünvanı123456ABCDEF

#modul adı

esp8266-salon

#server rejimi maskası (1 = temp hissi, 4 = qazan rejimi, 4 = qapı zəngi)

9

Temperatur üçün #EIOT düyünü

N9S0

#istifadə olunmayıb

-1

# minimum temperatur aralığı saniyələrdə

60

#saniyələrdə maksimum temperatur aralığı

300

#qazan qazan aralığı

0

#EasyIOT qazan gücü qovşağı

-1

#EasyIOT zəng düyməsi

N10S0

# IFTTT dəyəri bildirin

ön

#IFTTT hadisə adını bildirin

qapı zəngi

#hərəkət URL

192.168.0.2/snap.php

# İlə başlayan hər hansı bir xətt nəzərə alınmır. Bütün sətirlər mövcud olmalıdır. -1 nəzərə alınmayan parametrlər üçün istifadə olunur.

Modul ilk dəfə işə salındıqda konfiqurasiya faylı oxunur. İp/reloadConfig -ə daxil olaraq işləyən bir sistemdə (konfiqurasiya dəyişdirildikdə) yenidən yüklənə bilər.

Konfiqurasiyanın qazan rejimi hissəsinin burada heç bir əhəmiyyəti yoxdur, ancaq qazanın qızdırıldığını algıladığı və orta enerji istehlakını hesablaya bildiyi üçün mərkəzi istilik borusu çıxışına bağlı olan temperatur sensorlarımda istifadə olunur.

Addım 4: Bildirişlər

Qapı zənginin itməsi aşkar edildikdə, bunu IFTTT və ya PushOver vasitəsilə bildirməyə çalışır. İndi daha sürətli bir cavab verdiyim üçün PushOver edirəm.

IFTTT üçün bir hesaba ehtiyacınız var və Maker WebHoooks kanalını aktivləşdirin. Bu kanaldan MakerKey koda yığılmalıdır.

Maker WebHooks istifadə edərək bir IF hərəkəti qurun və konfiqurasiyada olduğu kimi eyni adlı hadisə adını istifadə edin (məsələn, qapı zəngi). THEN hərəkət IFTTT bildirişi olmalıdır. Konfiqurasiya sənədində olan bildirişə dəyər1 əlavə edə bilərsiniz. 2 və ya daha çox detektorunuz varsa bu faydalı ola bilər.

IFTTT tətbiqini telefonunuza yükləməlisiniz və qapı zəngi hər açıldıqda bildirişlər görünəcək.

PushOver üçün PushOver hesabına ehtiyacınız var və API bildirişlərini almaq üçün təlimatları izləyin. PushOver hesabınızın dəyərləri ilə proqramda NOTIFICATION_APP və NOTIFICATION_USER ayələrini qurmalısınız.

Bildirişlər almaq üçün telefonunuza PushOver Tətbiqini qurmalı və təvazökar birdəfəlik ödəniş etməlisiniz. Daha sürətli bir cavab almaq üçün mənim fikrimcə buna dəyər.

Addım 5: EasyIOT inteqrasiyası

Proqram, temperatur və Doorbell push hesabatlarını EasyIOT serverinə göndərə bilər. EasyIOT avtomatlaşdırılması bu hesabata əsaslanaraq əlavə tədbirlər görmək üçün istifadə edilə bilər.

EasyIOT server qurun (məsələn, Raspberry Pi -də). Esp8266 proqramına ip ünvanını və istifadəçi adı parolunu konfiqurasiya edin və tərtib edin.

İndi EASYIOT konfiqurasiyasına Virtual sürücü əlavə edin. Temperatur Analog Girişini seçin və EasyIOT node adını qeyd edin. Bu, espConfig faylının temperatur qovşağı adı hissəsinə daxil edilməlidir.

İkinci bir virtual sürücü əlavə edin. Qapı rəqəmsal girişini seçin, qovşaq adını qeyd edin və espConfig faylına qoyun.

Addım 6: Digər Bell Push Hərəkətləri

Proqramın actionBellOn adlı bir rutini var. Yazıldığı kimi bu 3 şeyi edə bilər

  • IFTTT xəbərdarlıq edir
  • EasyIOT hesabatı
  • Əməliyyat URL'sini yerinə yetirin

URL, digər veb serverlərindən digər fəaliyyətləri tetiklemek üçün istifadə edilə bilər. İstifadə olunan URL espConfig sənədindədir.

URL serveri təsdiqlənərsə, istifadəçi adı və şifrə konfiqurasiya olunmalı və koda daxil edilməlidir.

Qapının yanındakı kamerada snap.php adlı bir URL -ə daxil olmaq üçün bundan istifadə edirəm. Zəng vurulduqda bu-j.webp

Bu əməliyyatı çox asanlaşdıran moruq Pi əsaslı kameralardan istifadə edirəm. kamera

Tövsiyə: