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
2. Masukkan komponen SerialPort1, seperti gambar berikut
Setelah selesai, hasil akhir dari desain Form Interface Modem adalah seperti berikut:
Penjelasan:
1 Dim WithEvents serialPort As New IO.Ports.SerialPort
perintah diatas berfungsi untuk mendeklarasikan variabel serialPort sebagai sebuah komponen SerialPort.
12345678910111213141516171819202122232425 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadDim a As Integer‘cek available serial port pada komputer‘termasuk serial modemFor i As Integer = 0 To _My.Computer.Ports.SerialPortNames.Count – 1‘tambahkan ke dalam list combo serial portcbbCOMPorts.Items.Add( _My.Computer.Ports.SerialPortNames(i))a = iNextcbbCOMPorts.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.
123456789101112131415161718192021222324252627 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickTrySerialPort1.PortName = cbbCOMPorts.TextIf SerialPort1.IsOpen = True ThenSerialPort1.Close()End IfIf SerialPort1.IsOpen = False ThenWith SerialPort1.Open().Handshake = IO.Ports.Handshake.RequestToSend‘.RtsEnable = True‘.DtrEnable = TrueEnd WithEnd If
Fungsi coding di atas untuk mengatur properti serial port yang dipilih dan membuka koneksi untuk siap digunakan.
123 Dim Enter1, Enter2, Enter3 As IntegerDim Echo, Echo1, Echo2, Echo3 As String
Dua baris berfungsi untuk deklarasi variabel yang akan digunakan berikutnya.
123456789101112131415161718192021 ‘mengambil kode produkSerialPort1.WriteLine(“AT+CGMI” & vbCrLf)Threading.Thread.Sleep(500)Echo = SerialPort1.ReadExistingEnter1 = 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.
123456789101112131415161718192021 ‘mengambil model produkSerialPort1.WriteLine(“AT+CGMM” & vbCrLf)Threading.Thread.Sleep(500)Echo = SerialPort1.ReadExistingEnter1 = 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.
123456789101112131415161718192021 ‘mengambil nomer IMEISerialPort1.WriteLine(“AT+CGSN” & vbCrLf)Threading.Thread.Sleep(500)Echo = SerialPort1.ReadExistingEnter1 = 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.
123 ‘menutup koneksi portSerialPort1.Close()
Fungsi di atas untuk menutup koneksi port serial sehingga dapat digunakan kembali untuk proses yang lain.
1234567 CatchMsgBox(“Gagal terhubung ke ‘ ” + cbbCOMPorts.Text + ” ‘. Mungkin port sedang digunakan.”, MsgBoxStyle.Exclamation, “Koneksi”)End TryEnd Sub
Demikian semoga bermanfaat.
Recent Comments