MENGENAL AT COMMAND PADA MODEM (GSM/HP)


MENGENAL AT COMMAND
Berikut ini akan kita coba bahas tentang AT Command yang berkaitan dengan penggunaan modem GSM. Cakupan pembahasannya adalah:
1.    AT Command Syntax
2.    General Commands
3.    Network Service Commands
4.    Control Status Commands
5.    Phonebook Commands
6.    Short Messages Commands
Bahan rujukan secara lengkap dapat ditemukan pada:
* Digital cellular telecommunications system (Phase 2+); AT command set for GSM Mobile Equipment (ME) (GSM 07.07 version 7.4.0 Release 1998)
* Digital cellular telecommunications system (Phase 2+); Use of Data Terminal Equipment - Data Circuit terminating; Equipment (DTE - DCE) interface for Short Message Service (SMS) and Cell Broadcast Service (CBS) (GSM 07.05 version 5.5.0)

referensi dapat dibaca pada wikipedia :
DTE http://en.wikipedia.org/wiki/Data_terminal_equipment
DCE http://en.wikipedia.org/wiki/Data_circu … _equipment
NT http://en.wikipedia.org/wiki/Network_termination
TA http://en.wikipedia.org/wiki/Terminal_adapter
RS232 http://en.wikipedia.org/wiki/Rs232
modem http://en.wikipedia.org/wiki/Modem
ITU V standard v92  http://en.wikipedia.org/wiki/V.92
perintah AT hayes-compatible : http://en.wikipedia.org/wiki/Hayes_command_set
digital signal 0 standard http://en.wikipedia.org/wiki/DS0


Barangkali sebelum kita mulai membahas hal-hal di atas perlu saya kemukakan beberapa hal, yaitu:
1. Perangkat modem yang dapat anda gunakan boleh berupa handphone atau modem GSM khusus. Yang penting itu mendukung AT Command untuk keperluan pengiriman dan penerimaan SMS.
Jika anda bermaksud menggunakan modem GSM khusus, saya merekomendasi anda untuk menggunakan modem Wavecom Fastrack atau Ultimo sebagai berikut:
* WAVECOM M1306B (Q2406B) serial RS232, harga sekitar Rp. 450.000,-
* WAVECOM M1306B (Q2403A) serial RS232, harga sekitar Rp. 325.000,-
* WAVECOM M1306B (Q2406B) USB, harga sekitar Rp. 450.000,-
* WAVECOM M1306B (Q2403A) USB, harga sekitar Rp. 325.000,-

Jika anda punya uang lebih, Anda dapat menggunakan:
* ULTIMO 24+ Lite serial RS232, harga sekitar Rp. 900.000,-
* WAVECOM Fastrack Supreme 10, harga sekitar Rp. 1.500.000,-
2. Software untuk mencoba mengirimkan AT Commands dan membaca respon dari modem dapat menggunakan software yang telah ada, seperti HyperTerminal (Windows) atau Minicom (Linux).
Cara penggunaan software di atas silahkan dibaca di petunjuk pengunaannya masing-masing.





1. AT Command Syntax
Struktur dasar suatu baris perintah AT adalah sebagai berikut:

Suatu baris perintah dapat dibentuk oleh satu perintah atau beberapa perintah dan diakhiri oleh <CR>.
Jika suatu baris perintah dibentuk oleh beberapa perintah maka:
* Perintah AT cukup ditulis satu kali, yaitu di perintah pertama
* Setiap perintah dipisahkan oleh simbol titik-koma (;)
Atas setiap perintah yang diberikan, modem akan memberikan respon, yaitu:
* <CR><LF>OK<CR><LF> jika sukses
* <CR><LF>ERROR<CR><LF> jika terjadi kesalahan (ini akan dibahas terpisah)
* <CR><LF>respon<CR><LF> jika ada respon khusus (ini akan dibahas di dalam perintah yang bersangkutan.
Di dalam sintaks perintah kadang terdapat simbol yang dilambangkan di dalam tanda kurung siku untuk mewakili satu karakter tertentu, yaitu:
<CR>       = cariage return
<LF>        = line feed
<ESC>     = escape
<CTL+Z> = Control+Z
Dalam memberikan perintah-perintah ini anda harus memastikan bahwa pelaksanaan suatu perintah telah selesai sebelum anda memberikan perintah yang baru. Jika tidak, perintah kedua dan seterusnya akan memberikan respon "ERROR".

2. General Commands
Perintah:
  AT+CGMI
  AT+CGMI=?
Deskripsi:
  Meminta identifikasi pembuat modem.
Respon yang mungkin:
  <identitas pembuat modem>
  +CME ERROR: <err>
Contoh:
  > AT+CGMI
  < WAVECOM MODEM
  < OK

Perintah:
  AT+CGMR
  AT+CGMR=?
Deskripsi singkat:
  Meminta identifikasi revisi modem.
Respon yang mungkin:
  <revisi>
  +CME ERROR: <err>
Contoh:
  > AT+CGMR
  < 641b09gg.Q2403A 1320676 061804 14:38
  < OK
  > AT+CGMR=?
  < OK
Perintah:
  AT+CGSN 
  AT+CGSN=?
Deskripsi singkat:
  Meminta identifikasi nomor seri produk/modem
Respon yang mungkin:
  <sn>
  +CME ERROR: <err>
Contoh:
  > AT+CGSN
  < 012345678901234
  < OK
Perintah:
  AT+CSCS=<chset>
  AT+CSCS?
  AT+CSCS=?
Deskripsi singkat:
  Memilih kumpulan karakter TE yang akan digunakan.
Respon yang mungkin:
  +CSCS: <chset>
  +CSCS: <list-chset>
Contoh:
  > AT+CSCS?
  < +CSCS: "PCCP437"
  < OK
  > AT+CSCS=?
  < +CSCS: ("GSM","PCCP437","CUSTOM","HEX")
  < OK
  > AT+CSCS="GSM"
  < OK
  > AT+CSCS="SGM"
  < ERROR
Perintah:
  AT+CIMI
  AT+CIMI=?
Deskripsi singkat:
  Meminta identitas IMSI.
Respon yang mungkin:
  <IMSI>
  +CME ERROR: <err>
Contoh:
  > AT+CIMI
  < 510017311954381
  < OK


Pake semua modem, ponsel, baik GSM maupun CDMA juga bisa. Yang penting nanti ketemunya Serial, sehingga bisa dikirim dengan AT Command.
Seperti di tukang pulsa elektrik. mereka pake ponsel bekas. Lalu di pasang kabel dibuat konverter level TTL ke RS232, kemudian dibuat program seperti kata cak mus, bisa dengan metode CreateFile nya windows API. Dan ternyata tahan bandel.
Untuk AT Command untuk format SMS dan MMS tidak sederhana memang. Tapi masih bisa dipelajari, walau referensinya agak jarang.
Jadi initinya SMS Gateway bisa dibangung dengan
- sembarang modem. (modem/HP//GSM/CDMA)
- sembarang OS
- sembarang Compiler.

Sedikit Tambahan,
USSD, adalah layanan interaktif simcard seperti #123*,
sedangkan STK (SIM Toolkit) adalah menu dari simcard, biasanya terlihat menu baru dihandphone.
ATCommand penggunaan USSD untuk modem sebagai berikut,
: at+cusd=1, #123*; [Enter]
ATCommand penggunan STK untu modem sebagai berikut,
: ada tiga perintah 
1. +STGI (SIM Toolkit Get Information) adalah perintah untuk mendapatkan semua informasi tentang perintah SIM Toolkit.
Contoh:
AT+STIN=0     ==> mendapatkan informasi tentang “Setup Menu†
2. +STGR (SIM Toolkit Give Respone) adalah perintah untuk memberi tanggapan yang diberikan oleh AT+STGI
3. +STIN (SIM Toolkit Indication) adalah untuk mengidentifikasi perintah proaktif yang dikirim melalui mekanisme yang tidak diminta  oleh Indikasi SIM Toolkit dan memberikan tanggapan dari perintah at+STGR


Contoh bash script untuk sms gateway ditulis dalam bahasa bash, buat baca, ngirim, hapus sms :
ini contoh untuk ngirim sms aja.
sebelumnya modem harus di init dulu ,
#set port sama baudratenya, sesuaikan dgn port di komputer dan baudrate modem anda
stty -F /dev/tts/0 raw speed 115200 -echo
ini file bash nya, anggaplah sms.sh
#!/bin/bash
echo "nomor=$1"
echo "pesan=$2"
#set format pesan (text)
echo -e "AT+CMGF=1 \015" > /dev/tts/0
#set nomor yg akan dikirim
echo -e "AT+CMGS=\"$1\" \015" > /dev/tts/0
sleep 2
#tulis isi pesannya
echo -e -n "$2" > /dev/tts/0
#execute ctrl+z, dan hasilnya di dump
cat /dev/tts/0 > dump/dump_sendsms &
echo -e "\032" > /dev/tts/0
sleep 4
killall cat
#cek pesan terkirim atau tidak, hasil return tergantung kualitas operator
if `tail dump/dump_sendsms | grep "OK" 1>/dev/null 2>&1`
then
    echo "OK"
else
    echo "ERROR"
fi
sleep 1
#EOF

 eksekusi :
./sms.sh(spasi)"nomor"(spasi)"isi pesan"
untuk atcommand nya, setiap modem berbeda2.. silahkan disesuaikan.


cuplikan perintah dalam C/C++ untuk Windows:

..hCom = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);...dcb.BaudRate = 115200;dcb.fBinary = 1;dcb.fOutxCtsFlow = 0;dcb.ByteSize = 8;dcb.Parity = NOPARITY;dcb.StopBits = ONESTOPBIT;dcb.fDtrControl = DTR_CONTROL_ENABLE;dcb.fRtsControl = RTS_CONTROL_ENABLE;fSuccess = SetCommState(hCom, &dcb);...WriteFile(hCom, "AT+CSMS=0\r",10, &n, NULL);...ReadFile(hCom, buffer, 1024, &n, NULL);...CloseHandle(hCom);...



Bagi yang pake vb6, tambahkan komponen SSGEngine.ocx (googling ajah !) komponen ini mendukung autodetek sampai dengan 8 modem/hp, kirim dan terima sms dll
untuk membuka modem cukup tambahin perintah :
    If Ssg1.OpenModem Then
        Label1.Caption = "Modem Online"
        Ssg1.ModemInfo (1) <== Tampilkan informasi modem no 1
    Else
        Label1.Caption = "Modem Offline"
        MsgBox "Modem tidak terdeteksi / sedang digunakan oleh program lain"
    End If
untuk kirim tinggal tambahkan syntax
Ssg1.SendSMS(NomerModem, Notelepon, IsiPesan)





ShowHideComments