Bu yazıda NodeMCU ve röle gibi bir takım donanımlar ile kendi akıllı prizimi nasıl yaptığıma dair tecrübelerimi paylaşacağım. Sonrasında sesli asistanımla istediğim her yerden nasıl kontrol ettiğimi inceleyebilirsiniz.

Aslında bu projenin hazır modelleri olarak zaten piyasada çok fazla bulunuyor. Kolay temin edilebilir ve seri üretimden dolayı fiyatları da oldukça düşük.
Bir tarafı dişi ve diğeri tarafı erkek olacak şekilde istediğiniz elektrik prizine takarak onu akıllı hale getirip kompak bir kullanım kolaylığı sunuyor.
Bir şeyin akıllı olması için süper bir donanıma ihtiyacı yoktur. Sadece süper olan bir donanıma bağlanması yeterlidir. İşte bu da internet teknolojisi ile oldukça basittir.
Ayrıca bakınız: Internet of Things

Öncelikle malzeme listemiz;
- 3 boyutlu yazıcıdan basılmış dış kutu
- ESP8266 veya benzeri interenete bağlanabilen mikrokontrolcü
- 5V tek kanal röle
- 220V-5V dönüştüren yaklaşık 1A destekleyen adaptör
- Jumper (Bağlantı) kabloları
- Programlamak için USB kablo
- Mobil telefon veya tablet
Giriş
Küçük bir not: Benim kullanmış olduğum malzemeler elimde bulunduğu için değerlendirmek istedim. Özellikle bu proje için satın alma yapmadım. Eğer siz bu ürünleri ilk defa temin edeceksiniz satıcı sitelerden daha uygun veya daha gelişmiş modellerine bakıp onları seçebilirsiniz Ne alacağınızdan pek emin değilseniz de yorum yaparak destek alabilirsiniz.
Projede NodeMCU geliştirme kartını kullandım. ESP-12 modülü üzerine kurulan 16 adet digital giriş-çıkış ve 1 adet analog girişi bulunan bir tür geliştirme kartıdır. Oldukça fazla alternatifleri mevcuttur.
ESP8266 tabanlı geliştirme donanımlarını basit bir kaç eklenti desteği sayesinde Arduino IDE‘si üzerinden çok rahat geliştirme yapabilirsiniz. Arduino IDE üzerinden NodeMCU geliştirme kartına sorunsuz yazılım yükleyebildiğinizi varsayım yaparak bu noktayı atlayıp kullanacağımız bir kaç önemli noktadan bahsetmem gerek.
Mikrokontrolcümüzün internete bağlanması için oldukça fazla yazılım örnekleri veya platformlar görebilirsiniz. Bunlardan birçoğu doğrudan bağlandığı gibi bazıları ise uzak sunucuya bağlanıp belli zaman aralıklarıyla veri alışverişi yapmaktadır. Ben bu noktada Blynk adındaki platformu kullanacağım. Bunun en büyük sebebi ise HTTP API’lerinin basit ve üçüncü parti sistemlere oldukça kolay entegre (sesli asistanlar gibi) edilebiliyor olmasıdır.
Hatırlatma yapayım, Blynk kullanarak isterseniz yüzlerce geliştirme donanımlarından birini kullanabilirsiniz ve hatta Ethernet, WiFi, USB, GSM, Bluetooth ve BLE gibi bağlantı tiplerinden birini seçebilirsiniz.
Blynk’in avantajlarından bir diğeri ise mobil telefon veya tabletiniz üzerinden uygulamasını (Android için, iOS için) indirdiğinizde proje açıp istediğiniz cihazı kontrol edebiliyorsunuz. Aslında bu bir Blynk projesi başlatmak için yapılması zorunludur.
Mobil uygulaması üzerinden proje açtığımızda bize iki önemli detay soracaktır. Bunlar hangi cihaz üzerinde çalıştığınız (choose device) ve ne tür bağlantı tipi (connection type) kullandığınızdır. Burada kullandığım cihaz NodeMCU olup bağlantı tipi ise WiFi’dır.
Sadece 1 adet digital giriş-çıkıştan röleyi açıp kapama yaptığım için NodeMCU oldukça gereksiz, büyük ve pahalı seçim olacaktır. Ancak Internet of Things (IoT) dünyasında yeni iseniz bu geliştirme kartıyla bu projeye benzer gibi pratik uygulamalar yapmak oldukça yararlı olabilir.
Yazılımın yüklenmesi
Öncelikle Blynk platformunun gömülü cihazlarda çalışabilmesi için Arduino IDE’si üzerinden gerekli kütüphanesini eklememiz gerekmektedir. Bunun için Arduino IDE’sinin üst menü çubuğundan Taslak > library ekle > libraryleri düzenle‘den açılan pencereye Blynk yazıp arama yaptığınızda Volodymyr Shymanskyy tarafından geliştirilmiş olan kütüphaneyi kurunuz.
Şimdi örnek bir yazılıma Arduino IDE’si üst menü çubuğundan Dosya > Örnekler sekmesinden aşağılarda yer alan Özel (Custom) Kütüphane Örnekleri adı altında Blynk > Boards_WiFi > NodeMCU‘a tıklayarak açalım. (Benim kullandığım geliştirme donanıma göre örnek yazılım bu, eğer siz farklı bir geliştirme kartı kullanıyor iseniz ona göre farklı örnek dosyasını açmanız gereklidir.)
Kodları incelediğimizde üç adet gerekli yerin düzenlenmesi gerekmektedir.
auth, telefon veya tabletiniz üzerinden açtığınız projenizin özel kimliği ayarlardan erişebilirsiniz.
ssid, cihazın bağlanacağı WiFi adı,
pass, cihazın bağlanacağı WiFi ağının şifresidir.
Koddaki
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YourAuthToken";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";
bu bölümünün tırnak (“) işaretleri arasında kalan kısımları kendinize göre düzenleyin.
Blynk yazılımlarını mikrokontrolcümüze yüklerken pin tanımlamaları yapmamıza gerek yoktur. Eğer pin durumlarını daha sonra değiştirmek istersek yeniden yazılım yükleme gibi avare işlemler yapmayalım diye mobil uygulama üzerinden yapılması öngörülmüş. Bence güzel. Sen internete bağla bi’ gerisi mobilde diyorlar kısaca.
Kodun gereksiz comment’lerden sonra temizlenmiş ve stabil hali aşağıdaki gibidir.
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char auth[] = "YourAuthToken";
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";
void setup(){
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
}
void loop(){
Blynk.run();
}
Gerekli düzenlemelerden sonra kodumuzu doğru porttan yükleyelim.
Arduino IDE’sinden sıkıldıysanız Jetbrains Clion IDE kullanarak nasıl kod yükleyebileceğinizle alakalı yazımı inceleyebilirsiniz.
Devre Bağlantısının Yapılması
Not: 220V elektrik ile çalışmak profesyonellik isteyebilir. Herhangi bir hatanızda size ve etrafınıza ciddi sonuçlar doğurabilir. Lütfen dikkatli olunuz.
Devre şemasında olabildiğince gerçek resimler kullandım ki daha anlaşılır olsun.

