Dear All,
 
Buat yang membutuhkan skrip untuk kirim / terima sms. Syaratnya modem yang digunakan bisa kirim / terima sms lewat hyper terminal. Awalnya saya pakai Nokia 2730 / E63 / N900 untuk dijadikan modem, selalu gagal untuk terima sms, berhasil untuk kirim sms. Ternyata penyebabnya handset NOKIA tidak support perintah AT+CMGR / AT+ CMGL. Jadi sms tidak bisa dibaca dengan handset nokia yang dijadikan modem GSM.... :(
 
Setelah ganti dengan GSM modem (Erricson G36e), atau NOKIA 30, atau HUAWEI.... perintahnya jalan dengan mulus.
 
Untuk kirim sms:
***************************************************************
OLEObject mySMS

boolean lblPortOpen
mySMS = create oleobject
mySMS.ConnectToNewObject("MSCOMMLib.MSComm.1")       
 
mySMS.CommPort = 11
mySMS.Settings = '115200,N,8,1'
mySMS.InputLen = 0
mySMS.RTSEnable = true
 
integer         linReturn, linReturn1
any                lanout
string        lstPortSetting, lstOutput, lstResult
 

mySMS.PortOpen = true
mySMS.Output                = 'AT+CMGF=1'+'~r~n'
mySMS.Output                = 'AT+CMGS="0811xxxxxxx"'+'~r'
mySMS.Output                = 'TEST DARI PB ' + char(26)
MESSAGEBOX("INFO",STRING(mySMS.CommEvent))
DO
        lstResult = lstResult + STRING(mySMS.Input)
LOOP UNTIL MATCH( lstResult, "OK")
messagebox("info", lstResult)
 
mySMS.PortOpen =false
*****************************************************************
 
 
Untuk terima SMS:
 
*****************************************************************
OLEObject mySMS
 
boolean lblPortOpen
mySMS = create oleobject
mySMS.CommPort = 4
mySMS.Settings = '115200,N,8,1'
mySMS.InputLen = 0
mySMS.RTSEnable = true

integer         linReturn, linReturn1
any                lanout
string        lstPortSetting, lstOutput, lstResult


mySMS.PortOpen = true
mySMS.Output                = 'AT+CMGL="ALL"'+'~r'
MESSAGEBOX("INFO",STRING(mySMS.CommEvent))
DO
        lstResult = lstResult + STRING(mySMS.Input)
LOOP UNTIL MATCH( lstResult, "OK")
messagebox("info", lstResult)

mySMS.PortOpen =false
***************************************************
 
Selamat memodifikasi sesuai kebutuhan... :)
 
Salam,
Afri
 


>>> Hermawan Dephe <[email protected]> 6/6/2011 3:25 PM >>>
 

Belum pernah nyoba yg ginian..
Kenapa gak pake gammu saja pak? lebih simpel


Afrianto Dulbahri ST. wrote:

 

Resend: Mohon maaf, email sebelumnya ada kesalahan copas.
 
Dear Para Suhu PB,
 
Ini terdengar sangat klasik... namun saya ada kesulitan untuk mengirim sms via mscomm32.ocx dan PB 8.0 / 10.0.
Sudah pernah ada pembahasan, tapi pas saya coba belum berhasil.
 
Skenarionya:
Ole_1 adalah object mscomm32.ocx, dengan setting COM PORT = 10
 
Perintah berikut ini ada di cb_1:
 
STRING ls_back
ole_1.object.commport=10
ole_1.object.settings="9600,n,8,1"
ole_1.object.rthreshold= 10
ole_1.object.inputlen=1
ole_1.object.inputmode=0
ole_1.object.portopen=true
ole_1.Object.Output = 'AT+CMGF = 1'
st_1.Text = ole_1.object.input
ole_1.object.Output = 'AT+CMGS = "+62xxxxxxxxxxxx"'
st_2.Text = ole_1.object.input
ole_1.object.output = 'HOREE UDAH BISA' + char(26)
ls_back = ole_1.object.input
st_3.Text = '*' + ls_back + '*'
ole_1.object.portopen=False
 
Setelah program dijalankan, st_1.Text, st_2.Text dan st_3.Text hasilnya adalah blank dan pesan sms tidak terkirim.
 
Saya juga sudah mencoba dengan metode FileOpen/FileWrite
integer li_FileNum, li_hasil
string mobileNumber
string Smsmessage
string comPort
string szEnd
string szCommand
 

mobilenumber = sle_mobile_no.text
Smsmessage = sle_pesan.text
comPort = sle_commport.text
 
li_FileNum = FileOpen(comPort, StreamMode!, Write!, LockWrite!, Append!)
 
if li_FileNum <> 1 then
    MessageBox(" Sms Application" , "Unable to open com port....")
else
 st_status.Text = 'Mulai KIRIM'
 li_hasil = FileWrite( li_FileNum, 'atz ~n~r' )
 li_hasil = FileWrite( li_FileNum, "AT+CMGF=1 ~n~r")
 st_1.Text = string(li_hasil, "#,##0")
 li_hasil = FileWrite( li_FileNum,"AT+CMGS= ~"+62xxxxxxxxx~" ~r")
 st_2.Text = string(li_hasil, "#,##0") 
 li_hasil = FileWrite(li_FileNum, "HALO APA KABAR " ) 
 st_3.Text = string(li_hasil, "#,##0") 
 li_hasil = FileWrite(li_FileNum, char(26))
 FileClose(li_FileNum) 
 FileClose(li_FileNum)
end if
Namun hasilnya sama saja, pesan tidak terkirim... :(
 
Apakah ada di antara para suhu PB yang bisa memberikan pencerahan?
 
Salam,
Afri

<<image/gif>>

Kirim email ke