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 :)
Halo Tie, Wah, maaf terlewati njawabnya :( aku ga disiplin baca email nih. Sebagai informasi, aplikasi SMS ini sama sekali tidak berhubungan dengan jenis koneksi, baik itu Bluetooth, Infrared, atau kabel data. Yang dilakukan aplikasi adalah berkomunikasi dengan Port Com, yang merupakan interface bagi aplikasi dengan Handphone. Jadi, aplikasi tidak perlu tau jenis koneksi yang digunakan. Tapi kalo Tie masih 'penasaran', silakan lihat ke sini: http://cvs.sourceforge.net/viewcvs.py/fma/fma/components/ Di situ ada source (WBluetoothSocket.pas), untuk komunikasi antara Delphi dengan Bluetooth :)
Pak kalo aplikasi hp & microkontrol pernah bikin? Idenya sih.. outomatisasi alat/sistem dgn menggunakan sms. atau sistem alarm mengirim sms otomatis ke nomer kita klo trigernya on. Gimana pak ? pernah punya pengalaman? Thx.
Halo Trihan, Aku belum pernah bikin, tapi beberapa teman pernah mencobanya. Kalo mau coba, silakan mereferensi ke artikel ini: http://www.riccibitti.com/tinyplanet/tiny_article.htm http://www.wrankl.de/SMST4PIC/SMST4PIC.html Semoga berguna :)
saya sudah bekerja sama dengan salah satu operator, saya akan menjadi content provider,saya akan dijadikan sebagai PUSH SERVER via http saya diberikan parameter sebagi berikut: http://pushhost/push?uid=
&pwd= &serviceid= &msisdn= &sms= &transid= &smstype= ;uid dan password sudah diberi tahu tetapi serviceid dan transid didapat dari mana? Menurut keterangan operator transid di dapat dari PULL SERVER, setelah mereka mem PULL server kita, Parameter PULL server adalah : http://pullserver/register.php?msisdn=msisdn&sms=test+test&trx_time=trx_time &transid=transid, Files register.php harus berada di server kami,sedangkan kami tidak tahu isinya,dapatkah bapak membantu memberikan penjelasan isi file tersebut, terima kasih
mas, minta tolong dong.... plizzzz aku dpt tugas dr dosenku buat aplikasi di hp pake mac. flash 8. aku bingung mo buat apa, trus source codenya gimana? tapi gak boleh buat game...
Sam Hadi: Kalo saya lihat dari proses Pull dan Push antar server ini, kemungkinan isi script register.php adalah 'pemberitahuan' dari mereka jika ada SMS masuk. Parameter dalam query tersebut berisi informasi yang dibutuhkan oleh register.php, yang menurut saya, akan memprosesnya ke dalam database. Anda memang tidak diberikan transid, karena nilai transid didapat dari query untuk tiap-tiap SMS. Sedangkan untuk serviceid, saya rasa anda perlu menanyakannya ke pihak operator, karena itu berhubungan dengan pengelompokan proses di mereka. Lalu, apakah sistemnya sudah berjalan? Untuk Hadie: Macromedia Flash jalan di HP (Handphone) ? Aku belum pernah tau tuh Untuk source-code, di Flash tidak begitu banyak coding-nya, karena menurutku sebagian besar prosesnya bergantung dari penataan layer dan interaksinya. Kamu tentu telah tau tentang hal ini. Kalo ga boleh buat game, bisa aja bikin model lain, misalnya presentasi atau Company Profile Semoga sukses deh.
Halow mas, saya lagi nih... apakah bisa menggunakan sms gateway yg kita buat melalui web? maksudnya mengirim sms via web dengan menggunakan engine sms gateway yg kita buat, php misalnya seperti smsnow, ada referensi mas? TXH
Halo RizaA, Prinsip yang digunakan sama dengan SMS Autorespond, yaitu menggunakan database sebagai penyimpan antrian SMS. Kalau SMSNow dia nyimpan antriannya di file dalam suatu direktori. Engine yang kamu buat, selalu mengecek isi tabel Outbox, dan mengirimkannya jika ada isinya. Lalu aplikasi lain (misalnya PHP), jika akan mengirim SMS, tinggal menyimpannya ke database tersebut. Simple kan? Alasan kenapa PHP tidak bisa langsung mengakses HP, karena sistemnya yang berbeda. Bayangkan jika ada beberapa user yang mengirim SMS secara bersamaan, HP pasti jadi bingung.
menyambung tentang SMS PUSH DAN PULL SERVER, Server yang kami PULL,Transid sudah kami dapat, Respon dari Server PULL
,tetapi Pesan Tidak Sampai Ke Nomor Tujuan, Dan Ketika Kami Mengirim Dari Ponsel Ke Nomor Content Provider kami,tidak ada pesan apapun yang masuk,(file register php telah kami buat) 0 62816166868120060502165723866 OK
Halo Sam Hadi, Terus terang saya kesulitan untuk 'menerawang' lebih lanjut, karena belum memahami sistem yang diterapkan oleh provider anda. Dari penjelasan anda, kalau anda mengambil SMS PULL, bukankah mengirimkannya nanti lewat PUSH? Untuk file register.php, instalasinya harus mengikuti aturan main dari provider anda. Mestinya anda mendapatkan petunjuk dari mereka kan? Atau kalo anda ingin bertanya lebih lanjut, silakan kirimkan saja file tersebut ke email saya.
» 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 :-)