guclusat

Tanınmış Üye
Süper Moderatör
1778156134810.webp
Giriş
İlk SMS uzaktan kontrol devremi yapmamın üzerinden uzun yıllar geçti. Önceki devrem için kaynak kodu geliştirmeyi bırakma sebebim, Ericsson T10s telefonların artık piyasada bulunmuyor oluşuydu. Bu yüzden insanlar devreyi kurmak için gerekli olan cep telefonunu bulmakta zorlanıyordu. İki yıl sonra, GSM modülü tabanlı yeni bir uzaktan kontrol cihazı geliştirdim. Deneylerimde, AT komutları ile kontrol edilmesi oldukça kolay olan ve fiyatı makul seviyelerde bulunan Sony-Ericsson GM-47 modülünü tercih ettim.

Son olarak, bu projenin kaynak kodlarını GNU Genel Kamu Lisansı V3 (GPLv3) altında yayınlamaya karar verdim. Eğer bu lisans şartlarını kabul etmiyorsanız; lütfen bu projenin hiçbir parçasını (şema diyagramı, kaynak kodu, hex kodu, PCB vb.) indirmeyiniz ve kullanmayınız.

Bu Devre Ne İşe Yarar?

Bu devre ile ADSL modemler, kişisel bilgisayarlar, su ısıtıcıları, su pompaları, garaj kapıları, ışıklar ve çok daha fazlası gibi birçok elektrikli/elektronik cihazı uzaktan açıp kapatabilirsiniz (Power-ON/OFF). Ayrıca, 8 adet anahtarın durumunu da izleyebilirsiniz. Bu anahtarlar, evinizin kapı ve pencerelerine bağlanan "reed" rölelerle (mıknatıslı anahtarlar) birleştirilebilir; böylece devre bir güvenlik sistemi gibi de çalışabilir.

Devrenin Teknik Özellikleri:

  • Her türlü elektronik/elektrikli cihazı açıp kapatmak için 4 adet röle.​
  • Standart anahtarları veya reed röleleri okumak için 8 adet dijital giriş.​
  • Çok az sayıda ve ucuz bileşen gereksinimi.​
  • SMS komutlarının yürütülmesi, programlanabilir bir şifre ile korunmaktadır (başkalarından gelecek hatalı veya izinsiz SMS komutlarını önlemek için).​
1778156154230.webp

Şema Diyagramı ve Donanım Yapısı

Bu devre; 4MHz hızında çalışan bir AVR mikrodenetleyici (ATtiny2313), GM-47 GSM modülü, bir SIM kart ve 4 adet röleden oluşmaktadır.
  • Güç ve Voltaj Seviyeleri: GM-47 modülü 3.3V gerilim ile çalışır ve gücünü IC1 voltaj regülatöründen alır. ATtiny2313 (IC2) mikrodenetleyicisi, 10MHz altındaki hızlarda 2.7V ile 5.5V arasında çalışabilmektedir. Bu nedenle, GM-47 modülünün çalışma voltajına uyum sağlaması için mikrodenetleyiciyi de 3.3V ile besledik.
  • Haberleşme: GM-47 ile ATtiny2313 arasındaki veri bağlantısı 9600 bps hızında gerçekleşir. Bu iletişimdeki voltaj seviyeleri AVR tarafında 3.3V, GM-47 tarafında ise 2.7V'tur. Bu küçük voltaj farkından kaynaklanabilecek sorunları önlemek için T5 transistörü ile bir voltaj seviye dönüştürücü (level adaptation) katı eklenmiştir.

SIM Kart ve Şebeke Bağlantısı

  • SIM Yuvası: SIM kartın GM-47 ile bağlantısı, K15 SIM tutucu aracılığıyla yapılır. SIM kartın yuvada olup olmadığı, tutucu üzerindeki SW anahtarı tarafından algılanır.
  • Durum Göstergesi (LED D6): Bu LED yanıp sönmeye (flash) başladığında, cep telefonu şebekesine bağlantının başarıyla kurulduğunu gösterir. Eğer modül herhangi bir şebekeye bağlanamazsa, LED sürekli yanık kalır (yanıp sönmez).

Güvenlik Notu

GM-47 modülünün kendi üzerinde de dijital ve analog giriş-çıkışlar bulunmaktadır. Ancak, herhangi bir hatalı çalışma riskini ve GSM modülünün zarar görme ihtimalini ortadan kaldırmak amacıyla bu giriş-çıkışlar projede kullanılmamıştır.
1778156257613.webp

