AT Komutları Nedir?
Telefonunuza günde birçok kez reklam veya hatırlatma amacıyla dershanelerden, resmi kurumlardan telefonlarımıza mesaj geliyordur. Peki bu mesajlar tek tek telefonla mı atılıyor yoksa bunun bir programı mı var? Gelin hep birlikte nasıl yapıldığını inceleyelim.
04.03.2016 tarihli yazı 35917 kez okunmuştur.
“ATtention” kelimesinin kısaltması olan AT komutları bir modemi kontrol etmek amacıyla kullanılır. Tüm komutlar “AT” veya “at” ile başlar. Bu komutların çoğu modemi kontrol etmek için kullanılsa da GSM/GPRS modemlerini ve mobil telefonlarını da kontrol etmek için kullanılır. Modem kontrolü için kullanılan AT komutlarının SMS ile ilişkili özel bir komut seti vardır. Örnek vermek gerekirse;
►AT+CMGS komutu SMS mesajı yollamak için,
►AT+CMSS komutu depodan mesaj yollamak için,
►AT+CMGL komutu SMS mesajlarının listelenmesi için,
►AT+CMGR komutu SMS mesajlarının okunması için kullanılır.
►AT+CMGS komutu SMS mesajı yollamak için,
►AT+CMSS komutu depodan mesaj yollamak için,
►AT+CMGL komutu SMS mesajlarının listelenmesi için,
►AT+CMGR komutu SMS mesajlarının okunması için kullanılır.
►İlginizi Çekebilir: GSM Nasıl Çalışır? | 1. Bölüm
“AT” sadece komut göndermek için bir başlangıcı ifade eder. Tek başına bir komut değildir. Örneğin, AT+CMGS komutunun adı +CMGS’dir.
İki çeşit AT komutları vardır. Bunlar temel komutlar ve genişletilmiş komutlardır.
>>Temel komutlar + ile başlamaz. Örneğin D(Dial), A(Answer), H(Hook Control) ve O(Return toonline data state) gibi komutlar temel komutlar grubuna girer.
>>Genişletilmiş komutlar ise + ile başlar. GSM ile ilgili olan AT komutlarının hepsi genişletilmiş komutlardır. Örneğin üstte açıklaması yapılan +CMGS, +CMSS, +CMGL, +CMGR komutları genişletilmiş komutlar grubuna girer.
AT Komutlarının Sintaks Kuralları
1) Bütün komutlar “AT” eki ile başlar ve satır başına dönüş karakteri ile biter. Bu satır başına dönüş karakterini <CR> ile göstereceğiz. Örneğin okunmamış mesajları listeleyen “+CMGL” komutu programa şöyle yazılır:
AT+CMGL<CR>
2) Bir satırda birden fazla AT komutu olabilir. Sadece ilk komut “AT” ile başlamalı ve diğer komutu ayırmak için noktalı virgül (;) kullanılmalıdır. Örneğin yukarıdaki +CMGL komutu ile mobil aygıtın imalatçı numarasını çıkaran +CGMI komutu aynı satırda programa şöyle yazılır:
AT+CMGL;+CGMI<CR>
3) Eğer string yani text yazılacaksa çift tırnak içine yazılmalıdır. Örneğin; SMS textmodunda mesaj deposundaki tüm mesajları okumak için “ALL” stringi atanmalıdır.
AT+CMGL=”ALL”<CR>
4) Komutların gönderdiği cevaplar da aynı şekilde satır başına dönüş karakteri <CR> ve besleme denilen ve <LF> diye gösterilen karakterlerle başlar ve biter. <CR> ve <LF> denilen karakterler programdan programa değişiklik göstermektedir. Bunu yazının sonunda yapılacak bir örnek ile daha açıklayıcı bir şekilde göstereceğiz. Cevap olarak gelen mesajları aşağıdaki gibi örnekleyebiliriz:
<CR><LF>Nokia<CR><LF>
<CR><LF>OK<CR><LF>
Yukarıdaki ilk cevap, +CGMI komutunun cevabıdır. İkinci cevap ise komutların başarılı bir şekilde iletildiğini ve daha fazla veri gönderilmediğini, son kodun da ulaştığını gösterir.
AT+CMGL<CR>
2) Bir satırda birden fazla AT komutu olabilir. Sadece ilk komut “AT” ile başlamalı ve diğer komutu ayırmak için noktalı virgül (;) kullanılmalıdır. Örneğin yukarıdaki +CMGL komutu ile mobil aygıtın imalatçı numarasını çıkaran +CGMI komutu aynı satırda programa şöyle yazılır:
AT+CMGL;+CGMI<CR>
3) Eğer string yani text yazılacaksa çift tırnak içine yazılmalıdır. Örneğin; SMS textmodunda mesaj deposundaki tüm mesajları okumak için “ALL” stringi atanmalıdır.
AT+CMGL=”ALL”<CR>
4) Komutların gönderdiği cevaplar da aynı şekilde satır başına dönüş karakteri <CR> ve besleme denilen ve <LF> diye gösterilen karakterlerle başlar ve biter. <CR> ve <LF> denilen karakterler programdan programa değişiklik göstermektedir. Bunu yazının sonunda yapılacak bir örnek ile daha açıklayıcı bir şekilde göstereceğiz. Cevap olarak gelen mesajları aşağıdaki gibi örnekleyebiliriz:
<CR><LF>Nokia<CR><LF>
<CR><LF>OK<CR><LF>
Yukarıdaki ilk cevap, +CGMI komutunun cevabıdır. İkinci cevap ise komutların başarılı bir şekilde iletildiğini ve daha fazla veri gönderilmediğini, son kodun da ulaştığını gösterir.
Şimdi de başlıca AT komutlarını gösterelim. Aşağıda sırayla AT komutları ve altlarında onların cevapları verilecektir.
►AT Test: Seri port ile gönderdiğimiz komutların sorunsuzca ulaşıp ulaşmadığını anlamak için kullanılır. Programa AT yazılır ve cevap olarak eğer sorun yoksa modeme iletimde OK gelir.
►Komut Test: GSM/GPRS modem veya cep telefonu tarafından sorgulanan komutun desteklenip desteklenmediğinin kontrolü için kullanılır. Komut yazılıp sonuna “=?” yazılır. Örneğin, programa AT+CGMI=?yazılır ve eğer bu komut cihaz tarafından destekleniyorsa cevap olarak OK gelir. Eğer desteklenmiyorsa yazılan komut, cevap olarak ERROR gelir.
►Sim Kart Kontrolü: Programa:
AT+CPIN?
Yazılır ve cevap olarak:
+CPIN: READY (Sim Kart okunabiliyorsa bu cevap gelir.)
OK
gelir.
►Şebeke Kontrolü: Programa:
AT+CREG?
Yazılır ve cevap olarak:
+CREG: 0,1 (Şebekeye bağlanmış durumda ve arama yapılabilir.)
OK
gelir.
►SMS Servis Merkez Numarasını Öğrenmek: Format şu şekildedir:
+CSCA=”numara”,numara tipi
Numara tipi olarak 129 ve 145 kullanılmaktadır. 129 yazıldığında numara formatı şu şekildedir: “05XXXXXXXXX”. 145 yazıldığında numara formatı şu şekildedir: “+905XXXXXXXXX”.Şimdi bir örnek yapalım:
AT+CSCA=”+905429800033”,145
Yukarıdaki örnek komutta, sms merkezi numarası olarak bu numarayı kullanması istenir. Örnek olarak Vodafone’ nun mesaj merkez numarası kullanılmıştır. Numara tipi olarak 145 yazıldığı için numara + ile başlamıştır.
Şu anki SMS merkez numarasını sorgulamak için ise;
AT+CSCA? yazılır.
Cevap olarak da örneğin +CSCA:”+905376901923”,145 gibi ifade gelir. Burada siz SMS merkezinin numarasını soruyorsunuz program da size ne olduğunu söyler.
►SMS Göndermek: Aşağıda sıra ile SMS göndermek için komutlar yazılmıştır.
AT+CMGF=1 (Bu komut gelen mesajın text olmasını ifade eder.)
OK (Komutun doğur ulaştığını, bir problem olmadığını cevap olarak gösterir.)
AT+CMGS=”05551234567” (Bu komut mesajın gitmesini istediğiniz
numarayı ifade eder)
> (Bu işaret geldiğinde cevap olarak, üstteki komutun problem olmadan ulaştığını ve sizden şimdi göndermek istediğiniz mesajı girmenizi beklediğini ifade eder.)
>MERHABA<CTRL-Z ya da ASCII 26> Üstteki “>” cevabından sonra gönderilmek istenen mesaj yazılır ve CTRL-Z ya da ASCII 26 ile gönderim işlemi bitirilir.
+CMGS:81 (Bu cevap ile mesajın başarılı bir şekilde gönderildiğini anlarız. Eğer gönderilemeseydi ERROR dönecekti)
Kaynak:
►developershome
YORUMLAR
Aktif etkinlik bulunmamaktadır.
- Dünyanın En Görkemli 10 Güneş Tarlası
- Dünyanın En Büyük 10 Makinesi
- 2020’nin En İyi 10 Kişisel Robotu
- Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı
- Üretimin Geleceğinde Etkili Olacak 10 Beceri
- Olağan Üstü Tasarıma Sahip 5 Köprü
- Dünyanın En İyi Bilim ve Teknoloji Müzeleri
- En İyi 5 Tıbbi Robot
- Dünyanın En Zengin 10 Mühendisi
- Üretim için 6 Fabrikasyon İşlemi
- DrivePro Yaşam Döngüsü Hizmetleri
- Batarya Testinin Temelleri
- Enerji Yönetiminde Ölçümün Rolü: Verimliliğe Giden Yol
- HVAC Sistemlerinde Kullanılan EC Fan, Sürücü ve EC+ Fan Teknolojisi
- Su İşleme, Dağıtım ve Atık Su Yönetim Tesislerinde Sürücü Kullanımı
- Röle ve Trafo Merkezi Testlerinin Temelleri | Webinar
- Chint Elektrik Temel DIN Ray Ürünleri Tanıtımı
- Sigma Termik Manyetik Şalterler ile Elektrik Devrelerinde Koruma
- Elektrik Panoları ve Üretim Teknikleri
- Teknik Servis | Megger Türkiye
ANKET