Arduino İle SMS Gönderme-Alma
Arduino İle SMS Gönderme-Alma
SMS (İngilizce Short Message Service; Kısa Mesaj Hizmeti), cep telefonu aracılığı ile yazılan mesajın bir cep telefonundan diğer bir cep telefonuna gönderilmesi, mesajlaşması hizmetidir. Projemizde Arduino Uno kartına taktığımız Arduino GSM Shield ile SIMkartımız üzerinden başka bir telefona sms göndereceğiz.
Kullanılan Malzemeler
- Bir adet Arduino Uno kartı,
- Bir adet Arduino GSM Shield,
- Bir adet SİM kart;
Tasarım
Tasarım aşamasına geçmeden önce bazı kavramları inceleyelim.
- GSM
Global System for Mobile Communications veya kısaca GSM bir cep telefonu iletişim protokolüdür. Önceleri Avrupa Telekomünikasyon Standartlar Komitesinin Groupe Speciale Mobile isimli alt kuruluşunun ismini taşıyan GSM, daha sonraları sistemin küresel bir büyüklüğe erişmesiyle yeni adıyla anılmaya başlandı.
GSM desteği ile bir sistemde çağrı alabilir, arama yapabilir, mesaj alışverişi ve GPRSüzerinden veri iletişimi sağlayabilirsiniz.
- GPRS
GPRS (General Pocket Radio Service), mevcut GSM Şebekesi üzerinden yüksek hızlı paket veri iletişimini sağlayan bir teknoloji olup, internet gibi paket veri şebekelerine kablosuz erişimi büyük oranda basitleştiren ve geliştiren yeni bir taşıyıcı servisidir. SMS sistemi GPRS teknolojisine dayanmaktadır. GSM Shield ile internete erişmekte mümkündür.
Arduino GSM Shiled eklentisini Uno kartının üzerine direkt oturtma şekliyle bağlantı kurulabilmektedir. Arada herhangi bir kablo veya board‘a gerek yoktur.
GSM shield üzerinde, SIM kartınızı takacağınız bir alan bulunmaktadır. Bu alan cep telefonları ile aynı yapıdadır. Yuvaya takacağınız SIM kart direkt sistem üzerinde çalışır.
GSM Shield üzerindeki CTRL, GSM TX ve GSM RX pinleri modem ile iletişim için ayrılmıştır. Bu yüzden kodlama alanında bu pinler (7, 3, 2) kullanılmaz.
Modem ile Arduino arasındaki seri iletişim için 2. ve 3. pinleri, reset’leme işlemi için ise 7. pin kullanılır. Sarı led yanmaya başladığında GSM Shield modemi ile iletişim sağlandı demektir.
- Gsm Kütüphanesi
GSM kütüphanesi Arduino ve GSM Shield arasındaki iletişimi sağlar. Fonksiyonlarının çoğu veri yönetimi, ses, SMS iletişim içindir. Modem hakkında ve SIM kartın PIN bilgi yönetimi için yardımcı bir dizi de vardır. Kütüphaneyi internetten indirerek Arduino/libraries dosyasının içerisine kopyalayınız.
Kodlar
Bu bölümde kodlar üzerinden GSM ağa bağlanıp seçtiğimiz telefon numarasına SMS mesaj göndereceğiz. Kodların yanındaki açıklamalara bakarak işlemleri daha iyi anlayabilirsiniz.
// gsm kütüphanesi eklendi #include <GSM.h> // SIM kartın pin numarası #define PINNUMBER “” // kütüphane ögeleri başlatılıyor GSM gsmAccess; // gsm erişim nesnesi GSM_SMS sms; // gsm sms nesnesi // sms gönderilecek // telefon numarası // örnek // 1-212-555-12-12 char tel_no[20]= “12125551212”; // mesaj dizisi // en fazla 200 karakter char txtMsg[200]=”Test”; void setup() { Serial.begin(9600); Serial.println(“SMS Mesaj Gönderici”); // bağlantı durumu boolean notConnected = true; // GSM shield başlatılıyor // pin uyuşursa bağlantı sağlanır while(notConnected) { if(gsmAccess.begin(PINNUMBER)==GSM_READY) notConnected = false; else { Serial.println(“bağlı değil”); delay(1000); } } Serial.println(“GSM kuruldu”); sendSMS(); } void loop() { // boşluk } void sendSMS(){ Serial.print(“Mesaj gönderilen numara: “); Serial.println(tel_no); // sms mesajı Serial.println(“Gönderiliyor”); Serial.println(); Serial.println(“Mesaj:”); Serial.println(txtMsg); // mesaj gönderiliyor sms.beginSMS(tel_no); sms.print(txtMsg); sms.endSMS(); Serial.println(“\n İŞLEM TAMAM! \n”); } |