Mikrodenetleyici (AVR) Nasıl Çalışır?
Devreye güç verdiğinizde, IC2 (ATtiny2313) öncelikle GM-47 modülünün SIM kartı okumasını ve şebekeye bağlanmasını bekler. Bağlantı kurulduktan sonra AVR, sistemin işleyişini başlatan şu komut dizisini gönderir:
  1. Hafıza Seçimi: AT+CPMS="ME"> komutu ile SMS depolama alanı olarak modülün kendi hafızasını seçer. Modülden <OK> yanıtı gelene kadar bu komutu tekrarlar.
  2. Format Ayarı: AT+CMGF=1> komutunu gönderir. Bu, SMS'lerin eski T10s modelindeki gibi karmaşık PDU formatında değil, doğrudan "Metin (Text)" modunda okunmasını sağlar.
  3. Veri Sadeleştirme: AT+CSDH=0> komutu ile SMS içeriğindeki gereksiz bilgileri (servis numarası, tarih, saat vb.) kaldırır. Bu sayede SMS boyutu küçülür ve AVR tarafından çok daha kolay işlenir.
  4. Okuma: AT+CMGR=1> komutu ile hafızadaki ilk SMS'i okur.

SMS İçeriğinin İşlenmesi ve Komutlar

Eğer hafızada bir SMS varsa, AVR mesajı okur ve şu adımları izler:
  • Şifre Kontrolü: Mesajın başında doğru şifrenin olup olmadığını kontrol eder. Varsayılan şifre 1234'tür ve kullanıcı tarafından değiştirilebilir.
  • Şifre Değiştirme: Şifreden sonra gelen karakter "*" (yıldız) ise, bu simge "Şifreyi takip eden 4 rakam/harf ile değiştir" anlamına gelir.
  • Röle Kontrolü: Mesaj içerisinde <RelayX=Y> kalıbını arar.
    • X: Röle numarası (1-4)
    • Y: Durum (1 = AÇ, 0 = KAPAT)
    • Örnek: Relay2=1 komutu 2. röleyi çektirir, Relay3=0 komutu 3. röleyi bıraktırır.
  • Durum Bildirimi (Status): Mesajda (küçük veya büyük harf fark etmeksizin) <Status> kelimesi geçiyorsa; AVR girişlerdeki anahtarların (açık/kapalı) ve rölelerin güncel durumunu okur. Bu bilgiyi içeren bir yanıt SMS'ini gönderen kişiye geri iletir.
    • Önemli Not: Yanıt SMS'i gönderilebilmesi için cihazdaki SIM kartta bakiye/kredi olmalıdır!

Döngünün Tamamlanması

İşlem bittiğinde AVR, hafızayı boşaltmak için okunan SMS'i siler ve yeni mesajları kontrol etmek üzere en başa dönerek AT komutlarını göndermeye devam eder.
1778156435443.webp

1778156447474.webp

Uzaktan Kontrol Cihazına SMS Gönderme

Devreyi kullanmaya başlamadan önce, takacağınız SIM kartın PIN kodunun devre dışı (iptal edilmiş) olduğundan mutlaka emin olun.

Herhangi bir cep telefonundan, aşağıdaki komut dizilimlerinden birini kullanarak cihazınıza SMS gönderebilirsiniz:
  • A) 1234*5678 Relay1=1 Relay2=0 Relay3=1 Relay4=1 Status
  • B) 1234 Relay1=1 Relay2=0 Relay3=1 Relay4=1 Status
  • C) 1234 1=1 2=0 3=1 4=1 Status
  • D) 1234 Status
  • E) 1234 Relay2=0

Komut Senaryolarının Açıklaması

  • A Senaryosu (Tam Denetim): Bu en kapsamlı komut örneğidir. Mevcut olan 1234 şifresini gönderir ve bunu 5678 olarak değiştiririz. Aynı mesajla 1, 3 ve 4 numaralı röleleri çektirir, 2 numaralı röleyi bıraktırırız. Ayrıca mesajın sonuna eklediğimiz Status kelimesi sayesinde, 8 girişin ve 4 rölenin güncel durum bilgisini geri isteriz.
  • B Senaryosu: Şifreyi değiştirmeden röleleri kontrol eder ve cihazın güncel durum raporunu talep ederiz.
  • C Senaryosu (Kısa Kod): B senaryosu ile aynı işlemi yapar ancak Relay kelimesini yazmaya gerek kalmadan sadece röle numarasını kullanarak komut veririz. Örneğin; 1=1 (1. röleyi aç), 2=0 (2. röleyi kapat) gibi.
  • D Senaryosu: Rölelerin durumunu değiştirmeden, sadece cihazdan girişlerin ve çıkışların durumunu bildiren bir rapor SMS'i isteriz.
  • E Senaryosu: Sadece tek bir rölenin durumunu değiştirmek için kullanılır. Bu örnekte sadece 2. röle kapatılacaktır.

Gelen Yanıt SMS'i Nasıl Görünür?

Cihaza Status komutunu gönderdiğinizde, telefonunuza şuna benzer bir yanıt gelecektir:

Relay status: 1011Switch status: 11001010
Buradaki 1 ve 0 değerleri, rölelerin ve bağlı olan anahtarların o an açık mı yoksa kapalı mı olduğunu temsil eder.

https://www.mediafire.com/?xyfserh9h9cmphx
 

Eklentiler

Son düzenleme:
Geri
Yukarı