Posts tagged ‘Modem GSM’

Interfacing Visual Basic 2008 Dengan Modem Wavecom


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.

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

  1. AT+CMGF=1

mengatur mode Teks

  1. AT+CSCA= ”+XXXX”

nomer SMS Center, tergantung SIM Card yang digunakan

Untuk mengirim pesan:

  1. AT+CMGS= ”+NNNN” <Enter>

nomer handphone yang akan dituju

  1. 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.

  1. 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

  1. 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.

  1. 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.

Testing Modem GSM Wavecom dengan Visual Basic 6.0


Pada kesempatan kali ini kita akan mencoba membuat sebuah program sederhana untuk melakukan komunikasi antara Visual Basic 6.0 dengan modem GSM Wavecom. Modem Wavecom dapat diatur dengan dua mode, yaitu mode teks dan mode PDU. Untuk kesempatan kali ini kita akan menggunakan mode teks yang lebih mudah dimengerti dan mudah interfacing dengan VB 6.0.

Modem Wavecom

Modem ini memiliki banyak command yang diawali dengan AT, diantaranya dapat digolongkan menjadi:

  1. General Command
  2. Call Control Command
  3. Network Service Command
  4. Security Command
  5. Phonebook Command
  6. Short Message Command
  7. Supplementary Services command
  8. Data Command
  9. Fax Command
  10. V24-V25 Command
  11. Spesific AT Command, dan
  12. Other Command

Untuk lebih detail tentang fungsi dan syntax AT Command masing-masing command di atas, Anda dapat merujuk pada datasheet yang ada di bawah.

Kali ini kita akan mencoba menggunakan beberapa AT Command dengan menggunakan interface VB 6.0. Pada dasarnya, interfacing serial dengan modem GSM Wavecom bisa dilakukan dengan tool lain, misalnya Hyperterminal, mikrokontroller ataupun, bahasa pemrograman yang lain, diantaranya Delphi, Visual C, Matlab.

Diantara beberapa fungsi AT command yang dapat digunakan antara lain:

  • Manucfacturer identification +CGMI
  • Request model identification        +CGMM
  • Request revision identification     +CGMR
  • Product Serial Number         +CGSN

Visual Basic 6.0

Dengan menggunakan bahasa pemrograman yang telah familiar dan banyak referensi, maka VB 6 adalah bahasa yang tentunya juga mudah untuk digunakan dalam contoh saat ini. Untuk membuat interface dengan Modem GSM Wavecom, ikuti langkah-langkah berikut:B

Buat desain pada VB 6 seperti tampilan berikut

untuk membuat desain diatas, komponen yang dipakai dan setting propertiesnya adalah:

– Command1

  • Caption = Send Command

– Command2

  • Caption = &Exit

-Text1

  • Text = “”

– Text2

  • Text = AT+CGMR

– Serial (MSComm)

  • Setting = 115200,n,8,1
  • CommPort = 2 (sesuaikan)

– Timer1

  • Interval = 100
  • Enabled = True

– Label1

  • Caption = Testing GSM Modem  dengan AT Command

Selanjutnya isikan code pada masing-masing bagian seperti berikut

Private Sub Command1_Click()
Serial.Output = Text2.Text + vbCrLf
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

Private Sub Exit_Click()
Unload Me
End Sub

Private Sub Form_Load()
If Serial.PortOpen = True Then
Serial.PortOpen = False
Serial.PortOpen = True
ElseIf Serial.PortOpen = False Then
Serial.PortOpen = True
Serial.DTREnable = True
Serial.RTSEnable = True
Serial.RThreshold = 1
Serial.InputLen = 1
End If

End Sub

Private Sub Form_Unload(Cancel As Integer)
If Serial.PortOpen = True Then
Serial.PortOpen = False
End If
End Sub

Private Sub Timer1_Timer()
Text1.Text = Text1.Text & Serial.Input
End Sub

Untuk melakukan testing, isikan AT+CGMI, kemudian klik button Send Command. Maka akan muncul respon berikut:

Sekian, mudah-mudahan bermanfaat.

Code Tes Modem VB 6.0

wavecom_command

Artikel Terkait:

Mengirim dan menerima SMS menggunakan HyperTerminal melalui Modem GSM Serial

%d blogger menyukai ini: