

Menyambung artikel Membaca SMS dari PC, kali ini dibahas cara mengirim SMS melalui PC.
Masih tetap menggunakan Borland Delphi, kita memulai pembahasan dengan bagaimana cara membentuk PDU untuk dikirim.
PDU yang diterima dari HP berbeda dengan PDU yang untuk dikirim, namun tetap menggunakan aturan yang sama. Perbedaannya terutama pada field yang dikandung, baik nilai maupun fungsinya. Untuk lebih detail mengenai PDU yang diterima, silakan membaca artikel sebelumnya.
Berikut ini struktur PDU untuk dikirim:
07 91 2658050000F0 11 00 0C 91 265836164900 00 00 FF 04 C830FB0D
Keterangan:
| Oktet / Digit Hexa | Keterangan |
|---|---|
| 07 | Panjang atau jumlah pasangan digit dari nomor SMSC (service number) yang digunakan, dalam hal ini adalah 7 pasangan (14 digit berikutnya) |
| 91 | Jenis nomor SMSC. Angka 91 menandakan format nomor internasional (misal +6281xxx). Untuk 081xxx menggunakan angka 81. |
| 2658050000F0 | Nomor SMSC yang digunakan. Karena jumlah digit nomor SMS adalah ganjil, maka digit paling belakang dipasangkan dengan huruf F. Kalau diterjemahkan, nomor SMSC yang digunakan adalah +62855000000 (IM3) |
| 11 | Oktet pertama untuk PDU SMS untuk dikirim (SMS SUBMIT). Untuk penjelasannya, silakan lihat artikel ini. |
| 00 | TP-Message-Reference. Diisi "00" agar diisi otomatis oleh handphone. |
| 0C | Panjang digit dari nomor penerima (0C hex = 12 desimal) |
| 91 | Jenis nomor penerima (sama dengan jenis nomor SMSC) |
| 265836164900 | Nomor penerima SMS, yang jika diterjemahkan adalah +628563619400 |
| 00 | Pengenal protokol, dalam hal ini adalah 0. Silakan baca keterangan di sini. |
| 00 | Skema pengkodean SMS, juga bernilai 0. |
| FF | Validitas waktu. FF berarti maksimum. Silakan baca keterangan di sini. |
| 04 | Panjang dari pesan SMS, dalam hal ini adalah 4 huruf (dalam mode 7 bit). |
| C830FB0D | Pesan SMS dalam mode 7 bit. Jika diterjemahkan kedalam 8 bit, lalu dirubah ke ASCII, maka didapat pesan 'Halo' |
Untuk handphone tertentu, kita dapat menghilangkan pemberian nomor SMSC pada PDU, untuk kemudian akan diisi oleh handphone sesuai dengan kartu yang sedang digunakan. Tapi untuk lebih amannya, kita sebutkan nomor SMSC yang digunakan.
Ketika PDU SMS selesai dibentuk, maka langkah selanjutnya adalah melakukan pengiriman PDU tersebut melalui port serial yang digunakan. Perintah yang pertama kali digunakan adalah AT+CMGS, dengan aturan sebagai berikut:
AT+CMGS=<jumlah oktet PDU>
<jumlah oktet PDU> diisi dengan jumlah pasangan dalam PDU yang terbentuk, dengan dikurangi SMSC. Dengan kata lain, kita menghitung jumlah oktet mulai dari kode SMS SUBMIT (11). Untuk contoh di atas, berarti jumlah digit dalam PDU adalah 36, yang berarti terdiri dari 18 oktet. Sehingga perintah yang digunakan adalah:
AT+CMGS=18
Setelah itu, tunggu respon dari handphone. Kalau gagal, dengan berbagai
alasan, maka yang dikembalikan adalah ERROR.
Sedangkan jika perintah tersebut diijinkan, maka yang dikembalikan adalah
karakter '>' (lebih besar).
Jika perintah tersebut sukses, selanjutnya adalah menuliskan semua PDU
tersebut ke handphone, dan diakhiri dengan penulisan karakter ASCII 26 (CTRL+Z).
Jika sukses, maka yang dikembalikan adalah OK. SMS terkirim, semoga.
Dari semua penjelasan di atas, diharapkan dapat dipahami langkah-langkah pengiriman SMS melalui PC. Untuk lebih jelasnya, silakan download source-code dalam program Delphi. Unit ini dapat digabungkan dengan unit untuk membaca SMS pada artikel sebelumnya.
Yang perlu diperhatikan adalah tentang pengaturan koneksinya. Karena masing-masing proses (kirim dan terima) membutuhkan koneksi ke handphone, maka harus diatur agar tidak terjadi proses terima dan kirim secara bersamaan.
Sekian pembahasan mengenai SMS. Jika ada pertanyaan atau kritik dan masukan, silakan kirim ke aryo.sanjaya@gmail.com.
Happy coding :)
Mau nanya nih, kalo bikin pasword dari Visual data manager-nya VB gimana caranya? makasih ya...........
tolong diperjelas pembahasannya! dan lebih detail plizzzzzzzzzz!!!!!!!!!!!!!
trimakasih sebelumnya atas sharring satu lagi pertanyaan, apa sudah ada yang punya rutin programnya untuk membaca long sms (lebih dari 160), baik yang type pdu atau type text, saya butuh untuk menerima long sms (kalau dibaca pakai perintah AT CMGL akan keluar beberapa sms, yang sebenarnya itu adalah satu sms yang di pecah2 per 160 char -> bukan begitu mas aryo..
?), setelah perintah AT CMGL tadi saya butuh rutin untuk mengabungkan/meng-concate beberapa sms tadi menjadi 1 buah string (tentunya jangan tergabung dengan sms yang lain ya..!) trimakasih wasalam
Alo Mas Aryo.. salam kenal.. saya mau bergabung dalam forum ini, saya pemula, baru mengerti AT Command. kulo arep takon (mau tanya):-) saya punya siemens Mc60, saya tes dengan Hiper Terminal OS Windows dengan perintah AT bisa berkomnikasi. tapi saya kesulitan untuk melihat daftar sms, telephon terakhir, dll mohon penjelasannya. matornuwon wassalam
Alo Mas Aryo.. salam kenal.. saya mau bergabung dalam forum ini, saya pemula, baru mengerti AT Command. kulo arep takon (mau tanya):-) saya punya siemens Mc60, saya tes dengan Hiper Terminal OS Windows dengan perintah AT bisa berkomnikasi. tapi saya kesulitan untuk melihat daftar sms, telephon terakhir, dll mohon penjelasannya. matornuwon wassalam
Artikel yang sangat menarik sekali... Saya mau sedikit bertanya ni Pak. Bagaimana caranya mengetahui nomor telepon yang masuk ke handphone menggunakan PC? Jadi ketika ada telepon yang masuk saya bisa mencatat log-nya kedalam PC saya. Mohon dijawab pak ya... Terima kasih
saya mencoba buat aplikasi sms gateway buat kantor saya, tp klo untuk 4 digit nomer, ada gak perusahaan yang menyediakan jasa tersebut terima kasih
ada gak yang pake vb6???
mas tanya dong, klo ngirim atao nerima file pake bluetooth or infra itu command nya apaan? terima kasih
Mohon bantuan nya dong mas... saya dapat tugas dari dosen peransist buat program pendaftaran dengan sms, mohon bantuan nya donk soalnya saya masih awam dalam membua program.....tolong ajarin dong.....Please secepatnya ya...
» Continues Form (0)Komponen Delphi berdasarkan mekanisme akses datanya: . Komponen BDE(borland database engina) Basis data yang di akses adalah: database paradox, dan dbase table. .Komponen ADO(activex data object) Basis data yang di akses:Ms Access,msSql serve
» Continues Form (2)Continues Form
» Barcode Reader (133)Menggunaka TRowPrinter untuk menangani permasalahan Continues Form
» Aplikasi Handphone (613)Menggunakan perangkat barcoder reader pada aplikasi kita sangatlah mudah
Kompilasi beberapa unit yang digunakan untuk mengirim dan membaca SMS, dan menampilkan informasi handphone