Öncelikle AC elektrikten gelen 2 tane fazdan (L ve N ) doğrudan telefon şarj aleti olarak kullandığımız 220 volttan 5 volt düşürücü adaptöre besleme yapıyoruz.
Adaptörün artı ve eksi çıkışlarını NodeMCU Vin ve GND çıkışlarına bağlıyoruz. Böylece adaptör her zaman elektrik alıp bize 5 volt sağlayarak NodeMCU’yu çalıştıracaktır.
NodeMCU ile röle bağlantımızı yapıyoruz. Bunlar VCC, GND, Signal kabloları olacaktır. Signal olarak NodeMCU üzerinden istediğiniz digital giriş-çıkış pinini seçebilirsiniz. Röleyi tetikleme işlemi bunun üzerinden olacaktır. Birden fazla röle kullanabilirsiniz.
Sonrasında yine AC fazlardan birini doğrudan çıkışa bağlıyoruz, diğerini ise anahtarlama yapabilmek için röleye bağlayıp rölenin diğer çıkışından çıkışa bağlıyoruz.

Rölenin üç adet girişi var gibi gözükebilir. Bunlar ortaki ortak uç (C, common), sağındaki açık (NO, normally open), solundaki kapalı (NC, normally closed) uçtur. Her zaman ortak uç ile istediğiniz herhangi diğerini kullanmanız gerekecektir. Aralarındaki fark ise örneğin röle tetiklendiğinde biri çalışırken (C – NC), diğeri kapalı (C ve NO) olacaktır.
Tüm bu sistemi kurmadan önce iyi anladığınızdan emin olunuz. Hatta 220 volt yerine 5 volt ile test edebilirsiniz. Tüm sorumluluk size aittir.
Montaj
Kabloları lehimlerken makaron kullanmanız kısa devre olma ihtimalini en aza indirecektir. Gerekli gördüğünüz noktalarda sıcak silikon kullanabilirsiniz.
Tüm sistemi kurup kendim çizmiş olduğum priz kutusunu 3 boyutlu yazıcıdan basıp içine konulduğunda artık istediğiniz cihazı akıllı hale getirebilirsiniz.
3 boyutlu yazıcıdan baskı almak için kutunun STL dosyalarını burada paylaştım.
Bu yazının devamı olarak sesli asistanlar ile nasıl bu prizi kontrol edebileceğinizi inceleyebilirsiniz.



1 Yorum