Saturday, January 11, 2014

Kali ini saya bagi algoritma dan code vb.net untuk membaca sms yang masuk.

Mengaktifkan Indikator SMS Masuk

Pertama modem diseting ke mode Teks dengan perintah ke modem AT+CMGF=1
Begitu ada sms masuk, isi pesan itu langsung dibaca oleh modem, dengan perintah ke modem AT+CNMI=1,2,2,1,0.

code program  :

Sleep(300)
Port.Writeline("AT+CMGF=1" & Chr(13))
Sleep(300)
Port.Writeline("AT+CNMI=1,2,2,1,0 "& Chr(13))

Ket : Port adalah Port serial yang digunakan modem

Memantau SMS Masuk dana Menentukan Pengirim, Jam & Tanggal, dan Isi Pesan 

Ketika ada sms yang masuk modem akan memberi ouput yang diawali dengan +CMT:, Jadi kita harus memantau secara realtime output, saya memanfatkan Timer untuk memantau sms masuk.
Untuk menentukan apakah output diawali +CMT: saya menggunakan Regex ( Regular Expression ) sekaligus menentukan Pengirim, Jam dan Tanggal dan isi pesan. 

code  di Timer:

respon=Port.ReadExisting 'respon adalah variabel string
Dim r As New Regex("\+CMT: ""(.+)"",(.*),""(.+)""\r\n(.+)\r\n")
Dim m As Match = r.Match(respon)
If m.Success Then
   With Dialog2 'Dialog2 adalah form kecil untuk menampilkan pesan masuk
         .pengirim = m.Groups(1).Value
         .tglkirim = FormatDateTime(m.Groups(3).Value, DateFormat.ShortDate)
         .Isi = m.Groups(4).Value
         .Show()
   End With

Demikian sedikit penjelasan dan code program.





Categories: ,

1 comment: