NodeMCU ile 4 cihaza kadar kontrol

NodeMCU ile Bu devre, bir cep telefonu veya bilgisayar aracılığıyla dört elektrikli cihazı kontrol etmek için kullanılabilir. Başlıca avantajı, cihazları kontrol etmek için herhangi bir yerden giriş yapabilirsiniz. Geçersiz kimlik bilgilerini 10 kez kullanarak giriş yapmaya çalışırsanız, sistem önümüzdeki üç dakika boyunca kilitlenir.

Hem NodeMCU v0.9 hem de NodeMCU v1.0 anakartları ESP8266 Wi-Fi mikroçipine dayandığından, aynı program her ikisi için de kullanılabilir. NodeMCU v0.9 ESP12 çipinden ve NodeMCU v1.0 ESP12E / 12F çipinden oluşur.

ESP8266 iki farklı modda kullanılabilir: istasyon (STA) ve soft access point (SAP). STA modunda, ESP8266 İnternete başka bir erişim noktası üzerinden bağlanabilir. 
SAP modunda, ESP8266 kendi erişim noktasını yayınlar. Wi-Fi özelliğine sahip herhangi bir cihaz ona bağlanabilir ve cihazları kontrol etmek için kullanılabilir.


Devre ve çalışma

Doğrulama ile cihaz kontrolünün devre şeması, Şekil 1’de gösterilmiştir.

Şekil 1: Doğrulama ile cihaz kontrolünün devre şeması

Devrenin ana denetleyicisi NodeMCU’dur . Wi-Fi aracılığıyla kendisine bağlı diğer cihazlardan komutlar alır ve ardından verilen pimlere göre çıkış pinlerini açık veya kapalı duruma getirir. Tüm rölelerin bobin terminallerinden birinin (RL1 – RL4 arasındaki) 12V akünün pozitif rayına bağlı olduğunu unutmayın.

Burada, NodeMCU’nun D5 ila D8 pinleri çıkış olarak kullanılır. Wi-Fi kullanılarak cihaz1 açılırsa, pim D5 yükselir ve bu da ULN2003’ün pim 1’in D1 diyotu boyunca yüksek olmasını sağlar. Sonuç olarak, IC2’nin 16 çıkış pimi alçalır. Böylece, RL1 devreye girer ve ilk yük açılır.

Benzer şekilde, cihaz1 Wi-Fi kullanılarak kapatılırsa, o zaman D5 çıkış pimi alçalır, ULN2003’ün 1 pimi alçalır ve sonuç olarak 16 pimi yükselir. Böylece, RL1 devre dışı kalır ve ilk yük kapanır. Aynısı NodeMCU’nun kalan çıkış pinlerine de uygulanabilir ve buna göre elektrikli cihazlar / yükler açılır veya kapatılır.


Yazılım ve kurulumu

1. En son Arduino IDE’yi Arduino web sitesinden indirip yükleyin.

2. Arduino IDE’yi açın ve Ayarlar altında Dosya → Tercihler’e gidin ve Şekil 2’de gösterildiği gibi Ek Kurul Yöneticisi URL’lerine http://arduino.esp8266.com/stable/package_esp8266com_index.json URL’sini yapıştırın.

Şekil 2: Ek Kurul Yöneticisi URL’leri

3. Arduino IDE’yi açın ve Araçlar → Pano → Pano Yöneticisi’ne gidin (Şek. 3).

Şekil 3: Pano Yöneticisi penceresi

4. Ara kutusuna ESP8266 yazın ve ESP8266 topluluğu tarafından ESP8266’nın en son sürümünü yükleyin.

5. Kurulum tamamlandıktan sonra, Araçlar → Pano’ya gidin. Aşağı kaydırın ve kullandığınız doğru kartı seçin (NodeMCU 0.9, NodeMCU 1.0, vb.)

6. Araçlar → Flaşı Sil seçeneğine gidin ve Çizim + Wi-Fi ayarları seçeneğini belirleyin.

7. Kartı bilgisayara bağlayın, Araçlar → Bağlantı Noktası seçeneğine gidin ve doğru COM bağlantı noktasını seçin.


Arduino programı

Program (device_web.ino) Arduino programlama dilinde yazılmıştır ve Arduino IDE kullanılarak derlenmiştir. Programı Arduino IDE’ye açın ve programda gerekli değişiklikleri yapın (aşağıda açıklandığı gibi). Kaydedin ve ardından programı NodeMCU’ya yükleyin. 
Aşağıdaki satırlar, Arduino programında / taslağında gereksinimlere göre değiştirilebilir:

#define stationMode false // false, ESP8266 SAP modunda veya başka bir şekilde STA modunda.

