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 Mr Lamsidjan, Sayang sekali aplikasi ini belum mendukung teknologi CDMA, jadi belum bisa menggunakan perangkat Quasar CDMA. Jika ingin menggunakan modem saja, anda bisa mencoba GSM Modem. Atau untuk beberapa tipe HP, misalnya Sony Ericsson K750i, dia selalu mengisi battre selama terhubung ke PC, jadi tidak perlu kuatir tentang battrey-nya. Selamat mencoba
Terima kasih atas komentar kawan kawan diforum. Saya punya masalah dengan Siemen A55. Telah saya coba beberapa instruksi tetapi belum ada reaksi. Apakah kawan-kawan di forum ada yang tahu solusinya ???. Maksih
Halo Mughni, Kalo boleh diperjelas, di manakah anda melakukan instruksi tersebut? Apakah melalui aplikasi Hyper Terminal? Jika memang dari aplikasi itu, coba ketik perintah: ATE1
Jika tidak ada respon OK, berarti koneksi dengan port Com anda perlu di'curigai'. Mungkin Baudrate-nya terlalu tinggi (Siemens A55 kayaknya masih pada speed 19200 kbps). Selain itu, cek di setting BIOS anda, dan pastikan setting untuk Com yang anda gunakan untuk HP itu, dalam keadaan default (normal). Silakan dicoba lagi, dan laporkan perkembangan masalahnya
sudah urung mas aryo, niat untuk buat sms gateway habis fbus belum dikuasai url showcase componen ocx vb itu sudah saya download dengan harapan bisa tinggal pakai componennya saja jadi mudah tidak usah belajar protokol fbus/mbus, begitu juda dengan demo programnya. tapi sebelum saya pelajari ocx nya itu saya jalan kan demonya tapi demo nya saja error tidak mau koneksi, tidak seperti sms.me buatan kioss project itu, jadi saya tidak pelajari. apa saran mas aryo tentang hp yang full at command merek,type,kabel datanya yang di recoment mas aryo untuk pembuatan sms gateway biar saya cari hp tersebut. thanks
saya butuh tutorial hp siemen c35 dengan port com. apa dah pernah ditampilkan???? bagi yang punya hubungi saya ya..
Halo Miing, Ikut bersedih untuk permasalahan yang kamu hadapi :( Tapi jalan menuju target masih banyak kan? jadi kita coba cara lain :D Daripada mengatakan 'banyak sekali HP yang support AT Command', lebih baik aku sebutkan HP yang telah sukses aku gunakan, selama ngoprek AT Command :) 1. Siemens C35 dengan koneksi kabel data, yang lewat port Serial. Kalo pake COM secara fisik, semestinya dilakukan di Windows 98. Kalo di Windows XP bakal error. Untuk dapat jalan di Windows XP, gunakan driver tambahan, UserPort. Silakan download di sini: http://www.embeddedtronics.com/public/Electronics/minidaq/userport/UserPort.zip 2. HP Siemens CX65, dengan kabel datanya DCA-540 (original) lewat USB. Harga kabel sekitar 95 ribu. Ada yang bilang lebih bagus pake MA-CABLE (MobileAgent), tapi aku belum pernah coba. 3. Nokia 3530, dengan koneksi Infrared. 4. SonyEricsson T610, dengan koneksi Bluetooth. 5. SonyEricsson K750i dengan kabel data bawaannya (paketan). Silakan pilih yang disukai :)
Halo Rahma, Untuk HP Siemens C35, tutorialnya masih sama dengan artikel ini kok :) Yang berbeda hanya jika kamu menggunakannya di Windows XP, yang tidak mengijinkan akses port secara langsung, mesti lewat driver. Untuk download drivernya, gunakan link ini: http://www.embeddedtronics.com/public/Electronics/minidaq/userport/UserPort.zip Selamat mencoba.
mas aryo, kenapa program aplikasi handphone begitu dibuka diberi pesan error TXComm not found. padahal MSComm32.ocx nya sudah diinstall?
Halo Andri, Untuk source yang terbaru, MSComm32 sudah tidak digunakan lagi. Error TXComm not found, karena komponen TXComm belum kamu install. - Download ini dulu: http://www.bengkelprogram.com/download-ouxcom.zip - Extract di suatu directory, misalnya C:ouxcom - Buka Delphi - Open file .dpk dari c:ouxcom - Tekan install - Masuk menu Tools > Environment Options > Library - Tambahkan direktori c:ouxcom pada daftar Library Path - Library sudah terinstall Selamat mencoba.
mas aryo sebelumnya thanks atas tangapannya. mengenai hp siemens c35 masih ada di pasaran khan (baru maksudnya)? kalau pakai usb/ir/bluetooth itu koneksinya sama seperti virtual port serial ? jangan sampai salah beli khan tidak bisa retur. gimana cara kita tahu hp tersebut support full at command. kok kayaknya spesifikasi di buku manual tidak disebutkan. kalau pakai akses port serial langsung di xp harus pakai driver bagaimana di w2000 sudah pernah coba apakah harus pakai driver juga, mengigat sudah os 32 bit. salam miing
» 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 :-)