Silakan tunggu sedang proses
Rabu Pahing 13 Desember 2017 15:06
learn make rich
share make it perfect
Ayat Suci
Talak (yang dapat dirujuki) dua kali. Setelah itu boleh rujuk lagi dengan cara yang makruf atau menceraikan dengan cara yang baik. Tidak halal bagi kamu mengambil kembali sesuatu dari yang telah kamu berikan kepada mereka, kecuali kalau keduanya khawatir tidak akan dapat menjalankan hukum-hukum Allah. Jika kamu khawatir bahwa keduanya (suami isteri) tidak dapat menjalankan hukum-hukum Allah, maka tidak ada dosa atas keduanya tentang bayaran yang diberikan oleh isteri untuk menebus dirinya. Itulah hukum-hukum Allah, maka janganlah kamu melanggarnya. Barangsiapa yang melanggar hukum-hukum Allah mereka itulah orang-orang yang zalim.
(QS. AL BAQARAH:229)

 otomatis refresh

Javascript ayat
Para Rekan
Lain-lain
User online: 112
User login: 0
Statistik BengkelProgram.com
user/passwd: bpuser

Membaca SMS dari PC

Penulis
Kirim-kiriman SMS memang asyik, apalagi kalo menggunakan PC, meski tetep aja bayar :-)

Aryo Sanjaya <h1>Coeg</h1>
Selasa Pahing, 14 Juni 2005

Pembukaan

Bagi yang sering kirim-kiriman SMS, kalo cuma mengandalkan kapasitas penyimpanan dalam handset (handphone), suatu saat pasti pernah mengalami penuhnya inbox. Hal tersebut berlaku untuk jenis manusia yang sayang untuk menghapus SMS kiriman dari someone special. Tapi tidak berlaku untuk jenis manusia yang suka menulis ulang isi SMS ke dalam MS-Word (aku pernah menemukan manusia jenis ini)., sehingga Inboxnya tidak pernah penuh.

Jika anda ingin mengandalkan PC untuk menyimpan isi inbox, anda dapat menggunakan banyak aplikasi siap pakai yang dapat digunakan untuk menyimpan atau mentransfer SMS. Saya sering menggunakan aplikasi bawaan dari vendor HP (PC Suite untuk Nokia, Data Suite untuk Siemens, ada juga untuk SonyEricsson), juga ada Logo Manager buatan pihak ketiga.

Selain menggunakan aplikasi siap pakai tersebut, kali ini saya membahas bagaimana cara berkomunikasi langsung dengan HP, menggunakan AT-Command, lewat port serial.

Format PDU

Hal pertama yang saya bahas adalah, bahwa setiap pengiriman SMS, baik dari HP menuju operator, atau sebaliknya, selalu menggunakan format PDU (Protocol Data Unit), yaitu paket data dimana pesan SMS dikemas, bersama informasi tanggal, nomor tujuan, nomor pengirim, nomor operator, jenis skema SMS, masa valid SMS, dan beberapa hal lain (tergantung jenis paketnya).

Berikut ini adalah contoh PDU yang diterima oleh HP (New SMS atau Inbox):

07 91 2658050000F0 04 0C 91 265836164900 00 00 506020 31133180 04 C830FB0D

Dengan keterangan sebagai berikut:

Oktet / Digit HexaKeterangan
07Panjang atau jumlah pasangan digit dari nomor SMSC (service number) yang digunakan, dalam hal ini adalah 7 pasangan (14 digit berikutnya)
91Jenis 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)
04Oktet pertama untuk pesan SMS yang diterima
0BPanjang digit dari nomor pengirim (0C hex = 12 desimal)
91Jenis nomor pengirim (sama dengan jenis nomor SMSC)
265836164900Nomor pengirim SMS, yang jika diterjemahkan adalah +628563619400
00Pengenal protokol, dalam hal ini adalah 0
00Skema pengkodean SMS, juga bernilai 0
506020 311331 80Waktu pengiriman, yang berarti 05-06-02 (2 Juni 2005), dan jam 13:31:13. Sedangkan 80 adalah Timezone yang digunakan.
04Panjang dari pesan SMS, dalam hal ini adalah 4 huruf (dalam mode 7 bit).
C830FB0DPesan SMS dalam mode 7 bit. Jika diterjemahkan kedalam 8 bit, lalu dirubah ke ASCII, maka didapat pesan 'Halo'