(STA modu EFY Lab’da test edilmiştir.)

const char * ssid = “*****” // string, erişim noktası adını ESP8266 modülüne kaydetmek için kullanılır. ESP8266’nın yayınlayacağı SAP’ye bağlanacaktır.

const char* password = “********”  // string, erişim noktası veya SAP şifresini saklamak için kullanılır.

String username = “admin” // string, giriş sayfasının kullanıcı adını saklamak için kullanılır. 
String loginPassword = “admin” // string giriş sayfasının şifresini saklamak için kullanılır.

String headingMessage = “ “ // string, web sayfasının başlıklarını ayarlamak için kullanılır. 
int noOfTry = 10 // 10 izin verilen yanlış girişlerin sayısıdır.

int lockDownTime = 180000 // 180000 kilitleme süresi (milisaniye cinsinden).

int cookieExpireTime = 60000 // 60000 çerez son kullanma süresi (milisaniye cinsinden).

int refreshTime = 10 // 10 durum kontrolü web sayfası için yenileme süresi (saniye olarak).

Bu programda kullanılan bazı fonksiyonlar aşağıda açıklanmıştır.

statuscheck () işlevi, tarayıcıdan bir URL istendiğinde çağrılır, örneğin IPADDRESS / status URL.

genrateCookie (), dizge rancharlarından rastgele karakterler alarak 32 bitlik bir çerez oluşturmak için kullanılır.

if_authenticated (), çerezin geçerli olup olmadığını kontrol etmek için kullanılır.

StatusCheck (), çıkış pinlerinin durumunu kontrol etmek için kullanılır.

background-color: # ff1d00 değeri, void web sayfasının () altındaki düğmelerin rengini değiştirmek için değiştirilebilir.


Yapımı ve Testi

Cihaz kontrolünün gerçek boyutlu PCB düzeni Şekil 4’te ve bileşenleri Şekil 5’teki bileşenleri düzeninde gösterilmiştir. Power up NodeMCU kartı. NodeMCU, SAP modu olarak yapılandırılmışsa, NodeMCU tarafından yayınlanan erişim noktasına bağlayın. Cep telefonunda veya bilgisayarda Web tarayıcısını açın. Adres çubuğuna 192.168.4.1 (varsayılan IP) yazın ve Enter tuşuna basın.

Şekil 4: Cihaz kontrolünün PCB yerleşimi
Şekil 5: PCB için bileşenler düzeni

PCB ve Bileşen Düzeni PDF’lerini aşağıdan indirebilirsiniz.


NodeMCU STA modu olarak yapılandırılmışsa, NodeMCU’nun IP adresini kullanın. NodeMCU’nun IP adresini bulmak için, bu adresi ziyaret edebilirsiniz.

Cep telefonunda veya bilgisayarda Web tarayıcısını açın. NodeMCU’nun IP adresini adres çubuğuna yazın ve Enter tuşuna basın.

Giriş web sayfası, Şekil 6’da gösterildiği gibi görünecektir. NodeMCU’nun IP adresi sizin durumunuzda farklı olabilir.

Şekil 6: STA modunda giriş sayfası

Giriş sayfasında bir süre etkinlik yoksa, oturum sona erdikten sonra otomatik olarak oturumu kapatır. Geçersiz bir sayfa istenirse, Şekil 7’de gösterildiği gibi bir hata mesajı verecektir.

Şekil 7: Geçersiz sayfa

Dört cihazın hepsinin durumunu görmek için Şekil 6’da gösterilen Durumu Kontrol Et seçeneğine tıklayın. Web sayfası, program kodunda verilen talimatlara göre yenilenecektir. Giriş yapmak için kullanıcı adını yönetici olarak ve yönetici şifresini girin ve Giriş’e tıklayın. (Kullanıcı adını ve şifreyi program kodunda özelleştirebilir ve bu bilgileri giriş sırasında kullanabilirsiniz.) Artık cihazı açabilir veya kapatabilirsiniz. Şekil 8, kontrol panelini cihaz durumu ile göstermektedir.

Şekil 8: Cihaz durumunu gösteren kontrol paneli
Gerekli Malzemeler;

Geçersiz giriş kimlik bilgileri olması durumunda, program deneme sayısının yanı sıra bir hata mesajı görüntüler. Geçersiz oturum açma denemesi 10’a eşitse veya kodda tanımlanmış noOfTry değeri, program koddaki lockDownTime tarafından tanımlandığı gibi bir süre boyunca kilitlenir. Önceden ayarlanmış kilitleme süresinden sonra, program otomatik olarak açılır ve geçerli bilgilerle tekrar deneyebilirsiniz.

Bu makale buradan çevrilmiştir.