Official StoreTekan tombol di atas untuk membeli semua alat dan bahan eksperimen di web ini

Program Membaca SMS Dengan Delphi

Berikut ini penulis coba sajikan tutorial menerima dan membaca SMS menggunakan  program Delphi. Proses penerimaan data SMS sebenarnya hanya berlangsung di modem. Program Delphi di sini hanya akan membaca data SMS dari modem. Ada dua macam teknik membaca SMS dari modem, yakni polling dan live/real time. Cara polling dilakukan tanpa mengecek ada SMS yang masuk atau tidak dan dilakukan berdasarkan interval waktu tertentu, sedakan cara ‘live/real time’ dilakukan setelah program Delphi mengetahui ada indikasi SMS masuk yang dikirim oleh modem. Jadi tugas program di sini adalah mengecek ada indikasi SMS masuk atau tidak, kemudian langsung membaca isi SMS setelah indikator terbaca. Diagram Alir di bawah ini mungkin akan membantu pemahaman Anda.

1.       Skema polling data SMS dari modem

2.       Skema baca SMS berdasar indikator (cara Live/real time)

Setelah Anda memahami skema prinsip membaca SMS di atas, mari kita coba mengimplementasikan dalam bentuk baris program Delphi.

1.       Program baca SMS menggunakan teknik polling

Buat program baru dalam Delphi, ambil komponen Button (2 buah), Memo, Timer, ComPort ke dalam Form, dan atur seperti gambar di bawah

Double click tombol dengan tulisan ‘Setting’, dan isikan baris program sebagai berikut :

procedure TForm1.Button1Click(Sender: TObject);

begin

comport1.ShowSetupDialog;

end;

Double click tombol dengan tulisan ‘Open, dan isikan baris program sebagai berikut :

procedure TForm1.Button2Click(Sender: TObject);

begin

if ComPort1.Connected then

begin

ComPort1.Close;

button2.Caption:=’Open’;

end

else

begin

ComPort1.Open;

button2.Caption:=’Close’;

ComPort1.WriteStr(‘at+cmgf=1’+#13#10);

ComPort1.WriteStr(‘at+cpms=”SM”‘+#13#10);

ComPort1.WriteStr(‘at+cscs=”GSM”‘+#13#10);

end;

end;

Kemudian tambahkan baris program berikut untuk meng-handle data serial yang masuk ke serial Port (Com Port) di event OnRxChar di komponen ComPort1

procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);

var

Str: String;

begin

ComPort1.ReadStr(Str, Count);

Memo1.Text := Memo1.Text + Str;

end;

Kemudian masukkan baris program sebagai berikut ke komponen Timer. Program di dalam timer inilah yang bertindak sebagai program inti dalam proses pembacaan isi SMS dengan interval waktu tertentu.

procedure TForm1.Timer1Timer(Sender: TObject);

begin

memo1.Clear;

comport1.WriteStr(‘at+cmgl=”all”‘+#13#10);

end;

Pada program di atas, baris comport1.WriteStr(‘at+cmgl=”all”‘+#13#10); dimaksudkan untuk mengeluarkan perintah ‘at+cmgl’ dari Com Port ke modem. Sedangkan arti dari at command ‘at+cmgl’ adalah memerintahkan modem supaya memberikan semua data sms yang tersimpan di memori.

Untuk mengatur interval waktu pembacaan isi SMS, Anda dapat mengisi property  Interval milik komponen Timer. Nilai (Value) dalam property interval Timer ini dalam satuan ms (mili second), jadi bila Anda ingin tiap satu menit membaca SMS, Anda harus mengisi property Interval dengan nilai 60×1000 ms=60000. Untuk nilai lain bisa Anda sesuaikan sendiri sesuai kebutuhan.

Setelah Anda lengkap mengisi script di atas, cobalah untuk me-running program (F9), dan lihatlah hasilnya.

Tampak pada gambar di atas, semua SMS yang ada di SIM card berhasil dibaca oleh program Delphi. Data – data SMS yang ikut terbaca selain isi SMS antara lain : indeks memori tempat isi SMS (berguna untuk penghapusan SMS atau pembacaan ulang), status SMS (read / unread), nomor pengirim, dan waktu (tanggal dan jam) penerimaan SMS. Data – data ini dapat Anda olah untuk kebutuhan program Anda.

Demikian sedikit tutorial program baca SMS dengan  Delphi dengan teknik polling. Untuk program baca SMS dengan teknik Live / real time akan penulis sajikan dalam artikel selanjutnya.

Jika Anda mengalami kesulitan, ada baiknya Anda membaca tulisan – tulisan saya sebelumnya, dan jika masih kesulitan, Anda bisa menghubungi saya di YM:ajiew atau email: ajie@saptaji.com

 

Bersambung

Incoming search terms:

BACA SMS DENGAN DELPHI, membaca sms dengan comport, atcommand baca sms delphi, cara membaca sms masuk dari modem dengan delphi 7, cara membaca sinyal dri comport pada dhelpi, cara membaca cmti: me, cara buat procedure comport1 untuk baca data arduino, cara baca sms inbox di modem huawei, cara baca diagram delp, sourches coundown pakai delphi

Leave a Reply

32 Comments on "Program Membaca SMS Dengan Delphi"

avatar
  Subscribe  
newest oldest most voted
Notify of
anamcur
Guest

lanjutane dimana mas??

Renandatta
Guest

saya sudah mengikuti langkah demi langkah, tetapi tidak muncul tulisan apa apa di memo ..

setelah saya konsultasi dengan pak ajie di chat, akhirnya saya bisa menyelesaikan masalahnya

solusi = menambahkan perintah at+cfun=1 pada button open

candra
Guest

mas.. punya source code unutk melisting com berapa aja yang bisa dipakai gak mas? tapi listing devicenya yang make “friendly name” bukan com1,com2,com3 dst.. tapi misal nokia modem, huwawei modem.. jadi user lebih gampang makenya

reno
Guest

permisi mas ajie, saya mau tanya.
saya sudah mengikuti langkah2 seperti diatas, tapi hasil yang saya dapatkan,muncul ERROR seperti ini,

at+cmgf=1
at+cpms=”SM”
at+cfun=1

ERROR

ERROR

mohon pencerahan mas, terima kasih

Luthfi
Guest

mas, pada saat sy kirim sms pulsa habis dan respon gagal agak lama. saat tunggu respon tersebut saya coba kirim sms. kok smsnya nggak bisa masuk ya? ,mohon petunjuknya, terima kasih

Luthfi
Guest

selain itu juga mas, saya pakai teknik poling juga nggak berhasil. saat ada sms masuk ada indikator +CMTI:”ME”,-1 begitu dibuka dengan AT+cmgl=”ALL” hanya keluar ok, tidak keluar smsnya

bryan
Guest

di saya kok cuma muncul jumlah sms masuk aja ya ?
isi pesan gak muncul

adi
Guest

itukan kalau ada sms selalu bersihin memo.
kalau gak harus bersihin bisa gak ya ?
jadi ada sms nambah line.
saya coba nambah line terus menerus.

putri
Guest

mas saya pakai MOTOROLA L6 kok tdk bisa ya ?
sms tdk kebaca

Ika
Guest

maaf ni gan pertanyaan nya agak melenceng, soal na saya tidak tau mw tanya kemana lagi. uda mentok…. 🙁
kenapa y saya pakek huawei selalu ada indicator d terminal seperti : “^Mode” “RSSI” dll , tp ketika saya pakai sierra tidak ada muncul indikator tersebut secara runtime. soal na saya ada project mw buat aplikasi seperti mobile partner untuk modem sierra. klo untuk masalah at command nya saya sudah tau, tp untuk indicator RSSI and RAT nya tidak ada yg masuk d terminal secara runtime 🙁

danding
Guest

init = AT^CURC=0 < menghilangkan RSSI yg selalu muncul di Modem Huawei 153 saya 😀

dddd
Guest

ini dimana diletakan procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);

var

Str: String;

begin

ComPort1.ReadStr(Str, Count);

Memo1.Text := Memo1.Text + Str;

end;

my name is dante
Guest

gan sms yg terbaca di memo nya berupa angka dan huruf kira2 apa yg salah ya gan ?

agus
Guest

Gan, di ComPort1.ReadStr(Str, Count); yang terbaca hanya OK saja saat dilakukan perintah baca SMS (at+cmgl=”ALL”), itu kenapa ya??
~ Mode sudah Text (At+cmgf=1)
~ At+CFUN=1
tp hasilnya tetap hanya tulisan OK,
sedangkan jika di jalankan di hyperterminal, hasilnya keluar semua sms yg ada di memori.
saya pakai mode Huawei e173 + kartu 3,
Tolong bantuannya..

error: Content is protected !!