sms ile buton durum değişikliklerinin takibi
Transkript
sms ile buton durum değişikliklerinin takibi
T.C. MUSTAFA KEMAL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ SMS İLE BUTON DURUM DEĞİŞİKLİKLERİNİN TAKİBİ HAZIRLAYAN 081501014 MUHAMMET EMRE IRMAK DANIŞMAN Yrd. Doç. Dr. ERSİN ÖZDEMİR OCAK 2015 İSKENDERUN - HATAY 1 SMS İLE BUTON DURUM DEĞİŞİKLİKLERİNİN TAKİBİ Muhammet Emre Irmak Mustafa Kemal Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü e-posta: [email protected] ÖZET Bir cihazımızdaki durum değişikliklerini , cihazın yanında olmadığımız zamanlarda da takip etmek bazı durumlarda önemli olabilir. Bunun için tüm Dünya’da hâli hazırda kullanılmakta olan GSM sistemi biçilmiş kaftandır. Bu sistemi kullanabilmemiz için bir adet GSM modüle ihtiyacımız olacaktır. Bir adet mikrokontrolör ile de sensör veya butonlardaki değişiklikleri algılayabilir ve GSM modülümüzü kontrol edebiliriz. Bu sayede gayet hızlı bir şekilde cihazın durumunu öğrenip müdahale edebiliriz. Anahtar Kelimeler : sim908 , gsm modul , sms ihbar 1.GİRİŞ Evimizde olmadığımız zamanlarda , evimize daha önceden kurmuş olduğumuz bir hareket algılama sistemindeki değişiklikleri , cep telefonumuza mesaj olarak alabilirsek , yakın bir komşumuza yada kolluk kuvvetlerine haber vererek evimizin kontrolünü sağlayabiliriz. Yardıma muhtaç bir kimsenin kolayca erişebileceği bir konuma , sistemimizi ve ona bağlı bir butonu yerleştirirsek , acil bir durumda kişinin kolayca butona basmasını ve en yakın acil servis , komşu veya akrabalarına haber verebilmesini sağlayabiliriz . Ayrıca sanayi alanındaki bazı cihazların açık veya kapalı durumda olup olmadıklarını hızlı bir şekilde cep telefonumuzdan arama veya mesaj şeklinde öğrenebiliriz. İşte tüm bunları yapabilmek için bir adet GSM modüle ihtiyacımız vardır. Bu modül istenilen ek bağlantılar ve aparatlar bağlandığı takdirde , sesli arama yapma, sesli aramalara cevap verme , sms alma ve gönderme ve daha bir çok yeteneğe sahiptir. Ayrıca bu modülü kontrol etmek için bir adet mikrokontrolöre ihtiyacımız vardır. GSM hizmetinden yararlanabilmek için ise bir adet SIM kart alınıp bağlantılar sağlandığı takdirde projemiz hayata geçmiş olacaktır. 2.MATERYAL VE YÖNTEM Kullanacağımız modül olarak SIMCOM firmasının ürettiği SIM908 isimli modül seçilmiştir. Mikrokontrolör olarak ise MICROCHIP firmasının ürettiği PIC16F877A seçilmiştir. Sistem bataryası olarak ise SIM908 dökümanında bizden li-ion ,1100 mA ve 3.7 volt olarak istendiği için özellikleri 3.7 V ,1000 mA olan bir li-ion cep telefonu bataryası kullanılmıştır. Diğer malzemeler ise renkli ledler , bir adet BC337 transistör, SIM kart bağlantıları için gerekli olan 3 adet 15 ohm , 1 adet 10k direnç ve 1adet 220 nF kapasitör , 4 adet buton , 1 adet 1N4001 diyot , 1 adet 220 uF , 4 adet 100 nF ,3 adet 470 uF kapasitör,1 adet 10k , 1adet 4.7 k , 5 adet 330 ohm ,1 adet 4 MHz kristal osilatör , 2 adet 22pF kapasitördür. Sistemin çalışabilmesi için modülün bir devreye bağlanması gerekmektedir. Bu modül devresiyle tümleşik olarak ta satılmaktadır. Sadece modülün fiyatı , Aralık 2015 tarihinde 114 TL dir. Devresiyle birlikte satılan versiyonu ise yurtdışı sitelerden yaklaşık 54 Euro’ya temin edilebilir. Bu projemizde, sadece modül satın alınmştır. Devrenin tasarlanmasında http://www.open-electronics.org/localizer-with-sim908-module/ adresindeki şemalardan faydalanılmıştır. Şemalar aşağıda verilecektir. Web sitesinden alınan şemalardaki tüm bağlantılar kullanılmamıştır ve bazı bağlantılar farklı noktalardan seçilmiştir. Devrenin son halinin Proteus programında çizimi yapılmıştır ve aşağıda gösterilmiştir. 2 Şekil 1. Devrenin Bağlantı Şeması 3 Şekil 2. Devrenin Bağlantı Şeması 4 Şekil 3. Devrenin Proteus Isis Çizimi 5 Devrenin Kurulumu Mikrokontrolörün osilatör girişlerine 4 Mhz kristal osilatör ve kapasitörler yukarıdaki şekildeki gibi bağlanır. # Mikrokontrolörün Vdd girişlerine 3.7 V ( ölçümlerde 4 V çıkmıştır) bağlanır. Vss girişlerine bataryanın ucu bağlanır (GND). # Mikrokontrolörün MCLR girişine 10k’ lık direnç bağlanır ardından bataryanın voltaj ucundan bir diyot yardımıyla 3.7 - 4 V dirençle bağlantı sağlanır . Direncçle diyotun tam ortasıdan bir çıkış alınıp bir butona oradanda GND ‘ye bağlanır. Böylece butona basıldığı zaman MCLR girişinde 0V görülür ve mikrokontrolöre reset atılmış olur. Diyot sayesinde de GND ile 3.7 V arası kısa devre önlenmiş olur. # Voltajın ani düşüp yükselmelerini önleme amaçlı olarak kapasitörler yukarıdaki şekildeki gibi bağlanmıştır. # # Modülümüzün VBAT pinlerini 3.7 V ‘a , GND pinlerini ise bataryamızın – ucuna bağlarız. A1 portu modülün PWRKEY pinine bağlanmıştır. PWRKEY pini 1 saniye süresince 0 V ‘ta tutulup devamında 3.7 V konuma alındığında modül açılır. Aşağıdaki şekilde bu durum gösterilmiştir. # Şekil 4. Modülün açma zamanlaması Modülün açık veya kapalı olma durumunu modülün STATUS pininden aldığımız bir led ve direnç çıkışı ile rahatlıkla görebiliriz. Modül açıkken STATUS ışığı yanıktır, modül kapalı iken de kapalıdır. # Modülümüzün VRTC ucu, modül dökümanında tavsiye edildiği için 220 uF ‘lık bir kapasitör ile GND ‘ye bağlanır . # # Sim kartımız ise yine şekildeki gibi modüle bağlanır. NETLIGHT pininden alacağımız bir led çıkışı sayesinde modülümüzün GSM ağına bağlanıp bağlanmadığını anlayabiliriz. NETLIGHT ışığının yanıp sönme sürelerinden modülüm GSM ağına kayıt olup olmadığını anlarız. Aşağıdaki şekilde NETLIGHT ışığının bağlantı şekli ve yanıp sönme sürelerinin ne anlama geldiği gösterilmiştir. # 6 Modülümüz ile mikrokontrolörümüz arasındaki haberleşme , modülümüzün TX pininin mikrokontrolörün RX pinine , modülümüzün RX pininin ise mikrokontrolörün TX pinine bağlanması ile sağlanmıştır. Bağlantı şekli aşağıda gösterilmektedir. # Şekil 5. Netlight bağlantısı ve ışık analizi Şekil 6. Modül ve PIC arasındaki TX RX bağlantıları Modülümüzün 60 adet pini mevcuttur ve bizim kullandığımız tüm pinler kırmızı olarak işaretlenmiş olarak aşağıdaki şekilde gösterilmiştir. # 7 Şekil 7. SIM908 modülünün tüm pinleri ve kullanılan işaretli pinler Projenin Geliştirilme Aşamaları ve Ürün Haline Getirilme Aşamaları Şekil 8. Devrenin geliştirilme aşamasındaki hali 8 Şekil 9. Devrenin kutulanma aşaması ölçümleri Şekil 10. Devre bileşenlerinin delikli pertinaks üzerine lehimlenmesi 9 Şekil 11. Yukarıda GSM modülün pin bağlantıları , solda devre sağda ise GSM anten ve batarya bölümü 10 Şekil 12. Yukarıda LED bağlantıları aşağıda ÜRÜN 11 Akış Diyagramı 12 Yazılım Aşaması Öncelikle yazılım aşamasında yazdığımız kodlar , modüle gönderildikten sonra modülümüz bize bir cevap gönderir. Bu cevapların bazıları kısa sürdüğü gibi bazıları ise uzun sürmektedir. Bu aşamada kod yazarken , modülümüzün cevap süresini ve işlemlerin seyrini takip etme çok önemlidir. Bunu yapabilmek için mikrokontrolörümüz ile modülümüz arasında haberleşme yaparken ayrıca bir TX ve RX uçlarımızı bir MAX232 entegresinden de geçirmeliyiz. MAX232 entegresi 5 voltluk sinyal seviyemizi RS232 standartlarına dönüştürür. RS232 portu eğer bilgisayarımızda yok ise ayrıca bir RS232-USB çeviriciye ihtiyacımız var demektir. Aşağıdaki şekilde gerekli bağlantı şekli gösterilmiştir. # Bağlantımızı sağladıktan sonra hyperterminal veya putty isimli programlardan biri ile portumuzdaki veri iletişimini takip edebiliriz ve ayrıca klavyeden girdiğimiz komutlar ile bunlara verilen cevapları terminal ekranımızda görebiliriz . Bu sayede yazılım denemelerimizde neler olup bittiğini kolaylıkla görüp daha hızlı bir şekilde problemlerimizi çözüp , yazılımı çalışır hale getirebiliriz. Devremizi kurduktan ve tüm haberleşme bağlantılarını tamamladıktan sonra modülümüze açma sinyali gönderdiğimizde terminal ekranımızda aşağıdaki cevapları görürüz. # RDY +CFUN: 1 +CPIN: READY GPS Ready Call Ready Bu cevapların anlamları sırasıyla söyledir ; Modül hazır. Modül tam fonksiyonel olarak çalışacak. Sim kart takılı . GPS hazır. Arama hazır. 13 Eğer sim kartımızı takılı değil ise +CPIN : NOT INSERTED cevabı gelir. GSM antenimiz takılı değil ise sistemimiz GSM ağına kaydolamayacak ve ERROR cevabı alacağız demektir. # # Modülümüze AT komutu gönderdiğimizde bize OK cevabını vermelidir. Mikrokontrolörümüz CCS C derleyicisi ile C dilinde programlanmıştır. Aşağıda program kodları ve kodların fonksiyonları verilmiştir. # Program Kodları #include "C:\Users\MRI\Desktop\t6\main.h" #use rs232(baud=9600, bits=8 ,parity=N,xmit=PIN_C6,rcv=PIN_C7) // haberleşme ayarları bu kod ile yapılmaktadır . xmit veri gönderilen TX pininin hangi pin olacağını ifade // eder. //rcv veri alınan RX pininin hangi pin olacağını ifade eder. // baud haberleşme hızımızın değerini ifade eder. #use fast_io(b) #use fast_io(d) #define BUTTON1 pin_b7 // B portunun 7. Pinine BUTON1 ismi verilmiştir ve bundan sonra BUTON1 adıyla çağrılacaktır. #define BUTTON2 pin_b6 // B portunun 6. Pinine BUTON2 ismi verilmiştir ve bundan sonra BUTON2 adıyla çağrılacaktır. int x; int y; int l=0; int l2=0; // gerekli integer değişkenler 14 // burada mesaj gönderme fonksiyonu tanımlanacaktır. void mesaj_gonder() { //fonksiyon başlangıcı // mesaj göndermek için modüle gönderilmesi gereken komutlar printf("AT+CMGS="); putc(34); // " //mesaj gönderilecek telefonun numarası printf("+905069273026"); putc(34); // " putc(13); // CR delay_ms(1000); // gönderilecek olan mesaj girilir. printf("Sistem Acildi !"); putc(26); // CTRL +Z tuş kombinasyonunun ASCII karşılığı delay_ms(5000); } //fonksiyon sonu // burada arama yapma fonksiyonu tanımlanacaktır. void arama_yap() { //fonksiyon başlangıcı printf("ATD"); // arama yapılacak telefon numarası girilir. printf("+905069273026"); printf(";"); putc(13); // CR 15 delay_ms(10000); printf("ATH"); // aramayı sonlandırmak için gerekli olan AT komutu ATH dir. putc(13); delay_ms(3000); } //fonksiyon sonu void main() // ANA FONKSİYON BAŞLANGICI { // PİC16F877A için gerekli olan konfigirasyon ayarları setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); set_tris_a(0x00); // A portu giriş olarak ayarlanır. set_tris_b(0xFF); // B portu çıkış olarak ayarlanır. set_tris_d(0x00); // D portu çıkış olarak ayarlanır. output_d(0x00); // D portunun çıkışlarını 0 yap. 16 //Bu aşama önemlidir. Burada PWRKEY pininin bağlı olduğu A portunun 1. pinine 1 saniye süre ile 0 volt //verilir ve devamında tekrar logic1 seviyesine çekilir.Bu sayede modül açılır. output_low(PIN_A1); delay_ms(1000); output_high(PIN_A1); delay_ms(15000); //modülün tam olarak hazır hale gelmesi için 15 saniye bekle //atacağımız mesajları TEXT formatında olacağı için aşağıdaki komutla modül TEXT moduna alınır . Eğer PDU //formatında atmak istiyorsak AT+CMGF=0 komutunu girmemiz gerekir. printf("AT+CMGF=1\r"); delay_ms(1000); //Sistemin her çalıştırılışında tüm mesajları silmemiz gerek çünkü operatör tarafından gelen mesajlarla , // bizim mesajlarımız karışabilir. Aşağıdaki kodun görevi budur. Tüm mesajları siler. printf("AT+CMGDA=\"DEL ALL\"\r"); putc(13); // CR delay_ms(1000); //aşağıdaki üç satır mesajımızın “gönderilmemiş mesaj olarak sim karta depolanmasını sağlar. //kaydedilecek mesaj daha sonra gönderilecek olan BUTON1 ON mesajıdır. printf("AT+CMGW=\"+905069273026\""); printf(",145"); printf(",\"STO UNSENT\""); putc(13); 17 delay_ms(1000); printf("BUTON1 ON"); delay_ms(500); putc(26);// ctrl + Z " delay_ms(2000); // BUTON1 OFF mesajının simkarta kaydedilmesi aşaması printf("AT+CMGW=\"+905069273026\""); printf(",145"); printf(",\"STO UNSENT\""); putc(13); delay_ms(1000); printf("BUTON1 OFF"); delay_ms(500); putc(26);// ctrl + Z " delay_ms(2000); // BUTON2 ON mesajının simkarta kaydedilmesi aşaması printf("AT+CMGW=\"+905069273026\""); printf(",145"); printf(",\"STO UNSENT\""); putc(13); delay_ms(1000); printf("BUTON2 ON"); 18 delay_ms(500); putc(26);// ctrl + Z " delay_ms(2000); // BUTON2 OFF mesajının simkarta kaydedilmesi aşaması printf("AT+CMGW=\"+905069273026\""); printf(",145"); printf(",\"STO UNSENT\""); putc(13); delay_ms(1000); printf("BUTON2 OFF"); delay_ms(500); putc(26);// ctrl + Z " delay_ms(2000); // Bu aşamaya gelindiğinde modül aşağıdaki fonksiyonu çağırırır ve önceden girilmiş olan numaraya “Sistem //acildi ” mesajini gönderir. mesaj_gonder(); // Bu aşada bir do while döngüsüne girilir. Ve bu döngü batarya anahtarı kapatılmadığı müddetçe işlemeye //devam eder. //Döngü süresince butonların açılıp kapatılma durumları takip edilir . Bir değişiklik olduğunda daha önceden //simkarta depolamış olduğumuz mesajlar yine simkarttan çağrılarak istenilen numaraya gönderilir. 19 do { delay_ms(500); // B portunun 7. Pininin durumunu x değişkenine ata // D portuna ise x değişkenini ata . Burada eğer BUTON1 , ON konumuna alındıysa , D portunun 0. pinini // logic 1 konumuna alarak BUTON1 ‘ye ait yeşil LED ‘in yakılması sağlanır , OFF konumuna alındığında ise // sönmesi sağlanır. x=input(pin_b7); output_bit(pin_d0,x); // B portunun 6. Pininin durumunu y değişkenine ata // D portuna ise y değişkenini ata . Burada eğer BUTON2 , ON konumuna alındıysa , D portunun 3. pinini // logic 1 konumuna alarak BUTON2 ‘ye ait yeşil LED ‘in yakılması sağlanır , OFF konumuna alındığında ise // sönmesi sağlanır. y=input(pin_b6); output_bit(pin_d3,y); // Burada x BUTON1 ‘in durumudur , x==0 ise BUTON1 ON , x==1 ise BUTON1 OFF durumunda demektir. // l değişkenin ilk değeri 0 dır.Bu değişken eğer daha önce döngüye girilmemiş ise 0 olarak kalacaktır. // Aşağıdaki kod satırlarının anlamı şudur; // Eğer x==0 yani BUTON1 OFF konumunda ve l==0 yani ilk defa döngüye giriliyor ise D portunun 1. pininin // 1 saniye süre ile yanmasını ve sonra sönmesini sağla (Kırmızı LED) 20 if ((x==0)&&(l==0)) { output_high(PIN_D1); delay_ms(1000); output_low(PIN_D1); } // Eğer BUTON1 , ON konumuna alındıysa ve l==0 ise yani daha önceden BUTON1 OFF // konumunda ise daha önceden kaydetmiş olduğumuz mesajı sim karttan çağır ve numaraya // BUTON1 ON mesajını gönder. if ((x==1)&&(l==0)) { l=1; //burada l ‘yi 1 yapma sebebimiz modülün daha sonradan ON //konumundan OFF konumuna geçtiğini anlayabilmektir. printf("AT+CMSS=1"); printf(",\"+905069273026\""); putc(13); delay_ms(3000); } // l==1 yani BUTON1 daha önceden ON konumuna alınmış ve şimdi x==0 yani OFF konumuna alınmış ise // l=0 yap yani BUTON1 tekrar OFF konumunda demektir ve daha önceden sim karta kaydettiğimiz //BUTON1 OFF mesajını numaraya gönder. if((x==0)&&(l==1) ) { l=0; printf("AT+CMSS=2"); printf(",\"+905069273026\""); 21 putc(13); delay_ms(3000) } // Burada y BUTON2 ‘in durumudur , y==0 ise BUTON2 ON , y==1 ise BUTON2 OFF durumunda demektir. // l 2 değişkenin ilk değeri 0 dır.Bu değişken eğer daha önce döngüye girilmemiş ise 0 olarak kalacaktır. // Aşağıdaki kod satırlarının anlamı şudur; // Eğer y==0 yani BUTON2 OFF konumunda ve l2==0 yani ilk defa döngüye giriliyor ise D portunun 2. pininin // 1 saniye süre ile yanmasını ve sonra sönmesini sağla (Kırmızı LED) if ((y==0)&&(l2==0)) { output_high(PIN_D2); delay_ms(1000); output_low(PIN_D2); } // Eğer BUTON2 , ON konumuna alındıysa ve l2==0 ise yani daha önceden BUTON2 OFF // konumunda ise daha önceden kaydetmiş olduğumuz mesajı sim karttan çağır ve numaraya // BUTON2 ON mesajını gönder. if ((y==1)&&(l2==0)) { l2=1; //burada l2 ‘yi 1 yapma sebebimiz modülün daha sonradan ON //konumundan OFF konumuna geçtiğini anlayabilmektir. printf("AT+CMSS=3"); printf(",\"+905069273026\""); putc(13); delay_ms(3000); 22 } // l2==1 yani BUTON2 daha önceden ON konumuna alınmış ve şimdi y==0 yani OFF konumuna alınmış ise // l2=0 yap yani BUTON2 tekrar OFF konumunda demektir ve daha önceden sim karta kaydettiğimiz //BUTON2 OFF mesajını numaraya gönder. if((y==0)&&(l2==1) ) { l2=0; printf("AT+CMSS=4"); printf(",\"+905069273026\""); putc(13); delay_ms(3000); } } while(1); } // do while döngüsü sonu , while (1) sürekli tekrarla anlamındadır. // ANA FONSİYON SONU 3. SONUÇLAR VE ÖNERİLER Sistemimiz beklendiği şekilde çalışmıştır. Anahtar sayesinde devreye güç verildiğinde modülümüz GSM ağına kayıt olmuştur. Ardından cep telefonumuza “Sistem Acildi!” mesajı gelmiştir. Ardından devre kutusundaki LED’ler yanmaya başlamıştır. Butonlar kapalı konumda iken LED’ler kırmızı olarak görünmektedir. Açık konuma alındığında butona ait yeşil LED yanmakta ve kırmızı LED sönmektedir. Cep telefonumuza ilgili butonun açıldığına dair mesaj gelmektedir. Buton kapalı konuma alındığında ise tam tersi olarak ilgili butona air yeşil LED sönmekte ve kırmızı LED yanmaktadır. Yine cep telefonumuza ilgili butonun kapatıldığına dair mesaj gelmektedir. Projenin hazırlanması sırasından Aurdino ile hazırlanmış daha çok örnek ve kaynak kod olduğu görülmüştür. Bu projemiz pek çok alanda rahatlıkla kullanılabilir. Örneğin bir hareket algılama sensörüyle birlikte güvenlik amacıyla kullanılabilir. Bakıma muhtaç kişilerin acil durumlarda basabileceği bir butonla birlikte kullanılıp en yakın acil servise ,komşu ve akrabalara haber verilebilir. Sıcaklık , basınç , hız , ivme sensörleriyle birlikte daha pek çok projeye uyarlanabilir ve en hızlı şekilde duruma müdahele edilebilir. 23 4.KAYNAKLAR 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. PIC MIKRODENETLEYICILER 16F84A & 16F628A FEYZİ AKAR MUSTAFA YAĞIMLI İLERİ PIC 16F84 UYGULAMALARI -1 Hakan KARAKAŞ http://www.open-electronics.org/localizer-with-sim908-module/ http://electronics.stackexchange.com/questions/87680/sim-card-for-sim908-module http://www.ccsinfo.com/forum/viewtopic.php?p=186519 http://www.picproje.org/index.php?topic=46506.0 http://www.next.gr/rf/gps-circuits/index3.html http://www.open-electronics.org/arduino-gsm-shield/ https://www.facebook.com/media/set/?set=a.379980082041985.89941.169319619774700&type=3 http://pub.ucpros.com/download/chgprsgpssim908schematic.pdf?osCsid=k0420kih2afv2qmcg415d9vi36 http://imall.iteadstudio.com/sim908-gsm-gprs-gps-module.html http://www.dfrobot.com/wiki/index.php/GPS/GPRS/GSM_Module_V3.0_(SKU:TEL0051) http://www.open-electronics.org/small-breakout-for-sim900-gsm-module/ ftp://imall.iteadstudio.com/Modules/IM140402002/SCH_IM140402002.pdf http://www.electrodragon.com/w/SIM908_Dev._board#GPS http://www.open-electronics.org/gsmgprs-gps-modem-with-sim900sim908-module/ http://www.filearchivehaven.com/2014/01/21/working-with-gps-and-gsm-on-arduinopart-1-of-2-sim908/#more1201 http://www.kontrolkalemi.com/forum/konu/gsm-mod%C3%BCl%C3%BC-yard%C4%B1m.4902/page-21#post431206 http://forum.donanimhaber.com/m_57889609/tm.htm http://www.kontrolkalemi.com/forum/search/2442176/?q=sim908&o=date http://www.videolaz.com/video_1VtUu9n1pJw_gprs-gsm-quadband-module-for-arduino.html http://www.edaboard.com/thread231241.html http://www.microchip.com/pagehandler/en-us/family/mplabx/ http://www.elektrotekno.com/archive/o_t__t_30412__asm-ye-basladim-fakat.html http://elektronikprojeler.com/index.php?topic=1672.0 http://pic-microcontroller.com/projects/phone-projects/ http://www.electronicshub.org/gsm-interfacing-8051-microcontroller/ http://www.edaboard.com/thread89563.html http://stackoverflow.com/questions/16054318/sending-sms-using-pic16f877a-and-sim-300 http://stackoverflow.com/questions/23651110/sending-and-receiving-sms-using-pic18f4550-gsm-sim300 http://www.serasidis.gr/circuits/smscontrol/smscontroller.htm http://www.codeproject.com/Questions/590722/ReceivingplusOKplusresponseplusforplusATpluscomman http://lahirunuwan.hubpages.com/hub/connecting-a-microcontroller-to-a-mobile-phone http://www.wrankl.de/SMST4PIC/SMST4PIC.html http://www.wrankl.de/SMST4PIC/V6/main.gif http://gsmkontrol.blogspot.com.tr/p/ornek-uygulamalar.html http://wiki.gnokii.org/index.php/Protocol_description http://ozcanfatih.wordpress.com/2012/10/04/sim900-gsm-modul-ile-sms-gonderme/ http://www.developershome.com/sms/atCommandsIntro.asp http://www.picproje.org/index.php?topic=38030.0 http://www.pwt.et.put.poznan.pl/srv07/papers/PWT%202007_7835.pdf http://web.firat.edu.tr/iats/cd/subjects/Electrical&Electronics/EAE-30.pdf http://www.habtekus.yildiz.edu.tr/2007/cd/bildiriler/yeni_nesil_haberlesme_ip_tabanli_haberlesme/38.pdf http://www.bauschdatacom.com/productdata/INDUBOXGSMMA_GSM%20command%20reference%20guide.pdf http://megep.meb.gov.tr/mte_program_modul/moduller_pdf/Soygun%20Alarm%20Sistemlerinin%20Ba%C4%9Fl ant%C4%B1lar%C4%B1%20Ve%20Montaj%C4%B1.pdf http://www.picproje.org/index.php?topic=23826.0 http://www.picbasic.co.uk/forum/showthread.php?t=4950 http://www.elektrotekno.com/about7685-0-asc-0.html http://www.picproje.org/index.php?topic=42338.0 http://320volt.com/ds75-isi-sensor-bilgilerinin-sms-protokolu-ile-iletimi/ 24 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. http://www.elektrotekno.com/about47128.html http://www.mikroe.com/forum/viewtopic.php?t=22195 http://gokhanbeken.com/at-komut-setigsm http://cellphonecontroller.files.wordpress.com/2011/02/figure-11.jpg http://www.codeforge.com/article/219368 http://www.mcelectronics.com.ar/soporte/clase_tracking_esp.pdf http://www.picproje.org/wikis/doku.php?id=visual_c_ve_gps https://code.google.com/p/sim908/source/browse/trunk/main.c?r=2&spec=svn2 http://www.edaboard.com/thread226780.html http://www.picproje.org/index.php?topic=42640.0 http://www.nongnu.org/torsion/docs/html/pic_8h-source.html7 http://www.nongnu.org/torsion/docs/html/asm_8h-source.html https://www.pantechsolutions.net/microcontroller-boards/uart-interfacing-with-pic16f877a-primer http://www.mcelectronics.com.ar/trackme/eng/mce_trackme_user_eng.pdf http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/323093 http://www.rhydolabz.com/documents/gps_gsm/sim900_rs232_gsm_modem_opn.pdf http://www.microchip.com/forums/m621910.aspx http://www.codeforge.com/s/0/pic16f877a--embedded-c-programs https://code.google.com/p/gsm-shield-arduino/source/browse/branches/?r=94 http://www.open-electronics.org/using-the-gsmgprs-gps-shield-call-examples/ http://www.picproje.org/index.php/topic,42338.msg429467.html#msg429467 http://www.picproje.org/index.php/topic,52760.msg429453.html#msg429453 http://www.electronics-lab.com/blog/?tag=gprs http://www.soselectronic.hu/a_info/resource/c/GSMSIM908EVBKIT.pdf https://www.youtube.com/watch?v=wI-pQyG13ZM http://www.cooking-hacks.com/documentation/tutorials/geolocation-tracker-gprs-gps-geoposition-sim908arduino-raspberry-pi 77. http://www.rhydolabz.com/wiki/?p=902 78. http://perso.wanadoo.es/pictob/imagenes/max232conex.gif 79. http://www.topkodas.lt/Downloads/GTalarm_v1_EN.pdf 80. http://www.tomshardware.co.uk/forum/33567-39-help-dialing-modem-data-calls 81. http://stackoverflow.com/questions/16595800/connecting-3g-usb-modem-to-56k-modem 82. http://embeddedsolutio.ucoz.com/Docs/SIM900demoProjects.pdf 83. http://extremeelectronics.co.in/avr-tutorials/sending-an-receiving-sms-using-sim300-gsm-module/ 84. http://www.xmodus.ch/Downloads/XM7400S/MMS_APN.pdf 85. http://www.edaboard.com/thread300622-2.html 86. http://www.libelium.com/development/waspmote/examples/gprsgps-20-uploading-files-to-a-ftp-server/ 87. http://linksprite.com/wiki/index.php5?title=SIM900_GPRS/GSM_Shield 88. http://www.picproje.org/index.php?topic=48443.0 89. http://www.picproje.org/index.php?topic=37239.0 90. http://www.elektrotekno.com/about48847.html 91. http://arduino.cc/en/Reference/SoftwareSerial 92. http://www.geeetech.com/wiki/index.php/Arduino_GPRS_Shield 93. http://wm.sim.com/upfile/2013424141345f.pdf 94. http://www.microchip.com/forums/m728715.aspx?high=uart+read 95. http://ww1.microchip.com/downloads/en/DeviceDoc/uartintc.readme.pdf 96. https://www.google.com.tr/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF8#q=pic16f877a+uart+read&start=10 97. http://www.ecse.rpi.edu/courses/CStudio/SDCC%20Compiler/sdcc-src-2.8.0/sdcc-src2.8.0/sdcc/device/include/pic16/ 98. http://www.mikroe.com/mikroc/pic/ 99. http://www.recaisinekli.com/wp/?p=172 100. http://forum.donanimhaber.com/m_60890295/tm.htm 101. http://www.ccsinfo.com/forum/viewtopic.php?p=96088 102. http://www.etteam.com/prod2013/et-base%20gsm%20sim900/ET-BASE%20GSM%20SIM900.pdf 103. http://www.soselectronic.hu/a_info/resource/c/SIM900-EVB_UGD_V1.01.pdf 104. http://sodoityourself.com/wp-content/uploads/2007/02/circuit_232.jpg 105. http://www.ethernut.de/img/rs232male-large.png 106. http://www.bilgigunlugum.net/cprog/c_konsol.html 107. http://nevraa.wordpress.com/tag/kbhit/ 108. http://www.edaboard.com/thread314011.html 109. http://m2msupport.net/m2msupport/software-and-at-commands-for-m2m-modules/ 110. http://320volt.com/seri-port-rs232-ile-pic16f877-bilgi-gonderme-okuma/ 25 111. http://www.kalfaoglu.com/c-dili/10.html 112. http://www.ccsinfo.com/forum/viewtopic.php?t=36523 113. http://www.mikroe.com/mikroc/pic/libraries/ 114. http://320volt.com/mikroc-dersleri-4/ 115. http://www.edaboard.com/thread201513.html 116. http://saeedsolutions.blogspot.com.tr/2012/05/pic18f452-uart-code-proteus-simulation.html 117. http://www.ccsinfo.com/forum/viewtopic.php?t=50390 118. https://ccsinfo.com/forum/viewtopic.php?p=60972 119. http://www.ccsinfo.com/forum/viewtopic.php?t=26427 120. http://www.youtube.com/watch?v=_IZcI3O0jX4 121. http://en.pudn.com/downloads136/sourcecode/embed/detail578103_en.html 122. https://www.mikroe.com/forum/viewtopic.php?f=88&t=24455 123. http://www.mikroe.com/forum/viewtopic.php?f=88&t=55253 124. http://www.edaboard.com/thread252430.html 125. http://www.embed4u.com/gsm-modem-interface-with-pic-18f4550-microcontroller/ 126. http://www.microcontroller4beginners.com/2013/12/controlling-home-appliances-using-sms.html 127. http://www.edaboard.com/thread231838.html 128. http://www.ccsinfo.com/forum/viewtopic.php?p=124446 129. http://www.picproje.org/index.php?topic=31789.0 130. http://www.picproje.org/index.php/topic,12885.msg318971.html#msg318971 131. http://www.picproje.org/index.php/topic,40229.msg380924.html#msg380924 132. http://m2msupport.net/m2msupport/at-command-tester-tutorial-for-gsm-gps-playground/ 133. http://www.8051projects.net/plugins/forum/forum_viewtopic.php?57484.30#post_57849 134. http://www.picproje.org/index.php?topic=24152.0 135. http://www.ccsinfo.com/forum/viewtopic.php?p=88342 136. http://www.picproje.org/index.php?topic=20274.0 137. http://tutorial.cytron.com.my/2011/12/08/control-and-monitor-via-sms/ 138. https://www.theseus.fi/bitstream/handle/10024/66512/thesis.pdf?sequence=1 139. http://www.nbcafe.in/gsm-based-control-system-by-pic-microcontroller/ 140. http://www.edaboard.com/thread241376.html 141. http://www.codeproject.com/Questions/178786/GSM-Modem-and-PIC16F877A/ 142. https://github.com/badr-ghatasheh/CCS_PIC16_SMS_Controller 143. http://www.codeproject.com/Questions/178786/GSM-Modem-and-PIC-F-A 144. http://www.electro-tech-online.com/threads/gsm-modem-interfacing-with-pic-microcontroller.103115/page-2 145. http://piclist.com/images/boards/thebug/SIO4_v0b.bas 146. http://www.picbasic.co.uk/forum/showthread.php?t=15482 147. http://www.uotechnology.edu.iq/tec_magaz/2013/volum312013/No.10.A.2013/Text(13).pdf 148. http://www.ijest-ng.com/vol3_no8/ijest-ng-vol3-no8-pp297-306.pdf 149. http://www.electronicspoint.com/threads/pic16f877a-with-gsm-modem-sim900a.271032/ 150. http://clone2.chat.ru/2_eng_simreader.htm 151. http://www.electronicshub.org/wp-content/uploads/2014/09/GSM-Controlled-Robot-Circuit-Diagram.jpg 152. http://www.developershome.com/sms/cmgwCommand.asp 153. http://www.developershome.com/sms/cmgwCommand2.asp 154. http://ccspic.com/ccs-c-ve-buton-ile-led-kontrol-uygulamasi/ 26 27