İçindekiler:

Aydınlatma ve Güvenlik Kontrolü için Sensör İstasyonları Ağı: 5 Adım (Resimli)
Aydınlatma ve Güvenlik Kontrolü için Sensör İstasyonları Ağı: 5 Adım (Resimli)

Video: Aydınlatma ve Güvenlik Kontrolü için Sensör İstasyonları Ağı: 5 Adım (Resimli)

Video: Aydınlatma ve Güvenlik Kontrolü için Sensör İstasyonları Ağı: 5 Adım (Resimli)
Video: Ünal turan Azad yılmaz Karşıma çıkın dedi 2024, Temmuz
Anonim
Aydınlatma ve Güvenlik Kontrolü için Sensör İstasyonları Ağı
Aydınlatma ve Güvenlik Kontrolü için Sensör İstasyonları Ağı
Aydınlatma ve Güvenlik Kontrolü için Sensör İstasyonları Ağı
Aydınlatma ve Güvenlik Kontrolü için Sensör İstasyonları Ağı
Aydınlatma ve Güvenlik Kontrolü için Sensör İstasyonları Ağı
Aydınlatma ve Güvenlik Kontrolü için Sensör İstasyonları Ağı

Master/slave modunda yapılandırılan bu sensör istasyonları ağı ile evinizde aydınlatma ve güvenlik kontrolü yapabileceksiniz. Bu sensör istasyonları (bu projedeki Node01, Node02), yerel wifi ağınıza bağlı bir ana istasyona (Node00) bağlıdır. Node01'i depo odama ve Node02'yi garajıma ışıkları ve hareketleri kontrol ettim. Ana istasyon, wifi yönlendiricimize bağlı yemek odamıza kurulur. Ağdaki bazı sensör istasyonları tarafından bir hareket algılandığında çalması için garaja zili ve ana istasyona küçük bir zili kurdum.

Ağın ana özellikleri şunlardır:

  • İkiden fazla sensör istasyonuyla (bağımlı istasyonlar) (Node01, Node02, Node03, ….) bir ağ yapılandırmak mümkündür.
  • Antenli kablosuz alıcı-vericilerin kullanılması nedeniyle, ağ geniş bir alanı kapsayabilmektedir.
  • Tüm ağı bir cep telefonundan kontrol edebilirsiniz
  • Bir hareket algılandığında ve alarm modu etkinleştirildiğinde bir e-posta (Gmail hesabı) gönderin. Bu nedenle, cep telefonunuzda Gmail push bildirimlerini etkinleştirirseniz, ağınızda bir hareket algılandığında bunu bileceksiniz.

evsel amaçlar için:

  • Bir hareket algılandığında ışıkları açın / ışıkları her zaman açın (tüm ağ veya her bir bağımlı istasyon için)
  • Her bir bağımlı istasyon için bir hareket algılandıktan sonra ışıkların açık olduğu süreyi dakika olarak değiştirin

güvenlik amaçlı:

  • Alarm modunu etkinleştirin ve devre dışı bırakın
  • Her bağımlı istasyon, alarm modu etkinleştirildiğinde ve bir hareket algılandığında bir ana istasyona (Node00) bir sinyal gönderebilir.
  • Ana istasyon, herhangi bir bağımlı istasyondan bu sinyallerden biri alındığında ve alarm modu etkinleştirildiğinde bir zili etkinleştirebilir ve bir e-posta gönderebilir. Ana istasyon (Node00), tüm sistemi bir cep telefonu kullanarak kontrol etmek için bir wifi bağlantısı kullanarak internete bağlanır. WifiWebServer gibi yapılandırılmış

Adım 1: Malzeme Listesi

Malzeme Listesi
Malzeme Listesi
Malzeme Listesi
Malzeme Listesi

