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 :)
pak,saya punya masalah ni. saya disuruh membuat masalah tentang bagaimana kita mereplay SMS dan MMS dari PC ke HP. Begini gambaran kasusnya: dari 1 HP kita mengirim ke HP lainnya. tetapi kadang2 karena banyaknya SMS dan MMS, HP yang dituju menjadi HANG atau error. untuk itulah HP yang menjadi pusat/tujuan harus digabungkan dengan PC agar bisa menampung ribuan atau bahkan jutaan SMS dan MMS. terus lewat PC itu pula kita bisa membalas ribuan atau jutaan SMS dan MMS itu. contoh kasus pengiriman SMS kepada presiden SBY. So. pak ARYO ataupun kawan-kawan yang terhormat bisa gak membantu saya, program apa yang sebaiknya saya gunakan? trus dimana saya bisa mendapatkan listing program ataupun artikel2 yang menjelaskan kesulitan saya tersebut.
Halo Renal, Kalo untuk kasus seperti itu, tidak cukup kalo mengandalkan handphone. Dalam artikel ini hanya dibahas untuk pengiriman SMS lewat HP, jadi cuma sebagai pengganti pengetikan lewat HP. Keterbatasan pengiriman lewat HP, tentu menjadi keterbatasan dalam artikel ini. Kalo gak salah, cuman bisa mengirim beberapa SMS dalam 1 menit. Nah, kalo untuk kasus seperti Renal ungkapkan, kita mesti kerja sama dengan operator seluler, untuk mendapatkan fasilitas tersebut. Di Indonesia kalo gak salah yang digunakan adalah protokol SMPP (Short Message Peer to peer Protocol), seperti fenomena pengiriman SMS pada AFI Indosiar :D Dengan SMPP kita bisa ngirim ribuan SMS sekaligus. Untuk itu, tidak digunakan HP lagi, tapi sudah pake koneksi kecepatan tinggi. Juga sediakan dedicated server (dan koneksi dedikated juga) untuk memproses setiap request, dan otomatis mereply-nya. Yang penting di sini adalah kerjasama dengan operator, kita sebagai Content Provider gitu. Itulah mengapa nomor SBY sekarang jadi 4 digit. Setelah dapet kerjasama dengan -semua- operator, kamu dipersilakan belajar Java, karena kebanyakan komponen untuk protokol SMPP ini berbasis Java. Atau gunakan aplikasi NowSMS (http://www.nowsms.com) untuk bantuan.
pak, saya dpt info dr teman saya katanya klo koneksi sms langsung dari hp ke pc pake sofware nokia pc suit tu klo da pesan masuk akan masuk ke inbox handphone dulu bagu kita pindahin lagi secara manual ke pc tapi pc bisa ngirim langsung ke hp yang ngirim pesan. Yang saya mo tu gimana caranya pesan(SMS ma MMS) yang masuk tu langsung masuk ke memori pc dan fungsi dari hpnya cuma sebagai penerima pesan masuk aja gak usah nyimpen pesan lagi.Ada gak pak software pendukungnya, trus source codenya klo ada kasi tau dong pak ;p trus software apa yang di-perluin klo mo ngirim balasan dari pc ke hp yang ngirim pesan.oya pak dimana saya bisa dapat kamus istilah - istilah dari handphone.makasih ya pak atas jawabannya!!!!
Halo thie, Coba kamu baca artikel ini: http://www.bengkelprogram.com/data-artikel-249.0.bps Itu adalah source dalam Delphi, untuk mengecek dan mengirim SMS. Kalo kamu ingin setiap ada SMS yang masuk langsung tersimpan di PC, tinggal kamu tambahkan Timer, misalnya tiap 5 menit dia ngecek SMS, dan langsung menghapus SMS di HP, lalu SMS-nya disimpan di database. Untuk ngirim SMS juga bisa, download aja sourcenya :D Wah, kalo untuk kamus istilah handphone, aku ga pernah tau. Tapi kalo untuk yang demikian, masuk aja ke http://whatis.com
pak aryo, aku lagi mulai belajar buat program sms pake delphi, aku pake handphone T610 dan komponen TComport (aku nda pake mscomm soalnya harus instal vb dulu ) aku dah bisa gunakan at command, cuman kan suport cmgc (text mode) cuman aku gak tau format pengirimannya, aku dah masuk sonyericson dan dapet semua perintahnya, cuman kurang mengerti tentang penggunaanya, karena formatnya membingungkan. tolong pak saya di bantu, cara kirim sms dengan text mode nya. terima kasih
Halo kiyat, Yee, yang suruh nginstall VB juga siapa, itu kan ide lama (dan pamungkas ) Ide dari Sri itu yang lebih bagus digunakan. Seingatku, text-mode itu pake AT+CMGF=1 Untuk ngirim SMS, justru lebih mudah: AT+CMGF=1
AT+CMGS="nomor tujuan" >teks untuk dikirim Tidak menggunakan PDU sama sekali. PDU akan dibikin sendiri oleh HP. Ok, kalo ada masalah, akan diusahakan. Tapi jangan panggil pak dong, om aja Masih belum nikah sih... mas aja deh.
aku coba ya mas (hue hue minta mas kan) ketika aku ketikan itu.. weheheheh its work.... oke deh mas terim kasih banyak buat artikel yang banyak ya.. biar aku tambah pinter kan "practice make prefect" and "ask make a friend"
nanya lagi tadi itu aku coba di hypperterminal, kemudian aku coba di delphi ketika aku pake command begini : with ComPort1 do begin WriteStr('AT+CMGF=1' + #13); WriteStr('AT+CMGS= "081127xxx" '+#13); WriteStr('Halloo test test'+#26+#13); end; kok nda mau ya? yang command pertama saja yang di execute, coba aku ganti dengan aku buat 3 button dan aku pisah command di atas berhasil, kenapa ya ?
1
hmmm.. iya ya jadi aku harus baca dari misal: procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer); var str : string; begin ComPort1.ReadStr(str,Count); Memo1.Text := Memo1.Text+str; end; jika memo keluar tanda > maka aku teruskan gitu ya mas, or di property tcomport yang lain. oke oke sip saya cob lagi
» 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 :-)