SMS Gateway Visual Basic
SMS Gateway Dengan Visual Basic
Sangat banyak tutorial SMS Gateway jika Anda browsing lewat om
google.com, tinggal pilih mau yang bersifat open source menggunakan
Kannel di Linux atau dengan gammu yang bisa digunakan di Windows atau di
Linux, dan bagi Anda penggemar windows dan familiar dengan program
Visual Basic atau Delphi pasti sangat banyak sekali Anda temukan, saya
pernah berkunjung ke situs http://bengkelprogram.com, disitu sangat
banyak sekali membahas tentang SMS Gateway dengan menggunakan program
Delphi dan Visual Basic.
Walaupun saya tidak begitu banyak mengerti SMS Gateway menggunakan Visual Basic dan Delphi tapi ini ada sedikit sharing buat rekan2 yang membutuhkannya, yang saya temukan dari beberapa artikel. YUp langsung saja contoh koneksi handphone ke program dengan visual basic:
1. Program Visual Basic harus sudah terinstall dikomputer Anda pastinya.
2. Download file Mfbus (sudah saya sertakan bersama contoh program), kemudian ekstrak ke folder windows\system32.
3. Registrasi dulu MFbus nya melalui command promt atau di klik aja tuh yang sudah ada di folder contoh prograh yang bertuliskan Regsvr32), jika dengna command promt caranaya ketik di kotak Run "regsvr32 Mfbus15.ocx "
4. Jangna lupa kabel datanya harus sudah terhubung dengan komputer Anda.
Setelah persiapan diatas Anda lakukan, tahap selanjutnya buat form seperti ini di program VB Anda:
- Double klik commandbutton "Connect" kemudian beri script berikut:
Private Sub Command1_Click()
'Untuk koneksi antara Handphone
'dengan Komputer. Nilai "COM1" dapat
'berubah-ubah sesuai dengan nomor
' COM yang digunakan namun
'jika menggunakan fbus biasanya
'antara COM1 atau COM2
MFBUS15Control1.Connect "COM1"
'Untuk menampilkan signal Handphone
Label1.Caption = "Signal : " & MFBUS15Control1.RfLevel
'Untuk mencek apakah koneksi berhasil atau gagal
If MFBUS15Control1.Connected = True Then
MsgBox "KONEKSI BERHASIL"
Else
MsgBox "KONEKSI GAGAL"
End If
End Sub
- Untuk Disconnectnya tempelkan program berikut:
Private Sub Command2_Click()
' Script memutus koneksi
MFBUS15Control1.Disconnect
'Untuk menyembunyikan tampilan nilai signal
Label1.Caption = "Signal : "
End Sub
Ingat yang ada gambar tulisan Fbus disana muncul jika Activex Mfbus sudah diaktifin. Setelah semuanya beres coba jalankan programnya.
Untuk mengetahui port berapa yang digunakan lihat di Device Manager.
Contoh program visual basic untuk sms gateway informasi valas dapat di download disini:
http://rapidshare.com/files/216611750/Program_SMS.rar.html
Walaupun saya tidak begitu banyak mengerti SMS Gateway menggunakan Visual Basic dan Delphi tapi ini ada sedikit sharing buat rekan2 yang membutuhkannya, yang saya temukan dari beberapa artikel. YUp langsung saja contoh koneksi handphone ke program dengan visual basic:
1. Program Visual Basic harus sudah terinstall dikomputer Anda pastinya.
2. Download file Mfbus (sudah saya sertakan bersama contoh program), kemudian ekstrak ke folder windows\system32.
3. Registrasi dulu MFbus nya melalui command promt atau di klik aja tuh yang sudah ada di folder contoh prograh yang bertuliskan Regsvr32), jika dengna command promt caranaya ketik di kotak Run "regsvr32 Mfbus15.ocx "
4. Jangna lupa kabel datanya harus sudah terhubung dengan komputer Anda.
Setelah persiapan diatas Anda lakukan, tahap selanjutnya buat form seperti ini di program VB Anda:
- Double klik commandbutton "Connect" kemudian beri script berikut:
Private Sub Command1_Click()
'Untuk koneksi antara Handphone
'dengan Komputer. Nilai "COM1" dapat
'berubah-ubah sesuai dengan nomor
' COM yang digunakan namun
'jika menggunakan fbus biasanya
'antara COM1 atau COM2
MFBUS15Control1.Connect "COM1"
'Untuk menampilkan signal Handphone
Label1.Caption = "Signal : " & MFBUS15Control1.RfLevel
'Untuk mencek apakah koneksi berhasil atau gagal
If MFBUS15Control1.Connected = True Then
MsgBox "KONEKSI BERHASIL"
Else
MsgBox "KONEKSI GAGAL"
End If
End Sub
- Untuk Disconnectnya tempelkan program berikut:
Private Sub Command2_Click()
' Script memutus koneksi
MFBUS15Control1.Disconnect
'Untuk menyembunyikan tampilan nilai signal
Label1.Caption = "Signal : "
End Sub
Ingat yang ada gambar tulisan Fbus disana muncul jika Activex Mfbus sudah diaktifin. Setelah semuanya beres coba jalankan programnya.
Untuk mengetahui port berapa yang digunakan lihat di Device Manager.
Contoh program visual basic untuk sms gateway informasi valas dapat di download disini:
http://rapidshare.com/files/216611750/Program_SMS.rar.html
Artikel
ini merupakan kelanjutan dari artikel sebelumnya yang berjudul
“Mengenal Cara Kerja SMS”, disini akan dijelaskan mengenai cara kerja
SMS Gateway. Jika kita mendengar istilah SMS Gateway maka kita akan
membayangkan sebuah sistem aplikasi yang dapat menerima dan melakukan
pengiriman sms, dan biasanya sistem tersebut terdiri dari sebuah
receiver, misal: GSM modem atau HP yang terhubung ke sebuah PC/Komputer
dan aplikasi yang berjalan didalamnya. Namun, penjelasan dalam artikel
ini akan sedikit berbeda, disini akan dijelaskan mengenai cara kerja SMS
Gateway yang digunakan disisi provider telekomunikasi (operator),
seperti Telkomsel, XL, Indosat dll. Anda juga akan mengetahui bagaimana
proses yang terjadi pada layanan polling, sms premium, sms-banking, sms
Broadcast dll di Operator.
Apa itu SMS Gateway ?
SMS
gateway adalah sebuah perangkat yang menawarkan layanan transit SMS,
mentransformasikan pesan ke jaringan selular dari media lain, atau
sebaliknya, sehingga memungkinkan pengiriman atau penerimaan pesan SMS
dengan atau tanpa menggunakan ponsel. (wikipedia).
Sebagaimana
penjelasan diatas, SMS Gateway dapat terhubung ke media lain seperti
perangkat SMSC dan server milik Content Provider melalui link IP untuk
memproses suatu layanan SMS.
Sebuah
sistem SMS Gateway, umumnya terdiri komponen Hardware ( Server/Komputer
yang dilengkapi dengan perangkat jaringan) dan Software (Aplikasi yang
digunakan untuk pengolahan pesan). Dan untuk sebuah sistem yang besar
umumnya menggunakan Database untuk penyimpanan data.
Kedudukan SMS Gateway dalam Network GSM.
Berikut ini adalah contoh kedudukan SMS Gateway di dalam jaringan milik operator beserta protokol komunikasi yang dipakai.
Dari
gambar diatas terlihat bahwa SMS Gateway berfungsi sebagai penghubung
yang melakukan relay sms antara ESME (External Short Message Entitiy)
dan SMSC dan sebaliknya. Komunikasi antara ESME dan SMS Gateway dapat
menggunakan protokol SMPP atau dengan HTTP, sementara ke SMSC
menggunakan SMPP.
ESME
adalah entitas luar yang dapat berupa server aplikasi penyedia layanan
(Application Service Provider) yang dimiliki oleh Content Provider,
aplikasi Perbankan, server polling, dan lain-lain yang dapat menerima
pesan, memproses pesan dan mengirim respons atas pesan yang masuk ,
serta perangkat lain seperti email gateway, WAP proxy server , Voice
mail server.
Protokol SMPP (Short Message Peer to Peer )
SMPP
adalah protokol yang cukup populer yang terbuka, protokol standar
industri yang dirancang untuk menyediakan antarmuka komunikasi data yang
fleksibel untuk transfer data pesan singkat antar entitas SMS, seperti
ESME dan SMSC. SMPP yang banyak digunakan sekarang adalah SMPP v3.4.
SMPP cukup populer dipakai karena memberikan kapasitas yang besar dan
kecepatan transfer sms yang cepat.
Dalam
komunikasi dengan menggunakan SMPP protokol, ada yang berfungsi sebagai
SMPP server dan yang lain sebagai SMPP Client. Sebagaimana diagram
diatas SMS Gateway selain berfungsi sebagai SMPP server juga dapat
berfungsi sebagai SMPP Client.
[ ESME ] ————–> [ SMSGW]
ESME = SMPP Client, SMSGW = SMPP Server
[ SMPP ] ————–> [ SMSC ]
SMSGW = SMPP Client, SMSC = SMPP Server
Sebuah
SMPP Client setidaknya memerlukan 4 buah parameter untuk dapat
berkomunikasi dengan SMPP Server, seperti: IP Address SMPP Server, Nomor
Port, User name dan Password.
Protokol HTTP ( Hypertext Transfer Protocol)
HTTP
adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk
sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia.
Kita semua cukup familiar dengan protokol ini, protokol yang digunakan
untuk aplikasi web. Sebagaimana SMPP, dalam komunikasinya bersifat
client-server, misal : Web Browser sebagai client dan Web Server.
Ada dua metode dalam protokol HTTP, yaitu metode GET dan POST. Dua metode tersebut dapat dipilih sesuai kebutuhan.
Contoh Alur SMS
Dari keterangan diatas kita dapat membayangkan bagaimana alur suatu layanan berbasis sms berjalan, misal: Sms premium.
1) Customer/Mobile Station(MS) melakukan pengiriman pesan.
2) SMS masuk ke SMSC melalui jaringan mobile.
3) Dari SMSC, pesan akan ditransfer ke Content Provider melewati SMS Gateway.
4) Pesan yang masuk ke Content Provider akan diproses oleh aplikasi, kemudian respons dikirim ke MS.
Teknologi SMS Gateway dengan AT Command
Sekilas Tentang SMS Gateway
Layanan pesan singkat atau Surat masa singkat (bahasa Inggris: Short Message Service disingkat SMS) adalah sebuah layanan yang dilaksanakan dengan sebuah telepon genggam untuk mengirim atau menerima pesan-pesan pendek. Pada mulanya SMS dirancang sebagai bagian daripada GSM, tetapi sekarang sudah didapatkan pada jaringan bergerak lainnya termasuk jaringan UMTS.
Sebuah pesan SMS maksimal terdiri dari 140 bytes, dengan kata lain sebuah pesan bisa memuat 140 karakter 8-bit, 160 karakter 7-bit atau 70 karakter 16-bit untuk bahasa Jepang, bahasa Mandarin dan bahasa Korea yang memakai Hanzi (Aksara Kanji / Hanja). Selain 140 bytes ini ada data-data lain yang termasuk. Adapula beberapa metode untuk mengirim pesan yang lebih dari 140 bytes, tetapi seorang pengguna harus membayar lebih dari sekali.
SMS bisa pula untuk mengirim gambar, suara dan film. SMS bentuk ini disebut MMS.
Pesan-pesan SMS dikirim dari sebuah telepon genggam ke pusat pesan (SMSC dalam bahasa Inggris), di sini pesan disimpan dan mencoba mengirimnya selama beberapa kali. Setelah sebuah waktu yang telah ditentukan, biasanya 1 hari atau 2 hari, lalu pesan dihapus. Seorang pengguna bisa mendapatkan konfirmasi dari pusat pesan ini.
SMS Gateway merupakan pintu gerbang bagi penyebaran Informasi dengan menggunakan SMS. Anda dapat menyebarkan pesan ke ratusan nomor secara otomatis dan cepat yang langsung terhubung dengan database nomor-nomor ponsel saja tanpa harus mengetik ratusan nomor dan pesan di ponsel anda karena semua nomor akan diambil secara otomatis dari database tersebut. Selain itu, dengan adanya SMS Gateway anda dapat mengcustomisasi pesan-pesan yang ingin dikirim. Dengan menggunakan program tambahan yang dapat dibuat sendiri, pengirim pesan dapat lebih fleksibel dalam mengirim berita karena biasanya pesan yang ingin dikirim berbeda-beda untuk masing-masing penerimanya.
SMS Gateway adalah jenis sms dua arah. Menariknya bahwa semua tarif yang diberlakukan adalah tarif sms normal sesuai dengan apa yang diberlakukan oleh operator. Karena sifatnya yang dua arah, maka jenis sms ini sangat cocok digunakan sebagai SMS Center sebuah organisasi atau perusahaan dalam rangka meningkatkan kualitas komunikasi antara anggota komunitas organisasi atau pegawai di dalam perusahaan.
Selain itu, dengan adanya SMS Gateway, Anda dapat mengatur pesan-pesan yang ingin dikirim. Dengan menggunakan program tambahan yang dapat dibuat sendiri, pengiriman pesan dapat lebih fleksibel dalam mengirim berita karena biasanya pesan yang ingin dikirim berbeda-beda untuk masing-masing penerimanya (kustomisasi pesan).
Kebutuhan Hardware
Untuk kebutuhan SMS Gateway tidak terlalu belebihan dan juga fleksibel karena bisa dibuat dengan :
1. PC maupun Notebook. Yang mutlak dibutuhkan adalah sebuah komputer tentunya ada USB atau port serial COM
2. Sebuah ponsel atau modem yang mendukung AT Command
3. Kabel data (Kabel berantarmuka serial yang dapat menghubungi ponsel dengan PC) atau dapat munggunakan InfraRed dan piranti lunak sebagai SMS Gateway.
Untuk menggunakan InfraRed anda membutuhkan sebuah ponsel yang juga memiliki fasilitas tsb, tapi tidak dianjurkan untuk kebutuhan SMS gateway karena komunikasi dengan InfraRed tidak terlalu baik (jika tergeser gampang putus).
Kebutuhan Software
Disini penulis menggunakan bahasa pemrograman Visual Basic 6.0 dan untuk pengertian perintah yang dipakai menggunakan AT Command. AT Command adalah perintah-perintah yang digunakan dalam komunikasi dengan serial port. Dengan AT Command kita dapat mengetahui vendor dari Handphone yang digunakan, kekuatan sinyal, membaca pesan yang ada pada SIM Card, megirim pesan, mendeteksi pesan SMS baru yang masuk secara otomatis, menghapus pesan pada SIM Card dan masih banyak lagi.
Dalam program SMS Gateway yang akan kita buat nanti, tidak semua perintah AT Command digunakan. Kita hanya menggunakan beberapa perintah AT yang ada hubungannya dengan sistem kerja dari program SMS Gateway. Adapun perintah yang akan digunakan adalah sebagai berikut :
Command - Keterangan
AT Mengecek apakah Handphone telah terhubung
AT+CMGF Untuk menetapkan format mode dari terminal
AT+CSCS Untuk menetapkan jenis encoding
AT+CNMI Untuk mendeteksi pesan SMS baru masuk secara otomatis
AT+CMGL Membuka daftar SMS yang ada pada SIM Card
AT+CMGS Mengirim pesan SMS
AT+CMGR Membaca pesan SMS
AT+CMGD Menghapus pasan SMS
ATE1 Mengatur ECHO
ATV1 Mengatur input dan output berupa naskah
AT+CGMI Mengecek Merek HP
AT+CGMM Mengecek Seri HP
AT+CGMR Mengecek Versi Keluaran HP
AT+CBC Mengecek Baterai
AT+CSQ Mengecek Kualitas Sinyal
AT+CCLK? Mengecek Jam (waktu) pada HP
AT+CALM=< n > Mengecek Suara/dering HP saat di Telepon (ada Telepon Masuk)
‘n’ adalah adalah angka yang menunjukkan jenis dering
0 = berdering
1 dan 2 = Silent (Diam)
AT^SCID Mengecek ID SIM CARD
AT+CGSN Mengecek Nomor IMEI
AT+CLIP=1 Menampilkan nomor telepon pemanggil
AT+CLCC Menampilkan nomor telepon yang sedang memanggil
AT+COPN Menampilkan Nama Sumua Operator di dunia
AT+COPS? Menampilkan nama operator dari SIM yang digunakan
AT+CPBR=< n > Membaca nomor telepon yang disimpan pada buku telepon (SIM CARD)
‘n’ adalah nomor urut penyimpanan
AT+CPMS=< md > Mengatur Memori dari HP
‘md’ adalah memori yang digunakan
ME = Memori HP
SM = Memori SIM CARD
Langkah-langkah pengcodingan:
Nah sekarang buka Program Microsoft Visual Basic Anda dan ikuti langkah berikut ini:
1. Buka aplikasi VB 6 anda dan pilih standard exe lalu open
2. Tambahkan 1 modul dengan cara klik menu project - add module lalu tambahkan koding dibawah ini :
5. Set boudrate dan lainnya sesuai dengan setingan HP atau modem anda lalu pada form load isikan perintah inisialisasi modem/hp.
6. Silahkan test send sms dengan menggunakan fungsi SendSMS dan silahkan coba-coba fungsi lainnya.
7. Selamat mencoba.
Layanan pesan singkat atau Surat masa singkat (bahasa Inggris: Short Message Service disingkat SMS) adalah sebuah layanan yang dilaksanakan dengan sebuah telepon genggam untuk mengirim atau menerima pesan-pesan pendek. Pada mulanya SMS dirancang sebagai bagian daripada GSM, tetapi sekarang sudah didapatkan pada jaringan bergerak lainnya termasuk jaringan UMTS.
Sebuah pesan SMS maksimal terdiri dari 140 bytes, dengan kata lain sebuah pesan bisa memuat 140 karakter 8-bit, 160 karakter 7-bit atau 70 karakter 16-bit untuk bahasa Jepang, bahasa Mandarin dan bahasa Korea yang memakai Hanzi (Aksara Kanji / Hanja). Selain 140 bytes ini ada data-data lain yang termasuk. Adapula beberapa metode untuk mengirim pesan yang lebih dari 140 bytes, tetapi seorang pengguna harus membayar lebih dari sekali.
SMS bisa pula untuk mengirim gambar, suara dan film. SMS bentuk ini disebut MMS.
Pesan-pesan SMS dikirim dari sebuah telepon genggam ke pusat pesan (SMSC dalam bahasa Inggris), di sini pesan disimpan dan mencoba mengirimnya selama beberapa kali. Setelah sebuah waktu yang telah ditentukan, biasanya 1 hari atau 2 hari, lalu pesan dihapus. Seorang pengguna bisa mendapatkan konfirmasi dari pusat pesan ini.
SMS Gateway merupakan pintu gerbang bagi penyebaran Informasi dengan menggunakan SMS. Anda dapat menyebarkan pesan ke ratusan nomor secara otomatis dan cepat yang langsung terhubung dengan database nomor-nomor ponsel saja tanpa harus mengetik ratusan nomor dan pesan di ponsel anda karena semua nomor akan diambil secara otomatis dari database tersebut. Selain itu, dengan adanya SMS Gateway anda dapat mengcustomisasi pesan-pesan yang ingin dikirim. Dengan menggunakan program tambahan yang dapat dibuat sendiri, pengirim pesan dapat lebih fleksibel dalam mengirim berita karena biasanya pesan yang ingin dikirim berbeda-beda untuk masing-masing penerimanya.
SMS Gateway adalah jenis sms dua arah. Menariknya bahwa semua tarif yang diberlakukan adalah tarif sms normal sesuai dengan apa yang diberlakukan oleh operator. Karena sifatnya yang dua arah, maka jenis sms ini sangat cocok digunakan sebagai SMS Center sebuah organisasi atau perusahaan dalam rangka meningkatkan kualitas komunikasi antara anggota komunitas organisasi atau pegawai di dalam perusahaan.
Selain itu, dengan adanya SMS Gateway, Anda dapat mengatur pesan-pesan yang ingin dikirim. Dengan menggunakan program tambahan yang dapat dibuat sendiri, pengiriman pesan dapat lebih fleksibel dalam mengirim berita karena biasanya pesan yang ingin dikirim berbeda-beda untuk masing-masing penerimanya (kustomisasi pesan).
Kebutuhan Hardware
Untuk kebutuhan SMS Gateway tidak terlalu belebihan dan juga fleksibel karena bisa dibuat dengan :
1. PC maupun Notebook. Yang mutlak dibutuhkan adalah sebuah komputer tentunya ada USB atau port serial COM
2. Sebuah ponsel atau modem yang mendukung AT Command
3. Kabel data (Kabel berantarmuka serial yang dapat menghubungi ponsel dengan PC) atau dapat munggunakan InfraRed dan piranti lunak sebagai SMS Gateway.
Untuk menggunakan InfraRed anda membutuhkan sebuah ponsel yang juga memiliki fasilitas tsb, tapi tidak dianjurkan untuk kebutuhan SMS gateway karena komunikasi dengan InfraRed tidak terlalu baik (jika tergeser gampang putus).
Kebutuhan Software
Disini penulis menggunakan bahasa pemrograman Visual Basic 6.0 dan untuk pengertian perintah yang dipakai menggunakan AT Command. AT Command adalah perintah-perintah yang digunakan dalam komunikasi dengan serial port. Dengan AT Command kita dapat mengetahui vendor dari Handphone yang digunakan, kekuatan sinyal, membaca pesan yang ada pada SIM Card, megirim pesan, mendeteksi pesan SMS baru yang masuk secara otomatis, menghapus pesan pada SIM Card dan masih banyak lagi.
Dalam program SMS Gateway yang akan kita buat nanti, tidak semua perintah AT Command digunakan. Kita hanya menggunakan beberapa perintah AT yang ada hubungannya dengan sistem kerja dari program SMS Gateway. Adapun perintah yang akan digunakan adalah sebagai berikut :
Command - Keterangan
AT Mengecek apakah Handphone telah terhubung
AT+CMGF Untuk menetapkan format mode dari terminal
AT+CSCS Untuk menetapkan jenis encoding
AT+CNMI Untuk mendeteksi pesan SMS baru masuk secara otomatis
AT+CMGL Membuka daftar SMS yang ada pada SIM Card
AT+CMGS Mengirim pesan SMS
AT+CMGR Membaca pesan SMS
AT+CMGD Menghapus pasan SMS
ATE1 Mengatur ECHO
ATV1 Mengatur input dan output berupa naskah
AT+CGMI Mengecek Merek HP
AT+CGMM Mengecek Seri HP
AT+CGMR Mengecek Versi Keluaran HP
AT+CBC Mengecek Baterai
AT+CSQ Mengecek Kualitas Sinyal
AT+CCLK? Mengecek Jam (waktu) pada HP
AT+CALM=< n > Mengecek Suara/dering HP saat di Telepon (ada Telepon Masuk)
‘n’ adalah adalah angka yang menunjukkan jenis dering
0 = berdering
1 dan 2 = Silent (Diam)
AT^SCID Mengecek ID SIM CARD
AT+CGSN Mengecek Nomor IMEI
AT+CLIP=1 Menampilkan nomor telepon pemanggil
AT+CLCC Menampilkan nomor telepon yang sedang memanggil
AT+COPN Menampilkan Nama Sumua Operator di dunia
AT+COPS? Menampilkan nama operator dari SIM yang digunakan
AT+CPBR=< n > Membaca nomor telepon yang disimpan pada buku telepon (SIM CARD)
‘n’ adalah nomor urut penyimpanan
AT+CPMS=< md > Mengatur Memori dari HP
‘md’ adalah memori yang digunakan
ME = Memori HP
SM = Memori SIM CARD
Langkah-langkah pengcodingan:
Nah sekarang buka Program Microsoft Visual Basic Anda dan ikuti langkah berikut ini:
1. Buka aplikasi VB 6 anda dan pilih standard exe lalu open
2. Tambahkan 1 modul dengan cara klik menu project - add module lalu tambahkan koding dibawah ini :
Option Explicit
Public Function RemoveInternationalDiallingCode _
(ByVal tTelNumber As String) As String
RemoveInternationalDiallingCode = "0" & Mid(tTelNumber, 4)
End Function
Public Function GetSMSNum(ByVal tSMSNotification As String) As String
Dim lCRPos As Long
lCRPos = InStrRev(tSMSNotification, vbCr)
If lCRPos > 0 Then GetSMSNum = Mid(tSMSNotification, lCRPos - 2, 2)
If Left(GetSMSNum, 1) = "," Then GetSMSNum = Right(GetSMSNum, 1)
End Function
Public Function ReadSMS(comms As MSComm, _
ByVal tSMSNum As String, tMessage As String, _
tSender As String, tDate As String, _
tTime As String, bRead As Boolean) As Boolean
Dim tChar As String * 1
Dim i As Long
Dim tRead As String
Dim lQuoteNum As Long
Dim tDateTime As String
Dim tData As String
Const TIMEOUT = 10000
On Error GoTo ErrHandler
tData = "AT+CMGR=" & tSMSNum & vbCr
comms.InBufferCount = 0
comms.Output = tData
tData = ""
i = timeGetTime
Do While timeGetTime - i <= TIMEOUT And InStr(tData, "OK" & vbCrLf) = 0 And InStr(tData, "ERROR" & vbCrLf) = 0
DoEvents
If comms.InBufferCount > 0 Then
tChar = comms.Input
tData = tData & tChar
End If
Loop
If InStr(tData, "ERROR") = 0 And tData <> "" Then
For i = 1 To Len(tData)
tChar = Mid(tData, i, 1)
If tChar = """" Then lQuoteNum = lQuoteNum + 1
If lQuoteNum = 1 And tChar <> """" Then tRead = tRead & tChar
If lQuoteNum = 3 And tChar <> """" Then tSender = tSender & tChar
If lQuoteNum = 5 And tChar <> """" Then tDateTime = tDateTime & tChar
If lQuoteNum = 6 And tChar <> """" Then tMessage = tMessage & tChar
Next i
bRead = (tRead = "REC READ")
tDate = Left(tDateTime, 8)
tTime = Mid(tDateTime, 10, 8)
tMessage = Mid(tMessage, 3)
tMessage = Mid(tMessage, 1, InStr(tMessage, vbCr) - 1)
ReadSMS = True
End If
Exit Function
ErrHandler:
ReadSMS = False
End Function
Public Function DeleteAllSMSes(comms As MSComm) As Boolean
Dim i As Long
For i = 1 To 15
DeleteAllSMSes = InStr(TransmitAndReceiveData(comms, "AT+CMGD=" & i & vbCr), "OK")
Next i
End Function
Public Function DeleteSMS(comms As MSComm, ByVal lSMSNum As Long) As Boolean
DeleteSMS = InStr(TransmitAndReceiveData(comms, "AT+CMGD=" & lSMSNum & vbCr), "OK")
End Function
Public Function SendSMS(comms As MSComm, ByVal tSMSNum As String, ByVal tMessage As String) As Boolean
SendSMS = InStr(TransmitAndReceiveData(comms, "AT+CMGS=" & """" & tSMSNum & """" & vbCr & tMessage & Chr(26)), "OK")
End Function
Public Function TestModem(comms As MSComm) As String
TestModem = TransmitAndReceiveData(comms, "AT")
End Function
Public Function ManufacturerInfo(comms As MSComm) As String
ManufacturerInfo = TransmitAndReceiveData(comms, "AT+CGMI")
End Function
Public Function ModelInfo(comms As MSComm) As String
ModelInfo = TransmitAndReceiveData(comms, "AT+CGMM")
End Function
Public Function FirmwareInfo(comms As MSComm) As String
FirmwareInfo = TransmitAndReceiveData(comms, "AT+CGMR")
End Function
Public Function IMEIInfo(comms As MSComm) As String
IMEIInfo = TransmitAndReceiveData(comms, "AT+CGSN")
End Function
Public Function IMSIInfo(comms As MSComm) As String
IMSIInfo = TransmitAndReceiveData(comms, "AT+CIMI")
End Function
Public Function EF_CCIDInfo(comms As MSComm) As String
EF_CCIDInfo = TransmitAndReceiveData(comms, "AT+CCID")
End Function
Public Function NetworkRegStatus(comms As MSComm) As String
NetworkRegStatus = TransmitAndReceiveData(comms, "AT+CREG?")
End Function
Public Function AvailablePLMNs(comms As MSComm) As String
AvailablePLMNs = TransmitAndReceiveData(comms, "AT+COPS?")
End Function
Public Function NetworkFieldStrength(comms As MSComm) As String
NetworkFieldStrength = TransmitAndReceiveData(comms, "AT+CSQ")
End Function
Public Function MainCellMainParams(comms As MSComm) As String
MainCellMainParams = TransmitAndReceiveData(comms, "AT+CCED=0")
End Function
Public Function TransmitAndReceiveData(comms As MSComm, ByVal tData As String) As String
Dim lTime As Long
Const TIMEOUT = 10000
tData = tData & vbCr
With comms
.InBufferCount = 0
.Output = tData
tData = ""
lTime = timeGetTime
tData = ""
Do While timeGetTime - lTime <= TIMEOUT And InStr(tData, "OK") = 0 And InStr(tData, "ERROR" & vbCrLf) = 0
DoEvents
If .InBufferCount > 0 Then tData = tData & .Input
Loop
End With
TransmitAndReceiveData = tData
End Function
4. Tambahkan komponen mscomm punyanya microsoftPublic Function RemoveInternationalDiallingCode _
(ByVal tTelNumber As String) As String
RemoveInternationalDiallingCode = "0" & Mid(tTelNumber, 4)
End Function
Public Function GetSMSNum(ByVal tSMSNotification As String) As String
Dim lCRPos As Long
lCRPos = InStrRev(tSMSNotification, vbCr)
If lCRPos > 0 Then GetSMSNum = Mid(tSMSNotification, lCRPos - 2, 2)
If Left(GetSMSNum, 1) = "," Then GetSMSNum = Right(GetSMSNum, 1)
End Function
Public Function ReadSMS(comms As MSComm, _
ByVal tSMSNum As String, tMessage As String, _
tSender As String, tDate As String, _
tTime As String, bRead As Boolean) As Boolean
Dim tChar As String * 1
Dim i As Long
Dim tRead As String
Dim lQuoteNum As Long
Dim tDateTime As String
Dim tData As String
Const TIMEOUT = 10000
On Error GoTo ErrHandler
tData = "AT+CMGR=" & tSMSNum & vbCr
comms.InBufferCount = 0
comms.Output = tData
tData = ""
i = timeGetTime
Do While timeGetTime - i <= TIMEOUT And InStr(tData, "OK" & vbCrLf) = 0 And InStr(tData, "ERROR" & vbCrLf) = 0
DoEvents
If comms.InBufferCount > 0 Then
tChar = comms.Input
tData = tData & tChar
End If
Loop
If InStr(tData, "ERROR") = 0 And tData <> "" Then
For i = 1 To Len(tData)
tChar = Mid(tData, i, 1)
If tChar = """" Then lQuoteNum = lQuoteNum + 1
If lQuoteNum = 1 And tChar <> """" Then tRead = tRead & tChar
If lQuoteNum = 3 And tChar <> """" Then tSender = tSender & tChar
If lQuoteNum = 5 And tChar <> """" Then tDateTime = tDateTime & tChar
If lQuoteNum = 6 And tChar <> """" Then tMessage = tMessage & tChar
Next i
bRead = (tRead = "REC READ")
tDate = Left(tDateTime, 8)
tTime = Mid(tDateTime, 10, 8)
tMessage = Mid(tMessage, 3)
tMessage = Mid(tMessage, 1, InStr(tMessage, vbCr) - 1)
ReadSMS = True
End If
Exit Function
ErrHandler:
ReadSMS = False
End Function
Public Function DeleteAllSMSes(comms As MSComm) As Boolean
Dim i As Long
For i = 1 To 15
DeleteAllSMSes = InStr(TransmitAndReceiveData(comms, "AT+CMGD=" & i & vbCr), "OK")
Next i
End Function
Public Function DeleteSMS(comms As MSComm, ByVal lSMSNum As Long) As Boolean
DeleteSMS = InStr(TransmitAndReceiveData(comms, "AT+CMGD=" & lSMSNum & vbCr), "OK")
End Function
Public Function SendSMS(comms As MSComm, ByVal tSMSNum As String, ByVal tMessage As String) As Boolean
SendSMS = InStr(TransmitAndReceiveData(comms, "AT+CMGS=" & """" & tSMSNum & """" & vbCr & tMessage & Chr(26)), "OK")
End Function
Public Function TestModem(comms As MSComm) As String
TestModem = TransmitAndReceiveData(comms, "AT")
End Function
Public Function ManufacturerInfo(comms As MSComm) As String
ManufacturerInfo = TransmitAndReceiveData(comms, "AT+CGMI")
End Function
Public Function ModelInfo(comms As MSComm) As String
ModelInfo = TransmitAndReceiveData(comms, "AT+CGMM")
End Function
Public Function FirmwareInfo(comms As MSComm) As String
FirmwareInfo = TransmitAndReceiveData(comms, "AT+CGMR")
End Function
Public Function IMEIInfo(comms As MSComm) As String
IMEIInfo = TransmitAndReceiveData(comms, "AT+CGSN")
End Function
Public Function IMSIInfo(comms As MSComm) As String
IMSIInfo = TransmitAndReceiveData(comms, "AT+CIMI")
End Function
Public Function EF_CCIDInfo(comms As MSComm) As String
EF_CCIDInfo = TransmitAndReceiveData(comms, "AT+CCID")
End Function
Public Function NetworkRegStatus(comms As MSComm) As String
NetworkRegStatus = TransmitAndReceiveData(comms, "AT+CREG?")
End Function
Public Function AvailablePLMNs(comms As MSComm) As String
AvailablePLMNs = TransmitAndReceiveData(comms, "AT+COPS?")
End Function
Public Function NetworkFieldStrength(comms As MSComm) As String
NetworkFieldStrength = TransmitAndReceiveData(comms, "AT+CSQ")
End Function
Public Function MainCellMainParams(comms As MSComm) As String
MainCellMainParams = TransmitAndReceiveData(comms, "AT+CCED=0")
End Function
Public Function TransmitAndReceiveData(comms As MSComm, ByVal tData As String) As String
Dim lTime As Long
Const TIMEOUT = 10000
tData = tData & vbCr
With comms
.InBufferCount = 0
.Output = tData
tData = ""
lTime = timeGetTime
tData = ""
Do While timeGetTime - lTime <= TIMEOUT And InStr(tData, "OK") = 0 And InStr(tData, "ERROR" & vbCrLf) = 0
DoEvents
If .InBufferCount > 0 Then tData = tData & .Input
Loop
End With
TransmitAndReceiveData = tData
End Function
5. Set boudrate dan lainnya sesuai dengan setingan HP atau modem anda lalu pada form load isikan perintah inisialisasi modem/hp.
6. Silahkan test send sms dengan menggunakan fungsi SendSMS dan silahkan coba-coba fungsi lainnya.
7. Selamat mencoba.
[Seri Tutorial SMS Gateway] Membuat Aplikasi Mengirim dan Menerima SMS dengan Visual Basic 6 dan Lawoo SMS Gateway
Lawoo SMS Gateway dapat dikolaborasikan dengan bahasa pemrograman apapun
yang Anda kuasai. Pada tutorial sebelumnya telah disajikan cara membuat
script PHP untuk mengirim SMS, maka kali ini akan dibahas pembuatan
aplikasi Kirim dan Terima SMS menggunakan Bahasa Pemrograman Visual
Basic 6.
Sebelum masuk ke lingkungan pemrograman Visual Basic 6, ada beberapa langkah yang harus dilakukan terlebih dahulu, yaitu membuat USER DSN menggunakan ODBC. Langkah-langkahnya adalah sebagai berikut:
1. Pada Sistem Operasi Windows, Klik START -> CONTROL PANEL, selanjutnya ketik "ODBC" dibagian SEARCH (pojok kanan atas jendela Control Panel), lebih jelasnya lihat gambar di bawah ini:
2. Masih di jendela Control Panel seperti gambar di atas, klik Set up data sources (ODBC).
3. Selanjutnya akan muncul jendela ODBC Data Source Administrator dan klik saja tombol [Add...] seperti gambar di bawah ini:
4. Selanjutnya akan muncul jendela Create New Data Source, pada daftar yang ada, pilih saja MySQL ODBC 3.51 Driver, kemudian klik Next. Lebih jelasnya perhatikan gambar berikut ini:
5. Selanjutnya akan muncul jendela Connector/ODBC - Add Data Source Name. Pada jendela ini isikan parameter-parameter berikut ini:
Data Source Name : LawooVB
Server : localhost
User : root
Password:
Database: lawoo_db
Perhatikan gambar di bawah ini agar lebih jelas:
Setelah mengisi dengan parameter diatas, klik tombol TEST, dan pastikan muncul informasi bahwa pembuatan koneksi berhasil:
Klik OK untuk menutup jendela konfigurasi data source.
6. Tahap pembuatan koneksi ke MySQL sudah selesai. Tahap berikutnya adalah mulai membuat program dengan Visual Basic 6. Dan Saya asumsikan bahwa Anda setidaknya sudah memahami dasar-dasar pemrograman Visual Basic 6.
7. Buka Microsoft Visual Basic 6, buat sebuah form kosong.
8. Kemudian Klik Menu PROJECT --> COMPONENTS. Pada daftar komponen, pilih: (a) Microsoft ADO Data Control 6.0, dan (b) Microsoft DataGrid Control 6.0 kemudian klik OK. Lebih jelasnya perhatikan gambar berikut:
9. Selanjutnya desainlah sebuah form seperti pada gambar berikut ini:
Adapun komponen-komponen yang ditambahkan ke dalam form dan properti yang diatur adalah sebagai berikut:
10. Selanjutnya memulai pembuatan kode programnya. Untuk masuk ke editor program, klik menu VIEW-CODE. kemudian ketik baris-baris kode berikut:
Private Sub IsiModem()
With adoMODEM
.CommandType = adCmdText
.RecordSource = "SELECT * FROM modem"
.Refresh
If .Recordset.RecordCount > 0 Then
cboModem.Clear
.Recordset.MoveFirst
While Not .Recordset.EOF
cboModem.AddItem .Recordset.Fields("IMEI").Value
.Recordset.MoveNext
Wend
End If
End With
If cboModem.ListCount > 0 Then cboModem.ListIndex = 0
End Sub
==========================
Private Sub TampilkanOutbox()
With adoOUTBOX
.CommandType = adCmdText
.RecordSource = "SELECT DESTINATIONNUMBER, MESSAGES, SENDINGDATETIME, PRIORITY, IMEI FROM outbox"
.Refresh
lblStatusOutbox.Caption = "Jumlah Antrian SMS: " & .Recordset.RecordCount
End With
With dgOUTBOX
.RowHeight = 600
Set .DataSource = adoOUTBOX
.Columns(0).Caption = "No. Tujuan"
.Columns(1).Caption = "Pesan"
.Columns(2).Caption = "Tgl. Jam"
.Columns(3).Caption = "Prioritas"
.Columns(4).Caption = "IMEI"
.Columns(0).Width = 1100
.Columns(1).Width = 3500
.Columns(2).Width = 800
.Columns(3).Width = 800
.Columns(4).Width = 800
.Columns(0).WrapText = True
.Columns(1).WrapText = True
.Columns(2).WrapText = True
.Columns(3).WrapText = True
.Columns(4).WrapText = True
End With
End Sub
==========================
Private Sub TampilkanInbox()
With adoINBOX
.CommandType = adCmdText
.RecordSource = "SELECT NOOA, UD, SCTS_D, SCTS_T FROM inbox ORDER BY ID DESC"
.Refresh
lblStatusInbox.Caption = "Jumlah SMS di Inbox: " & .Recordset.RecordCount
End With
With dgINBOX
.RowHeight = 600
Set .DataSource = adoINBOX
.Columns(0).Caption = "No. Pengirim"
.Columns(1).Caption = "Pesan"
.Columns(2).Caption = "Tgl"
.Columns(3).Caption = "Jam"
.Columns(0).Width = 1000
.Columns(1).Width = 3500
.Columns(2).Width = 800
.Columns(3).Width = 800
.Columns(0).WrapText = True
.Columns(1).WrapText = True
.Columns(2).WrapText = True
.Columns(3).WrapText = True
End With
End Sub
==========================
Private Sub cmdKirim_Click()
Dim vIMEI As String
Dim vNoTujuan As String
Dim vPesan As String
Dim vTimeStamp As String
Dim vPriority As Integer
vIMEI = cboModem.Text
vNoTujuan = txtNoTujuan.Text
vPesan = txtPesan.Text
vTimeStamp = Format(Now, "yyyy-MM-dd HH:mm")
vPriority = 5 'Normal
With adoOUTBOX
.Recordset.AddNew
.Recordset.Fields("SENDINGDATETIME").Value = vTimeStamp
.Recordset.Fields("MESSAGES").Value = vPesan
.Recordset.Fields("DESTINATIONNUMBER").Value = vNoTujuan
.Recordset.Fields("PRIORITY").Value = vPriority
.Recordset.Fields("IMEI").Value = vIMEI
.Recordset.Update
End With
txtNoTujuan.Text = ""
txtPesan.Text = ""
End Sub
==========================
Private Sub cmdTutup_Click()
Unload Me
End Sub
==========================
Private Sub Form_Load()
adoINBOX.ConnectionString = "DSN=LawooVB"
adoOUTBOX.ConnectionString = "DSN=LawooVB"
adoMODEM.ConnectionString = "DSN=LawooVB"
IsiModem
TampilkanOutbox
TampilkanInbox
End Sub
==========================
Private Sub Timer1_Timer()
TampilkanOutbox
TampilkanInbox
End Sub
==========================
11. Selesai, Simpan form dan project Anda, kemudian Jalankan program dengan menekan tombol F5 atau ikon START.
12. Saatnya mengujicoba mengirim dan menerima SMS dengan Lawoo SMS Gateway. Pastikan Server Lawoo SMS Gateway sudah berjalan agar program yang Anda buat diatas dapat mengirim dan menerima SMS dengan lancar.
13. Selamat berkarya. Untuk source code program pada tutorial ini dapat di download di sini.
Catatan: Saya asumsikan bahwasanya Lawoo SMS Gateway sudah terinstall di Sistem Operasi Windows Anda, dan sudah Anda lakukan konfigurasi seperti yang tercantum di dalam buku manual.
Sebelum masuk ke lingkungan pemrograman Visual Basic 6, ada beberapa langkah yang harus dilakukan terlebih dahulu, yaitu membuat USER DSN menggunakan ODBC. Langkah-langkahnya adalah sebagai berikut:
1. Pada Sistem Operasi Windows, Klik START -> CONTROL PANEL, selanjutnya ketik "ODBC" dibagian SEARCH (pojok kanan atas jendela Control Panel), lebih jelasnya lihat gambar di bawah ini:
2. Masih di jendela Control Panel seperti gambar di atas, klik Set up data sources (ODBC).
3. Selanjutnya akan muncul jendela ODBC Data Source Administrator dan klik saja tombol [Add...] seperti gambar di bawah ini:
4. Selanjutnya akan muncul jendela Create New Data Source, pada daftar yang ada, pilih saja MySQL ODBC 3.51 Driver, kemudian klik Next. Lebih jelasnya perhatikan gambar berikut ini:
5. Selanjutnya akan muncul jendela Connector/ODBC - Add Data Source Name. Pada jendela ini isikan parameter-parameter berikut ini:
Data Source Name : LawooVB
Server : localhost
User : root
Password:
Database: lawoo_db
Perhatikan gambar di bawah ini agar lebih jelas:
Setelah mengisi dengan parameter diatas, klik tombol TEST, dan pastikan muncul informasi bahwa pembuatan koneksi berhasil:
Klik OK untuk menutup jendela konfigurasi data source.
6. Tahap pembuatan koneksi ke MySQL sudah selesai. Tahap berikutnya adalah mulai membuat program dengan Visual Basic 6. Dan Saya asumsikan bahwa Anda setidaknya sudah memahami dasar-dasar pemrograman Visual Basic 6.
7. Buka Microsoft Visual Basic 6, buat sebuah form kosong.
8. Kemudian Klik Menu PROJECT --> COMPONENTS. Pada daftar komponen, pilih: (a) Microsoft ADO Data Control 6.0, dan (b) Microsoft DataGrid Control 6.0 kemudian klik OK. Lebih jelasnya perhatikan gambar berikut:
9. Selanjutnya desainlah sebuah form seperti pada gambar berikut ini:
Adapun komponen-komponen yang ditambahkan ke dalam form dan properti yang diatur adalah sebagai berikut:
10. Selanjutnya memulai pembuatan kode programnya. Untuk masuk ke editor program, klik menu VIEW-CODE. kemudian ketik baris-baris kode berikut:
Private Sub IsiModem()
With adoMODEM
.CommandType = adCmdText
.RecordSource = "SELECT * FROM modem"
.Refresh
If .Recordset.RecordCount > 0 Then
cboModem.Clear
.Recordset.MoveFirst
While Not .Recordset.EOF
cboModem.AddItem .Recordset.Fields("IMEI").Value
.Recordset.MoveNext
Wend
End If
End With
If cboModem.ListCount > 0 Then cboModem.ListIndex = 0
End Sub
==========================
Private Sub TampilkanOutbox()
With adoOUTBOX
.CommandType = adCmdText
.RecordSource = "SELECT DESTINATIONNUMBER, MESSAGES, SENDINGDATETIME, PRIORITY, IMEI FROM outbox"
.Refresh
lblStatusOutbox.Caption = "Jumlah Antrian SMS: " & .Recordset.RecordCount
End With
With dgOUTBOX
.RowHeight = 600
Set .DataSource = adoOUTBOX
.Columns(0).Caption = "No. Tujuan"
.Columns(1).Caption = "Pesan"
.Columns(2).Caption = "Tgl. Jam"
.Columns(3).Caption = "Prioritas"
.Columns(4).Caption = "IMEI"
.Columns(0).Width = 1100
.Columns(1).Width = 3500
.Columns(2).Width = 800
.Columns(3).Width = 800
.Columns(4).Width = 800
.Columns(0).WrapText = True
.Columns(1).WrapText = True
.Columns(2).WrapText = True
.Columns(3).WrapText = True
.Columns(4).WrapText = True
End With
End Sub
==========================
Private Sub TampilkanInbox()
With adoINBOX
.CommandType = adCmdText
.RecordSource = "SELECT NOOA, UD, SCTS_D, SCTS_T FROM inbox ORDER BY ID DESC"
.Refresh
lblStatusInbox.Caption = "Jumlah SMS di Inbox: " & .Recordset.RecordCount
End With
With dgINBOX
.RowHeight = 600
Set .DataSource = adoINBOX
.Columns(0).Caption = "No. Pengirim"
.Columns(1).Caption = "Pesan"
.Columns(2).Caption = "Tgl"
.Columns(3).Caption = "Jam"
.Columns(0).Width = 1000
.Columns(1).Width = 3500
.Columns(2).Width = 800
.Columns(3).Width = 800
.Columns(0).WrapText = True
.Columns(1).WrapText = True
.Columns(2).WrapText = True
.Columns(3).WrapText = True
End With
End Sub
==========================
Private Sub cmdKirim_Click()
Dim vIMEI As String
Dim vNoTujuan As String
Dim vPesan As String
Dim vTimeStamp As String
Dim vPriority As Integer
vIMEI = cboModem.Text
vNoTujuan = txtNoTujuan.Text
vPesan = txtPesan.Text
vTimeStamp = Format(Now, "yyyy-MM-dd HH:mm")
vPriority = 5 'Normal
With adoOUTBOX
.Recordset.AddNew
.Recordset.Fields("SENDINGDATETIME").Value = vTimeStamp
.Recordset.Fields("MESSAGES").Value = vPesan
.Recordset.Fields("DESTINATIONNUMBER").Value = vNoTujuan
.Recordset.Fields("PRIORITY").Value = vPriority
.Recordset.Fields("IMEI").Value = vIMEI
.Recordset.Update
End With
txtNoTujuan.Text = ""
txtPesan.Text = ""
End Sub
==========================
Private Sub cmdTutup_Click()
Unload Me
End Sub
==========================
Private Sub Form_Load()
adoINBOX.ConnectionString = "DSN=LawooVB"
adoOUTBOX.ConnectionString = "DSN=LawooVB"
adoMODEM.ConnectionString = "DSN=LawooVB"
IsiModem
TampilkanOutbox
TampilkanInbox
End Sub
==========================
Private Sub Timer1_Timer()
TampilkanOutbox
TampilkanInbox
End Sub
==========================
11. Selesai, Simpan form dan project Anda, kemudian Jalankan program dengan menekan tombol F5 atau ikon START.
12. Saatnya mengujicoba mengirim dan menerima SMS dengan Lawoo SMS Gateway. Pastikan Server Lawoo SMS Gateway sudah berjalan agar program yang Anda buat diatas dapat mengirim dan menerima SMS dengan lancar.
13. Selamat berkarya. Untuk source code program pada tutorial ini dapat di download di sini.
Mengirim SMS dengan Visual Basic .NET
Pada
kesempatan ini, Anda akan mempelajari bagaimana mengirim pesan singkat
melalui Visual Basic .NET menggunakan Modem GSM Wavecom. Modem Wavecom
memiliki beberapa perintah AT Command yang berhubungan dengan SMS,
diantara untuk mengirim, menghapus, membaca, dan lainnya. Komunikasi
antara modem GSM dengan VB .NET melalui port serial. Sehingga Anda akan
mudah melakukannya karena pada VB .NET sudah tersedia tool untuk
komunikasi melalui port serial.
Mengirim SMS
Untuk mengirim SMS melalui modem, lakukan langkah-langkah berikut ini:
1. AT
balasan “OK” jika modem berfungsi
2. AT+CMGF=1
mengatur mode Teks
3. AT+CSCA= ”+XXXX”
nomer SMS Center, tergantung SIM Card yang digunakan
Untuk mengirim pesan:
4. AT+CMGS= ”+NNNN” <Enter>
nomer handphone yang akan dituju
5. Pesan_yang_akan_kita_kirim <Ctrl+Z>
Kemudian, bagaimanakah jika menggunakan VB .NET?
Langkah-langkahnya sama dengan diatas.
1. SerialPort1.WriteLine(“AT”)
mengirim perintah AT ke port serial
2. SerialPort1.WriteLine(“AT+CMGF=1″ & vbCrLf)
mengirim perintah AT+CMGF=1 dan Enter, yaitu kita mengatur modem agar bekerja dalam mode teks.
3. SerialPort1.WriteLine(“AT+CSCA=” & Chr(34) & txtCenter.Text & Chr(34) & vbCrLf)
mengirim perintah AT+CSCA diikuti nomer SMS Center dan Enter. Nomer SMS Center di sini tergantung dari operator SIM card yang dipakai, sehingga bisa disesuaikan
4. SerialPort1.WriteLine(“AT+CMGS=” & Chr(34) & txtNotujuan.Text & Chr(34) & vbCrLf)
mengirim perintah AT+CMGS diikuti nomer tujuan SMS dan enter. Nomer tujuan bisa semua operator.
5. SerialPort1.WriteLine(txtPesan.Text & Chr(26)) ‘SMS sending
mengirim isi pesan diikuti Ctrl+z
dengan demikian isi SMS akan terkirim sukses.
Untuk lebih jelasnya, silakan pelajari pada code VB .NET yang disertakan. Semoga bermanfaat.
Mengirim SMS
Untuk mengirim SMS melalui modem, lakukan langkah-langkah berikut ini:
1. AT
balasan “OK” jika modem berfungsi
2. AT+CMGF=1
mengatur mode Teks
3. AT+CSCA= ”+XXXX”
nomer SMS Center, tergantung SIM Card yang digunakan
Untuk mengirim pesan:
4. AT+CMGS= ”+NNNN” <Enter>
nomer handphone yang akan dituju
5. Pesan_yang_akan_kita_kirim <Ctrl+Z>
Kemudian, bagaimanakah jika menggunakan VB .NET?
Langkah-langkahnya sama dengan diatas.
1. SerialPort1.WriteLine(“AT”)
mengirim perintah AT ke port serial
2. SerialPort1.WriteLine(“AT+CMGF=1″ & vbCrLf)
mengirim perintah AT+CMGF=1 dan Enter, yaitu kita mengatur modem agar bekerja dalam mode teks.
3. SerialPort1.WriteLine(“AT+CSCA=” & Chr(34) & txtCenter.Text & Chr(34) & vbCrLf)
mengirim perintah AT+CSCA diikuti nomer SMS Center dan Enter. Nomer SMS Center di sini tergantung dari operator SIM card yang dipakai, sehingga bisa disesuaikan
4. SerialPort1.WriteLine(“AT+CMGS=” & Chr(34) & txtNotujuan.Text & Chr(34) & vbCrLf)
mengirim perintah AT+CMGS diikuti nomer tujuan SMS dan enter. Nomer tujuan bisa semua operator.
5. SerialPort1.WriteLine(txtPesan.Text & Chr(26)) ‘SMS sending
mengirim isi pesan diikuti Ctrl+z
dengan demikian isi SMS akan terkirim sukses.
Untuk lebih jelasnya, silakan pelajari pada code VB .NET yang disertakan. Semoga bermanfaat.
Mengirim dan menerima SMS menggunakan HyperTerminal melalui Modem GSM Serial
Pada
kesempatan ini akan saya berikan sedikit contoh bagaimana mengirim dan
menerima sms menggunakan hyperterminal melalui modem GSM serial. Seperti
kita sudah ketahui, bahwa program bawaan Windows® adalah sebuah program
yang sangat familiar bagi orang yang hobby ataupun seorang teknisi yang
sering berhubungan dengan interfacing. Hyperterminal merupakan software
yang universal dan mudah penggunaannya.
Dengan menggunakan hyperterminal kita bisa mengatur setting serial port sesuai dengan hardware yang akan kita gunakan. Seperti seting baud rate, stop bit, parity, data bit, dan flow control.
Bagaimanakah cara membuat sebuah koneksi interface dengan hyperterminal? Berikut langkah-langkah yang bisa dilakukan:
1. Buka Hyperterminal
2. Selanjutnya akan muncul dialog box berikut, pilih Cancel
3. Kemudian pilih Yes
4. Pilih OK
5. Pada Connection Description berikut, berilah nama SMS
6. Kemudian pilihlah Serial Port yang akan digunakan dengan memilih dari combo boxConnect using. Kemudian klik OK.
7. Selanjutnya kita tentukan Port setting seperti berikut. Kemudian pilih OK
8. Tampilan dibawah ini adalah workspace hyperterminal yang akan kita gunakan untuk berkomunikasi dengan modem
Untuk melakukan komunikasi dengan modem GSM serial, kita menggunakan AT+Command. AT+Command adalah kumpulan perintah yang diawali dengan AT untuk berkomunikasi dengan modem. Modem yang saya gunakan adalah Wavecom® Fastrack yang murah dan mudah dibeli. Modem yang saya gunakan memiliki sekumpulan AT+Command yang terangkum pada panduan yang dapat dilihat disini. Pada dasarnya modem yang dapat digunakan adalah modem yang support dengan AT+Command, walaupun pada beberapa merk modem mungkin memiliki beberapa perintah yang berbeda tergantung dari vendor pembuatnya.
Selanjutnya saya akan mencoba mengakses modem dengan perintah AT+Command. Diantaranya, informasi yang dapat saya ambil adalah: Manufacturer identification, Request model identification, Request revision identification, Product Serial Number, Request IMSI, Card Identification, Capabilities list, dan lain-lain. Lebih lengkapnya dapat dilihat pada wavecom command.
Saya akan mendapatkan informasi diatas dari modem yang saya gunakan.
Dan untuk informasi lainnya dapat merujuk pada AT+Command yang ada.
Selanjutnya kita akan mencoba menggunakan hyperterminal untuk mengirim dan menerima SMS melalui Modem GSM serial. Perintah-perintah yang digunakan adalah: AT+CMGF, AT+CSCA, AT+CMGS, AT+CNMI, AT+CMGR, AT+CMGD.
Mengirim SMS
Tes koneksi hyperterminal dengan Modem GSM menggunakan perintah AT diikuti Enter. Jika koneksi terhubung maka akan muncul OK. Selanjutnya kita ketik berikut:
AT balasan “OK” jika modem berfungsi
AT+CMGF=1 mengatur mode Teks
AT+CSCA= ”+XXXX” nomer SMS Center, tergantung SIM Card yang digunakan
Untuk mengirim pesan:
AT+CMGS= ”+NNNN” <Enter> nomer handphone yang akan dituju
Pesan_yang_akan_kita_kirim <Ctrl+Z>
Menerima SMS
Kemudian bagaimanakan jika kita ingin menerima pesan? Modem GSM dapat disetting dengan dua cara, pertama Immediate, dan kedua Notification. Berikut langkah yang dapat dilakukan.
Tes koneksi hyperterminal dengan Modem GSM menggunakan perintah AT diikuti Enter. Jika koneksi terhubung maka akan muncul OK. Selanjutnya kita ketik berikut:
a. Immediate, ketika kita ingin hyperterminal menerima pesan yang masuk secara detil. GSM modem akan langsung mengirim pesan ke komputer dengan perintah +CMT.
AT+CMGF=1
AT+CNMI=1,2,0,0,0 mengatur agar modem mengirim pesan ke computer saat diterima
Saat pesan diterima, maka computer akan menerima
+CMT: “+nnnn”,,”10/12/06,06:04:10+28”
Pesan_balasan_dari_handphone
Computer akan memantau port serial secara kontinyu dan menampilkan pesan jika telah diterima.
b. Notification, ketika pesan diterima, maka GSM akan mengirim notifikasi ke computer menggunakan perintah +CMTI diikuti nomer memori pesan tersimpan.
AT+CMGF=1
AT+CNMI=1,1,0,0,0
mengatur agar modem mengirim notifikasi ke computer saat diterima
Saat pesan diterima, maka computer akan menerima
+CMTI: “SM”,9 pesan tersimpan pada memori nomer 9
Ketik AT+CMGR=9 untuk membaca pesan dari memori nomer 9
Balasan dari modem:
+CMGR: “REC UNREAD”,”+nnnnn”,”10/12/06,06:13:06+28”
Pesan_balasan
OK
Kemudian ketik AT+CMGD=9 menghapus pesan pada nomer memori 9
Demikian langkah-langkah untuk mengirim dan menerima sms menggunakan hyperterminal. Pada dasarnya untuk mengirim dan menerima SMS dapat menggunakan program-program yang lain, misalnya: Visual Basic 6.0, Visual Basic .NET, C++, Delphi atau pun yang lainnya dengan prinsip yang sama.
SMS dapat digunakan untuk pengukura jarak jauh (telemetri), pengendalian jarak jauh (telecommand), SMS gateway, dan lainnya.
Semoga bermanfaat.
Dengan menggunakan hyperterminal kita bisa mengatur setting serial port sesuai dengan hardware yang akan kita gunakan. Seperti seting baud rate, stop bit, parity, data bit, dan flow control.
Bagaimanakah cara membuat sebuah koneksi interface dengan hyperterminal? Berikut langkah-langkah yang bisa dilakukan:
1. Buka Hyperterminal
2. Selanjutnya akan muncul dialog box berikut, pilih Cancel
3. Kemudian pilih Yes
4. Pilih OK
5. Pada Connection Description berikut, berilah nama SMS
6. Kemudian pilihlah Serial Port yang akan digunakan dengan memilih dari combo boxConnect using. Kemudian klik OK.
7. Selanjutnya kita tentukan Port setting seperti berikut. Kemudian pilih OK
8. Tampilan dibawah ini adalah workspace hyperterminal yang akan kita gunakan untuk berkomunikasi dengan modem
Untuk melakukan komunikasi dengan modem GSM serial, kita menggunakan AT+Command. AT+Command adalah kumpulan perintah yang diawali dengan AT untuk berkomunikasi dengan modem. Modem yang saya gunakan adalah Wavecom® Fastrack yang murah dan mudah dibeli. Modem yang saya gunakan memiliki sekumpulan AT+Command yang terangkum pada panduan yang dapat dilihat disini. Pada dasarnya modem yang dapat digunakan adalah modem yang support dengan AT+Command, walaupun pada beberapa merk modem mungkin memiliki beberapa perintah yang berbeda tergantung dari vendor pembuatnya.
Selanjutnya saya akan mencoba mengakses modem dengan perintah AT+Command. Diantaranya, informasi yang dapat saya ambil adalah: Manufacturer identification, Request model identification, Request revision identification, Product Serial Number, Request IMSI, Card Identification, Capabilities list, dan lain-lain. Lebih lengkapnya dapat dilihat pada wavecom command.
Saya akan mendapatkan informasi diatas dari modem yang saya gunakan.
- Manufacturer identification
Hyperterminal –> Modem | AT+CGMI | Mendapatkan nama pembuat |
Modem à Hyperteminal | WAVECOM MODEMOK | Perintah valid, Wavecom modem |
- Request model identification
Hyperterminal –> Modem | AT+CGMM | Mendapatkan versi hardware |
Modem à Hyperteminal | MULTIBAND 900E 1800OK |
- Request revision identification
Hyperterminal à Modem | AT+CGMR | Mendapatkan versi software |
Modem à Hyperteminal | 641b09gg.Q2403A 1320676 061804 14:38OK |
- Product Serial Number
Hyperterminal –> Modem | AT+CGSN | Mendapatkan IMEI |
Modem à Hyperteminal | 352129002454434OK | IMEI yang ada di EEPROM |
Hyperterminal à Modem | AT+CGSN | Meminta IMEI |
Modem à Hyperteminal | +CME ERROR: 22 | IMEI tidak ditemukan di EEPROM |
Dan untuk informasi lainnya dapat merujuk pada AT+Command yang ada.
Selanjutnya kita akan mencoba menggunakan hyperterminal untuk mengirim dan menerima SMS melalui Modem GSM serial. Perintah-perintah yang digunakan adalah: AT+CMGF, AT+CSCA, AT+CMGS, AT+CNMI, AT+CMGR, AT+CMGD.
Mengirim SMS
Tes koneksi hyperterminal dengan Modem GSM menggunakan perintah AT diikuti Enter. Jika koneksi terhubung maka akan muncul OK. Selanjutnya kita ketik berikut:
AT balasan “OK” jika modem berfungsi
AT+CMGF=1 mengatur mode Teks
AT+CSCA= ”+XXXX” nomer SMS Center, tergantung SIM Card yang digunakan
Untuk mengirim pesan:
AT+CMGS= ”+NNNN” <Enter> nomer handphone yang akan dituju
Pesan_yang_akan_kita_kirim <Ctrl+Z>
Menerima SMS
Kemudian bagaimanakan jika kita ingin menerima pesan? Modem GSM dapat disetting dengan dua cara, pertama Immediate, dan kedua Notification. Berikut langkah yang dapat dilakukan.
Tes koneksi hyperterminal dengan Modem GSM menggunakan perintah AT diikuti Enter. Jika koneksi terhubung maka akan muncul OK. Selanjutnya kita ketik berikut:
a. Immediate, ketika kita ingin hyperterminal menerima pesan yang masuk secara detil. GSM modem akan langsung mengirim pesan ke komputer dengan perintah +CMT.
AT+CMGF=1
AT+CNMI=1,2,0,0,0 mengatur agar modem mengirim pesan ke computer saat diterima
Saat pesan diterima, maka computer akan menerima
+CMT: “+nnnn”,,”10/12/06,06:04:10+28”
Pesan_balasan_dari_handphone
Computer akan memantau port serial secara kontinyu dan menampilkan pesan jika telah diterima.
b. Notification, ketika pesan diterima, maka GSM akan mengirim notifikasi ke computer menggunakan perintah +CMTI diikuti nomer memori pesan tersimpan.
AT+CMGF=1
AT+CNMI=1,1,0,0,0
mengatur agar modem mengirim notifikasi ke computer saat diterima
Saat pesan diterima, maka computer akan menerima
+CMTI: “SM”,9 pesan tersimpan pada memori nomer 9
Ketik AT+CMGR=9 untuk membaca pesan dari memori nomer 9
Balasan dari modem:
+CMGR: “REC UNREAD”,”+nnnnn”,”10/12/06,06:13:06+28”
Pesan_balasan
OK
Kemudian ketik AT+CMGD=9 menghapus pesan pada nomer memori 9
Demikian langkah-langkah untuk mengirim dan menerima sms menggunakan hyperterminal. Pada dasarnya untuk mengirim dan menerima SMS dapat menggunakan program-program yang lain, misalnya: Visual Basic 6.0, Visual Basic .NET, C++, Delphi atau pun yang lainnya dengan prinsip yang sama.
SMS dapat digunakan untuk pengukura jarak jauh (telemetri), pengendalian jarak jauh (telecommand), SMS gateway, dan lainnya.
Semoga bermanfaat.
Tidak ada komentar:
Posting Komentar