Yah, itu adalah sekilas tentang PDU, yang sering dihadapi untuk berurusan dengan SMS. Kecuali jika HP yang anda gunakan mendukung AT+CMGF=1, yang berarti kita dapat berkomunikasi dengan HP dalam Mode Teks! seperti HP saya, SE T610 :-)
Kalau menggunakan mode teks, anda tidak berurusan dengan PDU, meski antara HP dengan operator masih menggunakan PDU.

Secara online, anda dapat menerjemahkan PDU kedalam mode teks, dengan menggunakan link ini: http://home.student.utwente.nl/

Koneksi ke PC

Selanjutnya, adalah menghubungkan HP anda dengan PC. Banyak alternatif untuk itu, diantaranya:

  • Menggunakan kabel data. Biasanya spesifik untuk setiap merk HP. Nokia punya sendiri, siemens juga punya, semoga anda juga punya :-)
    Kabel ini akan menancap di port COM, atau ada juga yang di USB port.
  • Menggunakan IrDA (Infrared). Nantinya akan tercipta sebuah port COM virtual.
  • Menggunakan Bluetooth, juga menciptakan port COM bayangan.

Yang sangat perlu diperhatikan, jika anda menggunakan kabel data sebagai alat koneksi, silakan lakukan di Windows 98, karena Direct Port Programming di Windows XP/2000 sangat rumit, dan tidak menjamin kebenarannya :-)

Anda boleh menggunakan HP jenis apapun, yang penting punya kabel datanya, dan musti support AT-Command.
Dulu saya sempat debat sama temen saya, tentang apakah semua HP support AT-Command. Sampai saat ini saya masih percaya kalau ada HP yang tidak support AT-Command.

HP yang saya gunakan adalah Siemens C35i, dengan kabel data serial hasil pinjaman :-)

Setelah punya HP dan kabelnya, silakan pasang ditempat yang seharusnya, dan pastikan HP dalam keadaan nyala.

Jika anda menggunakan IrDA atau Bluetooth, pastikan bahwa sudah tercipta port COM (biasanya dengan nomor tertinggi, misal COM4 atau COM5).

Programming

Silakan buka Borland Delphi. Saya sarankan untuk memakai Delphi versi 6 ke atas, karena ada fungsi SecondsBetween yang saya sukai :-)

Ketika pertama kali masuk delphi, ada 1 komponen yang mesti kita install terlebih dahulu, yaitu MS-Comm, yang digunakan untuk berkomunikasi dengan Port COM. Cara instalasi adalah sebagai berikut:

  • Dari IDE Delphi, pada menu Component, pilih menu Import Active-X Control
  • Pada pilihan obyek, silakan pilih MSCommXX.ocx, lalu tekan tombol Install
  • Akan muncul beberapa dialog berikutnya, pilih saja yes atau ok :-)

Setelah Active-X terinstall, pada Tab Palette Active-X, akan muncul sebuah tombol dengan gambar telepon. Klik dan letakkan komponen tersebut pada Form, maka akan tercipta sebuah obyek dengan nama MSComm1.

Komunikasi

Buat sebuah tombol (Command Button) pada Form, beri caption 'Konek'. Lalu pada event On-Click tombol tersebut, ketik program berikut ini:

procedure TForm1.Button1Click(Sender: TObject);
var     waktu: tDateTime;
	buffer: string;
	konek: boolean;
begin
  if MSComm1.PortOpen then 
      MSComm1.PortOpen := false;
  MSComm1.CommPort := 1;  
        // isi dengan nomor COM 
	//  yang terhubung ke HP,
	//  misal COM1, isi dengan 1
  MSComm1.Settings := '19200,N,8,1'; 
	// sesuaikan baudrate
	// dengan HP anda.
	// kebanyakan support 19200
  MSComm1.InputLen := 0;
  MSComm1.PortOpen := true;

  Sleep(800);
  waktu := now;
  repeat
    MSComm1.Output := 'ATE1'#13;
    buffer := '';
    repeat
	buffer := buffer + MSComm1.Input;
    until (Pos('OK', buffer) > 0) or 
                  (Pos('ERROR', buffer) > 0)
	or (secondsbetween(waktu, now) > 10);
  until (Pos('OK', buffer) > 0) or 
           (secondsbetween(waktu, now) > 10);
  Konek := (Pos('OK', buffer) > 0);
  If Konek Then
	MessageDlg('Sukses konek ke HP', 
		mtInformation, [mbOk], 0)
  else
	MessageDlg('Tidak dapat konek ke HP',
		mtError, [mbOk], 0);
end;

Jalankan program, semoga tidak error. Lalu tekan tombol Button1. Jika koneksi sukses, yaitu jika HP merespon perintah 'ATE1' dengan ucapan 'OK', berarti koneksi dengan HP telah berhasil. Jika tidak, mungkin terjadi kekeliruan pada kabel, nomor Port atau setting BaudRate. Silakan dicek.

Membaca SMS

Berikutnya adalah membaca SMS.

Silakan tambahkan obyek Memo pada form, dan tambahkan tombol Button2, kemudian tuliskan kode ini pada event OnClick Button2:

procedure TForm1.Button2Click(Sender: TObject);
var     waktu: tDateTime;
	buffer: string;
begin
  MSComm1.Output := 'AT+CMGL=1' + #13;
  Sleep(500);
  waktu := now;
  repeat
    buffer := MSComm1.Input;
    Memo1.Text := Memo1.Text + buffer;
  until (pos(sOK, s) > 0) or (pos(sERROR, s) > 0) or
    (SecondsBetween(waktu,now) > 180);
end;

Jika program dijalankan, lalu ditekan tombol Button2, maka program akan mengirim perintah AT+CMGL=1 ke HP, yang berarti, 'berikan aku daftar SMS yang ada di Inbox'. Sehingga nantinya semua isi Inbox akan dikirimkan ke program, tetapi masih dalam format PDU.

Untuk menterjemahkan dari PDU menjadi teks, diperlukan rutin lagi. Silakan download source baca SMS, yang merupakan unit untuk membaca SMS

Silakan gunakan unit tersebut pada aplikasi anda ini, lalu buat tombol Button3. Pada event OnClick Button3, tulis program singkat ini:

procedure TForm1.Button3Click(Sender: TObject);
begin
	CekSMS(Memo1);
end;

Ketika tombol Button3 ditekan, maka SMS dalam Inbox dan SMS baru, akan dimasukkan kedalam Memo1.

Berikut ini ketentuan AT+CMGL,

  • AT+CMGL=0 : SMS baru
  • AT+CMGL=1 : SMS dalam Inbox (yang sudah terbaca)
  • AT+CMGL=2 : SMS Draft (belum terkirim)
  • AT+CMGL=3 : SMS Outbox (terkirim)
  • AT+CMGL=4 : Seluruh SMS (semua yang ada di Inbox, Outbox, Draft)

Daftar lengkap perintah AT-Command dapat diperoleh disini: namun kadang ada HP yang tidak support AT-Command tertentu.

Penutup

Artikel cara pengiriman SMS dapat dilihat di Mengirim SMS dari PC.

Silakan kirim kritikan, saran atau pertanyaan ke aryo.sanjaya@gmail.com, terima kasih.

(Aryo Sanjaya)

Komentar

Halaman Komentar:   < 1 2 3 4 ... 44 >

Shaolin

Jum'at Kliwon, 9 Desember 2005

giamana yah cara dapatin MSCommXX.ocx pada windows98/xp...i cari-cari tapi tdk ketemu mohon bantuannya donk... thanks

Aryo Sanjaya

Jum'at Kliwon, 9 Desember 2005

Biasanya OCX itu bawaan dari aplikasi yang kita install.
Kalo Windows-nya masih 'muda' dan belum ada OCX itu, kita bisa mengkopikannya dari komputer lain yang sudah ada. Selanjutnya perlu melakukan registrasi seperti yang sudah dibahas di atas.
Kalo muncul masalah lisensi, mbak Sri sudah memberikan trik-nya di atas.
Jika memang masih bermasalah, maka cara yang paling gampang adalah dengan menginstall Visual Basic di komputer tersebut :D

sri

Sabtu Legi, 10 Desember 2005

untuk Terima SMS saya udah coba dengan saya modif sedikit dg menghilangkan bagian tulis dan baca file temp.dat saya ganti dg tulis dan baca menggunakan memory/ variabel array dengan harapan supaya lebih cepat dan menghindari error saat akan tulis lagi file belum release. Pada kondisi tersebut saya coba sudah berjalan baik. Bahkan saat saya scan isi SMS tiap 1 detik tidak masalah. Tapi ada suatu masalah ketika ada sms baru masuk aplikasi jadi hang, kalo scan ning sms saya perlambat tidak masalah. Mungkin ada yang punya solusi?

sri

Minggu Pahing, 11 Desember 2005

saya coba setting SecondsBetween pada perintah delete dan baca menjadi (SecondsBetween(waktu, now) > 10 ternyata berhasil, saat ini saya masih test terus. Penempatan perintah delete saya ubah setelah proses baca selesai, untuk memastikan data tidak terhapus sebelum dibaca. Demikian yang dapat saya sampaikan, semoga bermanfaat, terima kasih dan salam.

Aryo Sanjaya

Minggu Pahing, 11 Desember 2005

Terima kasih atas ide-ide tambahannya. Penggunaan file temp.dat sebenarnya ditujukan untuk debugging, selain untuk proses buffering. Debugging di sini untuk melihat PDU yang diterima. Kalo anda sudah pake variabel array, itu bagus sekali, pasti lebih aman dan cepat. Seperti contoh di artikel ini, menggunakan obyek Memo sebagai buffernya. Tentang SMS baru, aku pernah nemuin kasus dimana aplikasi jadi ga beres gara-gara perubahan status SMS yang masuk, dari 0 menjadi 1. Salah satu solusinya adalah dengan membaca SMS dengan status 1 dulu, baru yang status 0. Atau dengan memperlambat pembacaan, seperti ide anda :) Untuk delay penghapusan, saya rasa anda ga usah kuatir. Hal ini karena pembacaan dan penghapusan berada dalam looping yang berbeda, sehingga ketika dalam proses penghapusan, bisa dipastikan semua SMS sudah terbaca. Kalo proses modifikasi anda sudah selesai, apalagi jika sudah dijadikan aplikasi lengkap, gimana kalo ditampilkan di sini saja? biar bisa kita manfaatkan :D

edi

Selasa Legi, 20 Desember 2005

gimana kalo kita pake koneksinya usb.untuk portnya diisiapa? thx. ga ada program khussus yang tinggal dijalanin ta untuk membaca sms dari pc? THX.

edi

Selasa Legi, 20 Desember 2005

gimana kalo kita pake koneksinya usb.untuk portnya diisiapa? thx. ga ada program khussus yang tinggal dijalanin ta untuk membaca sms dari pc? THX.

Aryo Sanjaya

Rabu Pahing, 21 Desember 2005

Alo Edi, Kalo pake USB (Infrared atau Bluetooth), pasti nanti akan tercipta satu COM Port baru. Biasanya itu ada setelah driver Bluetooth atau Infrared-nya diinstall. Nah, nomor port itu yang dimasukkan. Kalo program yang sudah jadi, banyak banget. Dari yang gratis sampe yang mahal. Misalnya Oxygen Phone Manager, Logo Manager, em... banyak deh. Bahkan ada yang produk dalam negeri: SMS Me!!! http://www.kioss.com/kioss/download.php?req=viewdownloaddetails&lid=43 Artikel ini membahas tentang cara pembuatan aplikasi yang dapat mengiris SMS, jadi ini dilihat dari sisi programmer ^_^

Roni

Kamis Kliwon, 29 Desember 2005

saya sudah menggabungkan aplikasi ini dengan database, untuk sementara dengan database paradox bawaan delphi 7. Yang saya gabungkan sementara adalah baca phone book, ternyata hasilnya lumayan bagus lho.... Sekarang saya ingin menjadikan installer supaya bisa saya insall di komputer lain semisal pas saya lagi di W-net, biar nggak capek tekan2 keypad hehehe... gpp kan??? Masalahnya sekarang ketika aplikasi saya jadikan installer masih memerlukan sedikit sentuhan. masalah terjadi ketika pada installer harus disertakan file mscomm32.ocx dan dicopykan kedirectory windowssystem atau windowssystem32 masalah register sudah dapat diatasi. Sebenarnya dah bisa namun untuk beda OS (98/WINNT) saya masih membuat dalam 2 versi installer. Kalo ada yang bisa memberi solusi lain?

Aryo Sanjaya

Jum'at Legi, 30 Desember 2005

Wah, Pak Roni pake installer apa ya? Saya sendiri ga pernah mbikin installer di Delphi, biasane kalo dalam project, kita ngasihnya sekalian source-codenya ^_^ Tapi setau saya, kalo dalam Visual Basic, installer yang kita bikin bisa menyesuaikan waktu dia diinstall di Win98 atau WinXP, karena dia ngambil informasi direktori sistem dari registry (System/System32). Jadi ingat dulu, waktu masih kuliah, bikin installer lewat Batch-file: %SYSTEMROOT%system32 egsvr32 xxx.dll Kalo ini sih tiap kali pindah OS, installernya perlu diedit ^_^


Halaman Komentar:   < 1 2 3 4 ... 44 >

Mengisi Komentar





untuk kode program, apit dengan tanda [code][/code].
contoh:

[code]
(kode program)
[/code]



Daftar Artikel Delphi

» Mendesain Aplikasi Basis Data (57)
Senin Pon, 31 Maret 2008

Komponen Delphi berdasarkan mekanisme akses datanya: . Komponen BDE(borland database engina) Basis data yang di akses adalah: database paradox, dan dbase table. .Komponen ADO(activex data object) Basis data yang di akses:Ms Access,msSql serve

» Continues Form (191)
Selasa Wage, 13 November 2007

Continues Form

» Continues Form (42)
Selasa Wage, 13 November 2007

nCaed4 <a href="http://bkzdacqbfubh.com/">bkzdacqbfubh</a>, [url=http://khscellhtrft.com/]khscellhtrft[/url], [link=http://pvlsalgnhtlb.com/]pvlsalgnhtlb[/link], http://attadkftpvpn.com/

» Barcode Reader (293)
Sabtu Pahing, 20 Januari 2007

Menggunakan perangkat barcoder reader pada aplikasi kita sangatlah mudah

» Aplikasi Handphone (955)
Senin Pon, 20 Februari 2006

Kompilasi beberapa unit yang digunakan untuk mengirim dan membaca SMS, dan menampilkan informasi handphone



Halaman:    1  2  >  

Account Data
Anda belum login.






 

Login hanya diperlukan bagi kontributor untuk mengisi artikel/berita dan mengupload file/gambar
Status Y!M
Saya sedang Offline. Silakan gunakan menu Kontak atau tinggalkan pesan di Yahoo! Messenger pada Id: aryo_sanjaya
Artikel Rame
Aplikasi Handphone (675)
Senin Pon, 20 Februari 2006

Mengirim SMS dari PC (463)
Senin Wage, 28 November 2005

Membaca SMS dari PC (439)
Selasa Pahing, 14 Juni 2005

Source SMS Autorespond (342)
Senin Legi, 24 April 2006

Barcode Reader (163)
Sabtu Pahing, 20 Januari 2007

Bukutamu
» addin
Kamis Wage
30 Juli 2009

» shen
Senin Legi
27 Juli 2009

» iyha
Rabu Wage
15 Juli 2009

» wawan
Rabu Kliwon
1 Juli 2009

» fuad hasan
Minggu Kliwon
21 Juni 2009


Halaman Bukutamu
Daftar Fungsi
pasaran
Mencari nama hari dan nama pasaran
pdu2sms
Konversi dari PDU ke Teks SMS
bacarss
Membaca RSS dari beberapa situs
Jejak Halaman
© 2005-2017 BengkelProgram.com