Node01 ve Node02 (bağımlı istasyonlar) oluşturmak için kullandığım malzemelerin listesi şu şekildedir:

  • Mega 2560 R3 kartı
  • MEGA 2560 R3 için plastik destek
  • HC-SR501 PIR sensörü
  • HC-SR501 için plastik destek
  • 5V Röle
  • Anten LKY67 ile Kablosuz Alıcı-Verici Modülü 2.4G 1100m NRF24L01+PA+LNA
  • 8Pin NRF24L01 adaptörü (NRF24L01'in özelliklerini geliştirmek için)
  • HLK-PM01 AC DC 220V - 5V Mini Güç Kaynağı

Node00'ü (ana istasyonlar) inşa etmek için malzeme listesi aşağıdaki gibidir:

  • Mega 2560 R3 kartı
  • MEGA 2560 R3 için plastik destek
  • WiFi modülü NodeMCU Lua Amica V2 ESP8266
  • Anten LKY67 ile Kablosuz Alıcı-Verici Modülü 2.4G 1100m NRF24L01+PA+LNA
  • NRF24L01 için 5v-3.3v VCC adaptör kartı (NRF24L01'in özelliklerini geliştirmek için)
  • Adaptör AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)

Ayrıca aşağıdaki materyali kullandım:

  • 2 Pimli 5 mm PCB konektörleri
  • Atlama telleri
  • Breadboard MB-102 (800 kişi)
  • Mini Lehimsiz Breadboard 170 kişi
  • Ledler ve dirençler seti
  • PCB kartları
  • Kalay Havya Takımı
  • Tutkal tabancası
  • şeffaf metakrilat
  • zil

Adım 2: Node01 ve Node02 (Slave İstasyonları) Nasıl Bağlanır ve Programlanır

Node01 ve Node02 (Slave İstasyonları) Nasıl Bağlanır ve Programlanır
Node01 ve Node02 (Slave İstasyonları) Nasıl Bağlanır ve Programlanır
Node01 ve Node02 (Slave İstasyonları) Nasıl Bağlanır ve Programlanır
Node01 ve Node02 (Slave İstasyonları) Nasıl Bağlanır ve Programlanır

"SlaveSation.ino" taslağını programlamak için RF24 kitaplığına ve RF24 Ağ kitaplığına ihtiyacım vardı.

Yukarıdaki akış şemasında, sensör istasyonunun mantığını ve bir bağımlı sensör istasyonu ile ana istasyon arasında alınıp verilen mesajları görebilirsiniz.

Krokiyi yüklemeden önce, bağımlı düğümün adresini sekizli biçimde yapılandırmanız gerekir

const uint16_t this_node = 01; // Düğümümüzün sekizli formattaki adresi (slave): 01, 02, 03 …

Her bir slave istasyonundaki ledlerin anlamı şudur:

  • Mavi led. PIR sensör pimi yüksekken yanacaktır.
  • Yeşil led. Alarm bağlandığında açık olacaktır.

Adım 3: Node00 (Ana İstasyon) Nasıl Bağlanır ve Programlanır

Node00 (Ana İstasyon) Nasıl Bağlanır ve Programlanır
Node00 (Ana İstasyon) Nasıl Bağlanır ve Programlanır
Node00 (Ana İstasyon) Nasıl Bağlanır ve Programlanır
Node00 (Ana İstasyon) Nasıl Bağlanır ve Programlanır
Node00 (Ana İstasyon) Nasıl Bağlanır ve Programlanır
Node00 (Ana İstasyon) Nasıl Bağlanır ve Programlanır

Node00 istasyonunda iki farklı pano bulabiliriz:

  • MEGA 2560 R3 kartı. Bu cihaz, kablosuz iletişim kullanılarak bir hareket algılandığında bağımlı istasyondan mesaj almak için kullanılır. Bir hareket algılandığında ve alarm bağlandığında bir zili etkinleştirir. Zili durdurmak için sadece alarm modunun bağlantısını kesin. Üstelik hareket algılamayı etkinleştirmek veya devre dışı bırakmak, ışıkları her zaman açmak, ışıkları her zaman kapatmak için NodeMCU'dan bağımlı istasyona mesajlar gönderir, …
  • NodeMCU Lua Amica V2 ESP8266 kartı. Bir cep telefonundaki bir Web sayfasını kullanarak uzak bir yerden komutları iletmek ve almak için bir Wifi Web Sunucusu gibi çalışır. Ayrıca bir hareket algılandığında ve alarm modu etkinleştirildiğinde e-posta mesajları gönderir.

Her iki cihaz da, Wire Library kullanılarak I2C senkron seri protokolü aracılığıyla Master(NodeMCU)/Slave(MEGA) konfigürasyonunda birbirleriyle iletişim kurmak üzere programlanmıştır. I2C protokolü, veri göndermek ve almak için iki hat kullanmayı içerir: bir seri saat pimi (SCL) ve iki cihaz arasında verilerin gönderildiği bir seri veri pimi (SDA).

Çizimde görebileceğiniz gibi, MEGA 2560 R3 kartındaki I2C iletişimi için iki pin:

  1. SDA -> pin 20 SDA
  2. SCL -> pin 21 SCL

ve NodemMCU'daki diğerleri:

  1. SDA -> dijital pin 1
  2. SCL -> dijital pin 2

ESP8266 için taslağı yüklemeden önce ESP8266 kartını kurmalısınız. Bunu yapmak için Arduino IDE'deki tercihler penceresindeki "Ek Board Manager URL'leri" içine "https://arduino.esp8266.com/stable/package_esp8266com_index.json" girmelisiniz. Bundan sonra pano yöneticisini açmanız ve "esp8266" yüklemeniz gerekir.

MEGA 2560 R3 kartı (DC güç jakı, 2, 1mm x 5, 5 mm) için harici bir güç kaynağı adaptörü (9V, 1A) kullanıyorum ve NodeMCU kartını MEGA kartındaki 3V3 pinine bağlıyorum.

Adım 4: WifiWebServer (Master Station'da NodeMCU)

WifiWebServer (Ana İstasyonda NodeMCU)
WifiWebServer (Ana İstasyonda NodeMCU)
WifiWebServer (Ana İstasyondaki NodeMCU)
WifiWebServer (Ana İstasyondaki NodeMCU)

NodeMCU'ya (Node00 veya ana istasyon) yüklenen çizim, ev wifi ağınıza bağlı bir Web Sunucusu gibi yapılandırılır. Yönlendiricinizde bağlantı noktası iletmeyi yapılandırırsanız uzaktan erişim mümkündür.

WifiWebServerV3.ino çizimini NodeMCU'ya yüklemeden önce aşağıdakileri yapmanız gerekir:

  1. NodeMCU'ya uzaktan erişmek için yönlendiricinizde yapılandıracağınız bağlantı noktasını (port yönlendirme) güncelleyin
  2. Ev wifi ağınıza erişmek için kullanıcıyı ve şifreyi güncelleyin
  3. Bir hareket algılandığında ve alarm bağlandığında e-posta göndermek için Gmail hesabınızın oturum açma ve şifresini güncelleyin
  4. E-postaları alacağınız e-posta adresini güncelleyin

Kullanıcıyı, şifreyi ve sunucunun dinlemek için kullanacağı portu güncellemek için WifiWebServerV3.ino taslağında aşağıdaki kodu aratıp güncellemeniz gerekir:

const char* ssid = "*** ssid'iniz ***";

const char* şifre = "*** şifreniz ***"; WiFiSunucu sunucusu(80);

E-postaları alacağınız e-posta adresini güncellemek için aşağıdaki kodu aratıp güncellemeniz gerekmektedir:

const char* to_email = "*** mesajını alacağınız e-posta adresi ***";

E-posta almak üzere Gmail hesabınızın kullanıcı ve şifresini güncellemek için "Gsender.h" dosyasında aşağıdaki kodu aramanız ve güncellemeniz gerekir:

const char* EMAILBASE64_LOGIN = "*** e-posta adresinizi BASE64'e kodlayın ***";

const char* EMAILBASE64_PASSWORD = "*** parolanız BASE64'te kodlanır ***"; const char* FROM = "*** e-posta adresiniz ***";

BASE64'te verileri kodlamak veya kodunu çözmek için www.base64encode.org kullandım

ESP8266 ile e-posta göndermek ve almak hakkında daha fazla bilgiye ihtiyacınız varsa, burada bununla ilgili bir "Talimat" bulunmaktadır.

Bunu yaptıktan sonra, yönlendiricinizdeki bağlantıyı test edebilirsiniz. Cihaz bağlıysa, atanan IP adresini bu cihaza ayırmanız gerekir. Ayrıca, yönlendiricinize statik bir IP adresi ayarlamak için İnternet sağlayıcınızla konuşmanız iyi bir fikirdir.

Wifi yönlendiricinizin yakınındaki web sayfasına erişmek için, bir web gezgininde kullandığınız bağlantı noktasına göre yönlendiriciniz tarafından atanan yerel IP adresini yazmanız yeterlidir. Örneğin: 192.168.40.15:800. Uzaktan erişmeye çalışırsanız, yukarıdaki gibi kullandığınız bağlantı noktasını takip ederek yönlendiricinizin IP adresini yazmanız gerekir.

Size resimlerde gösterdiğim web sayfası, iki bağımlı istasyonlu bir ağı kontrol etmek için programlanmıştır.

Sistem başlangıçta maksimum 5 bağımlı istasyonu kontrol edecek şekilde yapılandırılmıştır, ancak bunu değiştirebilirsiniz. Sadece WifiWebServerV3.ino ve SlaveStation.ino'da aşağıdaki kodu arayın

#define number_max_slaves 5

Web sayfası başlangıçta 4 bölüme ayrılmıştır:

  1. Alarmın bağlı olup olmadığını size gösterdiği "Durum" bölümü
  2. Her bir bağımlı istasyondaki hareket algılama sayısını gösterdiği "Alarm sayacı" bölümü
  3. Alarmı bağlayabileceğiniz veya bağlantısını kesebileceğiniz (ALARM BAĞLAYIN/ALARMI BAĞLAYIN) ve alarm sayacını sıfırlayabileceğiniz "Alarm" bölümü (SAYICI SIFIRLAYIN)
  4. Her bir bağımlı istasyonun ışıklarını kontrol edebileceğiniz "Aydınlatma" bölümü. Aşağıdakileri kontrol edebilirsiniz:

    • Tüm bağımlı istasyonlardaki ışıkları açın / yalnızca tüm bağımlı istasyonlarda bir hareket algılandığında ışıkları açın (AĞ HER ZAMAN AÇIK/HAREKET OLDUĞUNDA AĞ)
    • Her bir bağımlı istasyon için ışıkların açık olduğu süreyi dakika olarak değiştirin (NODExx 1 DAKİKA AÇIK/NODEXX 2 DAKİKA AÇIK)
    • Her bir bağımlı istasyon için ışıkları açın (NODExx HER ZAMAN AÇIK)
    • Her bir bağımlı istasyon için ışıkları sadece bir hareket algılandığında açın (NODExx_MOV)

Hiçbir şeyi değiştirmeniz gerekmez, çünkü yapılandırdığınız köle istasyonlarının adı ne olursa olsun çalışır. Ayrıca, ağa bağlı bağımlı istasyonların sayısını otomatik olarak algılayacaktır.

Tabii ki, taslağı indirebilir ve kendi web kontrol sayfanızı göstermek için gerekli kodu kolayca değiştirebilirsiniz.

Adım 5: En Başından…

Ağınızı oluşturmak için izlemeniz gereken adımlar şunlardır:

  1. "1. Adımda" size verdiğim listeyi takip ederek tüm malzemeleri satın alın
  2. "Adım 2" ve "Adım 3"te indirebileceğiniz çizimi takip ederek bileşenleri bağlayın
  3. Her bağımlı istasyon ve ana istasyon için kutular oluşturun. Metakrilat kutuları yaptım.
  4. Her bağımlı istasyonu yapılandırın:

    "SlaveStation.ino" taslağını bir MEGA 2560 R3 kartına indirin ve yükleyin. "Adım 2" de görebileceğiniz gibi, yalnızca taslağı düzenlemeniz ve bağımlı istasyonun adresini güncellemeniz gerekir

  5. Ana istasyonu yapılandırın:

    • "SlaveStation.ino" taslağını bir MEGA 2560 R3'e indirin ve yükleyin. Ağınızın köle düğümlerinin sayısı ne olursa olsun hiçbir şeyi değiştirmeniz gerekmez. Başlangıçta çizim maksimum 5 bağımlı istasyon için yapılandırılır.
    • NodeMCU'da "WifiServerV3.ino" taslağını indirin ve yükleyin. "Adım 4" deki talimatı izleyerek taslağı güncellemeniz gerekir.
  6. Yönlendiricinizi NodeMCU'ya uzaktan erişecek şekilde yapılandırın (port yönlendirme, statik IP…)

Önerilen: