Dasar Dasar Menerima Data SMS Dengan Delphi

Ada dua macam cara menerima dan membaca SMS dengan Delphi, yaitu dengan teknik ‘polling’ dan ‘live/real time’. Kedua teknik tersebut dapat Anda baca selengkapnya di artikel saya sebelumnya. Pada artikel kali ini kita akan mencoba belajar  dasar – dasar penerimaan data SMS melalui komponen CPORT sebelum mengimplementasikan teknik – teknik tersebut ke dalam program Delphi.

Sebelum masuk ke proses handling penerimaan SMS, ada baiknya kita refresh kembali tentang konsep komunikasi serial dengan component CPORT di Delphi. Jadi tugas komponen CPORT adalah menangani komunikasi serial dengan device lain melalui port serial di computer (COM Port). Khusus untuk penerimaan data serial, komponen CPORT prosesnya ditangani oleh event OnRxChar. Proses ini berlaku umum, jadi semua data serial dari device lain yang masuk melalui port serial (COM Port) akan ditangani oleh even OnRxChar ini, termasuk proses komunikasi serial dengan modem GPRS/3G. Untuk itu, coba Anda tulis beberapa baris program berikut untuk proses handling penerimaan data serial di even OnRxchar. Caranya dari jendela Object Inspector klik tab event kemudian cari OnRxChar dan double click kolom di sebelah kanannya, kemudian isikan script berikut di dalamnya.

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

var

Str: String;

begin

ComPort1.ReadStr(Str, Count);

Memo1.Text := Memo1.Text + Str;

end;

Kemudian tambahkan komponen memo (dengan nama memo1) di form kerja Anda. Komponen Memo1  ini tugasnya adalah sebagai buffer penerimaan data serial yang masuk, karena data serial yang diterima adalah per karakter bukan keseluruhan data secara langsung. Untuk itulah diperlukan satu variabel sebagai buffer untuk menyimpan data serial yang masuk satu persatu. Untuk keperluan ini, saya memilih komponen Memo sebagai ‘variabel’ buffer-nya agar kita dapat langsung melihat data serial yang masuk.

Kemudian tambahkan komponen Button dua buah dan atur komposisinya sesuai gambar di atas. Double click tombol ‘Setting’ dan masukkan kode program di bawah

procedure TForm1.Button1Click(Sender: TObject);

begin

comport1.ShowSetupDialog;

end;

Dan tambahkan baris program berikut ke dalam tombol ‘Open’

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+cscs=”GSM”‘+#13#10);

end;

end;

Sekarang kita running program di atas, dan lihat hasilnya. Pasang modem Anda, dan klik tombol ‘Setting’, dan pilih COM port dimana modem berada. Setelah Anda klik tombol ‘Open’, maka komunikasi dengan modem sudah berjalan, dan setiap data yang masuk akan terbaca di kotak Memo.

tampak ada data yg masuk di kotak memo

Sampai dengan langkah ini kita sudah bisa melihat ada data yang masuk, tapi masih belum bisa membaca isi SMS. Untuk membaca isi SMS, Anda harus memerintahkan modem untuk ‘memberikan’ data sms kepada kita dengan AT command  : at+cmgr (untuk melihat satu sms di indeks memori tertentu) atau at+cmgl (untuk melihat semua sms di semua indeks memori). Untuk program Delphi yang digunakan untuk membaca isi SMS dapat Anda pelajari pada artikel selanjutnya

bersambung…..

0 0 votes
Article Rating

Leave a Reply

18 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Rosy Indra P.

Pak Ajie, kpan artikel selanjutnya dibuat. saya ingin mencoba membaca sms dalam delphi. serta saya mohon penjelasannya tentang sms auto reply yang mengambil data dari data base delphi (maklum masih newbie)
terima kasih pak atas artikelx, sngat mmbantu…

Rosy Indra P.

ditunggu tayangan perdananya pak, terima kasih banyak ilmunya…

BURHANUDIN

MAS SALAM KENAL DULU SAYA SEORANG GURU DI SMPN3 PONGGOK KAB BLITAR, MASIH TARAF BELAJAR DELPHI6/7 TO THE POINT SAJA MAS.. SETELAH SAYA IKUTI SEMUA PETUNJUK OK ALHAMDULLILLAAH BERHASIL…CUMA SETELAH PERINTAH MENGIRIM SMS, SETELAH AGAK LAMA DI MEMO MUNCUL CMS ERROR: 500 SAYA PAKAI MODEM MODEM HUAWEI E153…. TOLONG MINTA PENCERAHANNYA… ComExample.DPR saya ubah demikian …. TOMBOL OPEN ISI : procedure TForm1.Button_OpenClick(Sender: TObject); begin if ComPort.Connected then ComPort.Close else BEGIN ComPort.LoadSettings(stRegistry, ‘HKEY_LOCAL_MACHINE\Software\Dejan’);//SUPAYA GAK ISA ISI…HE HE ComPort.Open; ComPort.WriteStr(‘at+cmgf=1’+#13#10); ComPort.WriteStr(‘at+cscs=”GSM”‘+#13#10); ComPort.WriteStr(‘at+cpms=”SM”‘+#13#10); END; end; TOMBOL SETTING ISI : procedure TForm1.Button_SettingsClick(Sender: TObject); begin ComPort.ShowSetupDialog; end; TOMBOL SEND ISI : procedure TForm1.Button_SendClick(Sender: TObject); begin… Read more »

fahmi

setelah nyobain program d atas.kq ada tulisn [fatal error] could not create output file ‘C:\program files (x86)\ Borland\Delphi7\Project\Project1.exe ?
bagaimana mengatasi permasalahan tersebut? tolong mas berikan solusinya? makasih..

fahmi

kalo d wavecom apa listing at command.nya sma yg d atas y pak? mohon pencerahanya…makasih

Ary

mas, kok saya g bisa programnya ketika menerima sms modem saya baudratenya 921600

didik

mas, saya coba kok tidak bisa musuk ke memo ya? mohon pencerahan dong

dela

Salam kenal pak,
saya ingin membuat aplikasi RFID Reader dengan menggunakan delphi, saya sudah coba ikuti langkah2 pada artikel di atas, saat project di running, tidak ada respon/data yang masuk ke dalam komponen memo. Kenapa ya pak kalo gitu? Mohon pencerahannya. Sebagai info device yang saya gunakan adalah untuk membaca RFID adalah R202EM. Terima kasih.

dela

iya pak RFID Reader Writernya menggunakan USB. Sudah saya pastikan pak window yang aktif adalah aplikasi yang saya buat, tetapi tetap sama saja. Apakah harus ada command yang dikirim agar device dapat membaca RFID nya ?
Sebenarnya ada aplikasi bawaan device yang membaca RFID ketika tombol “Read” diklik, tetapi karena hasil data yang dibaca tidak sesuai maka saya mencoba untuk membuat project baru agar pembacaan datanya benar. Mungkin ada saran. Terima kasih.

18
0
Would love your thoughts, please comment.x
()
x