modem GSM Wavecom Dengan menggunakan perangkat modem GSM Wavecom kita bisa membuat sebuah sistem SMS gateway. SMS gateway dapat digunakan untuk berbagai keperluan, misalnya sistem informasi akademik, sistem informasi pooling, dan sistem informasi lainnya. Selain sistem informasi, SMS gateway juga dapat digunakan untuk media telemetri, atau pengukuran jarak jauh dimana media  SMS sebagai penghubung komunikasi datanya.

Salah satu alternatif yang dapat digunakan adalah modem GSM serial yang saat ini dapat dibeli dengan harga yang terjangkau. Selain itu, kita cukup menyediakan sebuah PC untuk membuat sistem. Pada tulisan ini akan dijelaskan salah satu cara interfacing antara modem serial GSM dengan Visual Basic 2008.

Membuat Interface

1. Membuat desain form interface dengan Visual Basic 2008 seperti berikut

Kita masukkan beberapa item dari toolbox, diantaranya:

– PictureBox1 dan PictureBox2

– Label

– ComboBox

– Button1 dan Button2

– TextBox1, TextBox2, dan TextBox3

desain form interface

2. Masukkan komponen SerialPort1, seperti gambar berikut

menambahkan toolbox serial

Setelah selesai, hasil akhir dari desain Form Interface Modem adalah seperti berikut:

Hasil tampilan akhir

Penjelasan:

Dim WithEvents serialPort As New IO.Ports.SerialPort

perintah diatas berfungsi untuk mendeklarasikan variabel serialPort sebagai sebuah komponen SerialPort.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim a As Integer

‘cek available serial port pada komputer

‘termasuk serial modem

For i As Integer = 0 To _

My.Computer.Ports.SerialPortNames.Count – 1

‘tambahkan ke dalam list combo serial port

cbbCOMPorts.Items.Add( _

My.Computer.Ports.SerialPortNames(i))

a = i

Next

cbbCOMPorts.Text = cbbCOMPorts.Items(a)

End Sub

Coding di atas berfungsi untuk mendapatkan list serial port yang ada pada komputer. Sehingga secara otomatis akan diketahui port serial dan nomernya pada daftar ComboBox.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Try

SerialPort1.PortName = cbbCOMPorts.Text

If SerialPort1.IsOpen = True Then

SerialPort1.Close()

End If

If SerialPort1.IsOpen = False Then

With SerialPort1

.Open()

.Handshake = IO.Ports.Handshake.RequestToSend

‘.RtsEnable = True

‘.DtrEnable = True

End With

End If

Fungsi coding di atas untuk mengatur properti serial port yang dipilih dan membuka koneksi untuk siap digunakan.

Dim Enter1, Enter2, Enter3 As Integer

Dim Echo, Echo1, Echo2, Echo3 As String

Dua baris berfungsi untuk deklarasi variabel yang akan digunakan berikutnya.

‘mengambil kode produk

SerialPort1.WriteLine(“AT+CGMI” & vbCrLf)

Threading.Thread.Sleep(500)

Echo = SerialPort1.ReadExisting

Enter1 = Strings.InStr(Echo, vbCrLf)

Echo1 = Strings.Right(Echo, Len(Echo) – Enter1)

Enter2 = Strings.InStr(Echo1, vbCrLf)

Echo2 = Strings.Right(Echo1, Len(Echo1) – Enter2 – 1)

Enter3 = Strings.InStr(Echo2, vbCrLf)

Echo3 = Strings.Left(Echo2, Enter3 – 1)

txtKodeProduksi.Text = Echo3

Karena setiap device/produk modem GSM memiliki tipe dan kode yang berbeda, maka kita bisa mengetahui kode produk dari device dengan menggunakan AT Command “AT+CGMI”. Setelah mendapatkan command di atas, modem akan memberikan kode yang menunjukkan kode produk yang selanjutnya ditampilkan pada TextBox txtKodeProduksi.

‘mengambil model produk

SerialPort1.WriteLine(“AT+CGMM” & vbCrLf)

Threading.Thread.Sleep(500)

Echo = SerialPort1.ReadExisting

Enter1 = Strings.InStr(Echo, vbCrLf)

Echo1 = Strings.Right(Echo, Len(Echo) – Enter1)

Enter2 = Strings.InStr(Echo1, vbCrLf)

Echo2 = Strings.Right(Echo1, Len(Echo1) – Enter2 – 1)

Enter3 = Strings.InStr(Echo2, vbCrLf)

Echo3 = Strings.Left(Echo2, Enter3 – 1)

txtModel.Text = Echo3

Kita juga bisa mengetahui model produk dari device yang digunakan dengan perintah “AT+CGMM”. Pada coding di atas, hasilnya akan ditampilkan pada TextBox txtModel.

‘mengambil nomer IMEI

SerialPort1.WriteLine(“AT+CGSN” & vbCrLf)

Threading.Thread.Sleep(500)

Echo = SerialPort1.ReadExisting

Enter1 = Strings.InStr(Echo, vbCrLf)

Echo1 = Strings.Right(Echo, Len(Echo) – Enter1)

Enter2 = Strings.InStr(Echo1, vbCrLf)

Echo2 = Strings.Right(Echo1, Len(Echo1) – Enter2 – 1)

Enter3 = Strings.InStr(Echo2, vbCrLf)

Echo3 = Strings.Left(Echo2, Enter3 – 1)

txtIMEI.Text = Echo3

Setiap modem/perangkat komunikasi memiliki nomer unik yang berbeda dari yang lain, yang disebut IMEI. Kita bisa mengetahui nomer IMEI dengan command “AT+CGSN”. Hasilnya ditampilkan pada TextBox txtIMEI.

‘menutup koneksi port

SerialPort1.Close()

Fungsi di atas untuk menutup koneksi port serial sehingga dapat digunakan kembali untuk proses yang lain.

Catch

MsgBox(“Gagal terhubung ke ‘ ” + cbbCOMPorts.Text + ” ‘. Mungkin port sedang digunakan.”, MsgBoxStyle.Exclamation, “Koneksi”)

End Try

End Sub

 

Demikian semoga bermanfaat.