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 :)
Hmm... ya ga usah terlalu disiplin kayak gitu lah... Dari variabel 'str' di program kamu itu kan bisa dicek, pake fungsi Pos(). Kalo melibatkan Memo, kayaknya terlalu mubazir deh Kalo mau lihat, di source pada artikel Aplikasi Handphone, ada pengecekannya. Ok deh, selamat mencoba. Kalo sukses, kirim SMS pake program itu ke 08563619400, ya Oh ya, Semarang dekat sama Demak kan
hue hue iya mas bener udah di coba, dan berjalan dengan lancar. one case solved, tinggal coba pake phonebook semarang - demak 30 menit ajah, kaya surabaya-semarang naik mandala D he he he siapa yang di demak mas?
kelupaan nanya kalo baca sms deliverynya pake apa ya?
Untuk ngeset delivery report, dapat dilakukan pada PDU-nya, sehingga SMSC tau kalo kita minta laporan status SMS. Kalo kamu lihat artikel di atas, di tabel itu disebutkan Oktet Pertama. Di field itulah kita bisa ngeset tentang hal ini. Di situ juga ada link untuk melihat kejelasan mengenai isi field dan fungsinya. Kalo di artikel itu, oktet diisi dengan '11', maksudnya adalah waktu pengiriman yang relative, dan PDU sebagai PDU Submit. Silakan lihat detailnya untuk menyesuaikan keperluan Oh ya, aku cah nDemak...
pak,kok susah banget yach nyari artikel tentang arti istilah dalam hp.saya butuh buat bahan literatur buat daftar pustaka. klo cm arti2nya doang saya ngerti tapi saya cari yang bener2 akurat.punya solusi gak pak???
Halo thie, Untuk yang bersifat detail, coba lihat Wikipedia, ensiklopedi yang lagi ngetrend: http://wikipedia.org/ Di situ berbagai macam bahasa ada, pembahasannya juga mendetail, karena saling melink antar entity. Aku nyoba cari kata SMPP, lumayan detail deh. Untuk yang mendekati komersil, tapi tetep gratis: http://www.howstuffworks.com/ Istilah HP yang kamu maksud seperti apa sih...? kali aja aku nemu situs lain :D
ikutan jawab ya mas. kemarin aku pas lg belajar cara kirim sms, masuk ke site nya yang buat, aku masuk ke sitenta se, dan forum gsm, banyak juga yg di dapet, juga pembuat memberikan panduan develop, jadi bisa tuh di pake istilah yang di ambil dari situ, aku kemarin dapet banyak istilah dan command apa ajah yg ada di hp SE
mas, kalo dari hyperterminal kan kalo telpon bunyi hyperterminal akan menampilkan RING RING sesuai jumlah bunyi, ada gak component delphi or cara di delphi agar kalo handphone bunyi langsung kasih tau, jd bukan kita yang minta, tapi hp yang kasih gimana mas? kalo kita yang minta mungkin kan kita butuh timer untuk cek tiap interval waktu.
sebelumnya terimakasih atas tutorial yg sgt bgs,yg saya tanyakan apakah data yang masuk ke hp dan kita panggil jg ke pc kemudian sms di hp yg sudah kita tarik bisa gak dihapus ,terima kasih
mau lihat websitekuAdi Grahito
» 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 :-)