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 :)
saya pengen mengirim sms lewat internet? tolong bantu aku?
saya pengen mengirim sms lewat internet? tolong bantu aku?
mas aryo yang baik.. saya boleh minta source code bagaimana memecah sms yang melebihi kapasitas sms agar bisa dikirimkan beberapa kali ke user dalam bahasa delphi,bagaimana koneksi delphi dan mysql,dan bolehkah saya minta buku trik aplikasi pemrograman berbasis sms dalam bentuk file soalnya saya sudah mencari di toko buku tapi kayaknya buku itu tidak keluar lagi. atas perhatiannya saya ucapkan terimakasih.....
Halo tie, Untuk memecah SMS secara program, agar terkirim dua kali, cukup dilakukan pemecahan string SMS. Yang jadi masalah adalah mengaitkan kedua SMS tersebut, sehingga HP tujuan tau bahwa kedua SMS yang diterima itu sebenarnya 1 SMS. Ini yang aku belum tau :( Kalo ada rekan yang tau, bagi dong :) Untuk koneksi Delphi dengan MySQL, kamu butuh install MyODBC, download di http://www.mysql.com/products/connector/odbc/ Setelah itu kamu tinggal bikin DSN pada ODBC Windows, yang nantinya Delphi konek ke DSN ini. Untuk buku manual tentang SMS, maaf aku belum punya, belum nyari. Kayaknya buku mengenai hal tersebut masih banyak deh di Gramedia. Hm, kamu tinggal di mana? ups... privasi :D
alooooww tie, aku barusan explore nih cari artikel.. eh nemu artikel yang seperti loe mau.. ini link nya http://www.delphi3000.com/articles/article_4259.asp?SK= artikelnya aku coba paste di sini kok keluar undefined ? ya udah baca sendiri ajah ya tie
pak,saya mo tanya soal source code buat koneksi infrared ma bluetooth ke PC pake delphi.oya pak download yang bapak kasi tu pake infrared or bluetooth???trus tu udah da program koneksi pake infrared or bluetoothnya pa belum???klo udh source codenya yang mana pak???thanks ya pak
Halo Debes, Untuk mengirim SMS lewat internet, apa maksud kamu lewat website yang gratis? kalo iya, salah satunya bisa pake http://www.sms.ac Mungkin ada rekan lain yang mau nambahi. Kalo lewat program, bisa pake YM, ICQ, dll. Kalo melalui media internet, bisa pake protokol SMPP, tapi ini mesti bayar, dan kerjasama dengan operator seluler, atau content provider.
Halo Kiyat, Artikel itu membahas cara 'membersihkan' SMS dari karakter aneh, untuk mempersingkat SMS. Sedangkan pertanyaan tie, gimana cara memecah SMS dalam pengiriman, tapi nanti di HP tujuan bisa jadi satu lagi. Hm... punya artikelnya ga yat?
Halo tie, Untuk koneksi PC dengan HP, tidak dilakukan oleh Delphi/Aplikasi. Yang penting kamu sudah ada Kabeldata / Bluetooth / Infrared, bisa konek dengan HP, dan drivernya sudah keinstall (driver biasanya bawaan dari kabelnya), maka aplikasi itu sudah dapat dijalankan. Aplikasi tidak dikhususkan untuk satu jenis koneksi. Dengan kata lain, aplikasi itu bisa jalan dengan kabel data, infrared atau bluetooth. Asalkan dari koneksi tersebut sudah memunculkan COM untuk konek ke HP. Dan tentu saja, kita tidak butuh source-code untuk koneksi Bluetooth / Infrared, yang kebetulan aku tidak punya
mas aryo yang baik... makasih atas jawabannya yang kemarin. saya sudah baca artikel ttg aplikasi HP dan saya telah mencobanya tapi pada waktu saya klik aplikasi untuk pertama kalinya tampil pesan 'failed to get data for baudrate'padahal baudratenya udah diset 19200 sesuai dgn hpnya yaitu siemens c45, kemudian pas programnya jalan saya klik konek tampil pesan 'gagal membuka port' padahal pada hyperterminal bisa.kenapa ya? pada aplikasi hp indikator baterei dan sinyalnya mas aryo menggunakan komponen apa pada delphi? kalo mas aryo sudah dapat jawaban bagaimana memisah sms tolong kasih tau saya ya.. buat mas kiyat makasih atas bantuan artikelnya..
» Membaca SMS dari PC (162)Kompilasi beberapa unit yang digunakan untuk mengirim dan membaca SMS, dan menampilkan informasi handphone
Kirim-kiriman SMS memang asyik, apalagi kalo menggunakan PC, meski tetep aja bayar :-)