Ini adalah aplikasi yang saya buat untuk pertama kalinya untuk perusahaan
walaupun masih sedikit banyak kelemahan namun saya ingin membagikan ilmu yang saya.
disini saya buat satu form dan satu module
Dalam form ini terdapat 1 timer, 1 list, 1 button test koneksi, dan 1 textfield (ini optional untuk mengecek timer jalan atau tidak), 1 MSComm (anda dapat mencarinya di internet)
Dalam module yang saya buat isinya berupa koding yang mengambil dan menginsert data ke dalam MySQL
Saya menggunakan Database karena saya akan menggunakan lebih dari 1 modem untuk aplikasi sms gateway ini.
kiranya Postingan ini bermanfaat bagi yang membaca
kiranya jika ingin menambahkan kodingnya silakan tambahkan di comment
terima kasih
'Created by Robby
'Contact us robby_juli@yahoo.com
'Contact number 085217539260 / 021-98013015
Dim Signal
Dim nilaisignal
Dim cariIn
dexDim i As Double
Private Sub terimaSMS()
Dim tmpIsiIndex
Dim tmpSplitNoHP
Dim tmpSplitTanggal
Dim tmpSplitPesan
On Error GoTo err_handler
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.PortOpen = True
Dim waktu As Date
waktu = Now() buffer$ = ""
Do
MSComm1.Output = "AT+CMGL=""ALL""" & Chr$(13)
Do
DoEvents
buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "OK") Or InStr(buffer$, "ERROR") Or Now > _
DateAdd("s", 10, waktu)
Loop Until InStr(buffer$, "OK") Or Now > DateAdd("s", 10, waktu)
MSComm1.PortOpen = False
cariIndex = Split(buffer$, "+CMGL: ")
List1.Clear
For i = 1 To UBound(cariIndex)
tmpIsiIndex = ""
tmpSplitNoHP = ""
List1.AddItem cariIndex(i)
tmpIsiIndex = Split(cariIndex(i), ",")
tmpSplitNoHP = Split(tmpIsiIndex(2), """")
tmpSplitTanggal = Split(tmpIsiIndex(4), """")
tmpSplitPesan = Split(tmpIsiIndex(5), """")
kirim tmpSplitNoHP(1), tmpSplitTanggal(1), tmpSplitPesan(1)
hapusSMS (tmpIsiIndex(0))
Nexterr_handler:
If Err.Number = 8002 Or Err.Number = 8005 Then MsgBox CStr(Err.Number)
End Sub
Function kirim(NoHP, Tanggal, Pesan)
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.PortOpen = True
Dim waktu As Date
waktu = Now() buffer$ = ""
Do
MSComm1.Output = "AT+CMGS=" & NoHP & Chr$(13)
MSComm1.Output = "Terima Kasih" & Chr$(26)
Do
DoEvents
buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "OK") Or InStr(buffer$, "ERROR") Or Now > _
DateAdd("s", 10, waktu)
Loop Until InStr(buffer$, "OK") Or Now > DateAdd("s", 10, waktu)
MSComm1.PortOpen = False
insertData NoHP, Pesan, Tanggal
End Function
Private Sub tmpSignal()
On Error GoTo err_handler
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.PortOpen = True
Dim waktu As Date
waktu = Now()
bufferS$ = ""
Do
MSComm1.Output = "AT+CSQ" & Chr$(13)
Do
DoEvents
bufferS$ = bufferS$ & MSComm1.Input
Loop Until InStr(bufferS$, "OK") Or InStr(bufferS$, "ERROR") Or Now > _
DateAdd("s", 10, waktu)
Loop Until InStr(bufferS$, "OK") Or Now > DateAdd("s", 10, waktu)
MSComm1.PortOpen = False
Signal = Split(bufferS$, " ")
nilaisignal = Split(Signal(1), ",")
ProgressBar1.Value = nilaisignal(0)
err_handler:
If Err.Number = 8002 Or Err.Number = 8005 Then MsgBox CStr(Err.Number)
End Sub
Private Sub btnTestPort_Click()
On Error GoTo err_handler
Dim waktu As Date
waktu = Now()
Do
MSComm1.Output = "AT+CGMI" & Chr$(13)
Do
DoEvents
buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "OK") Or InStr(buffer$, "ERROR") Or Now > _
DateAdd("s", 10, waktu)
Loop Until InStr(buffer$, "OK") Or Now > DateAdd("s", 10, waktu)
MSComm1.PortOpen = False
If InStr(buffer$, "OK") Then
MsgBox "Kondisi port OK."
Else
MsgBox "Port tidak dapat digunakan saat ini."
End Iferr_handler:
If Err.Number = 8002 Or Err.Number = 8005 Then MsgBox CStr(Err.Number)
End Sub
Private Sub hapusSMS(indexHapus)
Dim waktu As Date
waktu = Now()
Do
MSComm1.Output = "AT+CMGD=" & indexHapus & Chr$(13)
Do
DoEvents
buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "OK") Or InStr(buffer$, "ERROR") Or Now > _
DteAdd("s", 10, waktu) Loop Until InStr(buffer$, "OK") Or Now > DateAdd("s", 10, waktu) MSComm1.PortOpen = False
End Sub
Private Sub Form_Load()
koneksiDB
seleksiInput
Set DataGrid1.DataSource = rs
init
ProgressBar1.Max = 33
ProgressBar1.Min = 0
Timer1.Interval = 1000
End
SubPrivate Sub init()
With MSComm1
.CommPort = 5
.Settings = "115200,N,8,1"
.InputLen = 0
.RTSEnable = True
.PortOpen = True
End With
End Sub
Private Sub Timer1_Timer()
i = i + 1
Text2.Text = i
tmpSignal
If i = 5 Then
terimaSMS
i = 0 End if
End Sub
Public con As New ADODB.Connection
Public rs As New ADODB.Recordset
Public Sub koneksiDB()
Set con = New ADODB.Connectioncon.Open "Provider=MSDASQL. 1;Persist Security Info=false;Data Source=myodbc"
con.CursorLocation = adUseClient
End Sub
Public Sub seleksiInput()
Set rs = New ADODB.Recordset
rs.Open "select * from m_user", con, 1, 3
End Sub
Public Sub insertData(HP, Pesan, Tgl)
SQL = "insert into tr_inbox(NO_HP,PESAN,TANGGAL, NO_HP_PENERIMA_PESAN) value('" & HP & "','" & Pesan & "','" & Tgl & "', '087882093708')"
con.Execute SQL
End Sub
Search
Rabu, 16 Juli 2008
SMS gateway
Label:
SMS Gateway
Langganan:
Posting Komentar (Atom)


1 komentar:
mas robby, saya masih kurang jelas mengenai sms gateway yang anda posting di blog anda.
Posting Komentar