ok

11/01/10

Control Your Machine With SMS


Pada artikel kali ini saya akan membahas tentang cara mengendalikan komputer dengan menggunakan sms. Untuk melakukan hal tersebut kita membutuhkan sebuah software komputer bernama Gammu dan development tolls yang akan kita gunakan adalah Microsoft Visual Basic. 6.0. Untuk informasi lebih lengkap mengenai gammu dapat dilihat pada link berikut http://www.gammu.org/wiki/index.php
Installing Gammu
Bagi teman-teman yang belum tau apa itu Gammu, saya akan memberikan sedikit gambaran tentang Gammu. Gammu adalah sebuah software yang berguna untuk mengambil sms yang terdapat pada inbox handphone kita dan menyimpannya ke dalam database. Database yang digunakan adalah MySQL. (Untuk saat ini telah banyak database yang disuuport oleh Gammu selain MySQL, untuk info lebih lanjut silahkan kunjungi website resminya).  Pada artikel kali ini saya menggunakan Gammu versi lama yaitu versi 1.09.00.
Sebelum kita menginstall Gamu pastikan database MySQL telah terinstall di mesin yang akan digunakan, buat sebuah database dengan nama “smsd” dan kemudian dump file berikut kedalam database MySQL. Yang perlu diperhatikan saat mengintall Gammu adalah dua file konfigurasinya yaitu “gammurc” dan “smsdrc”. Pada file gammurc yang harus kita perhatikan adalah bagian port dan connection. Isi nilai port dengan port yang kita gunakan untuk melakukan koneksi handphone dengan mesin yang digunakan. Untuk connection sesuaikan dengan koneksi yang kita gunakan. Pada percobaan ini saya menggunakan Sony Ericsson W.660i dengan port Com6 dan jenis koneksinya adalah “at”. Untuk mengetahui jenis koneksi yang anda gunakan silahkan klik link berikut http://wammu.eu/phones/ cari jenis handphone yang digunakan dan lihat koneksi yang digunakan.
Setelah port dan jenis koneksi telah kita dapatkan, maka sekarang kita test apakah konfigurasi yang telah kita masukan sudah benar atau belum. Untuk mengetestnya buka command prompt dan masuk ke direktori dimana Gammu kita simpan, dan kemudian ketikan perintah berikut. “gammu –identify” Apabila konfigurasi yang telah kita masukan telah sesuai maka akan tampil imei dari handphone yang kita gunakan.
Gammu --Identify
Setelah handphone kita berhasil di kenali oleh gammu, langkah selanjutnya adalah memasukan konfigurasi untuk file “smsdrc”. Perhatikan pada bagian  user, password, pc, dan database. Isi user dengan user yang digunakan untuk login ke database MySQL, isi password dengan password yang digunakan untuk login ke database, isi pc dengan alamat komputer (localhost) dan isi database dengan nama database yang akan kita gunakan, kemudian simpan file tersebut. Lalu saat nya kita melakukan test untuk mengetahui apakah gammu sudah berhasil melakukan koneksi dengan database. Perintah yang kita gunnakan adalah “gammu –smsd MYSQL smsdrc”. Apabila berhasil akan tampil seperti berikut.
gammu --smsd MYSQL smsdrc
Kemudian kita cek ke table Inbox pada database apakah sms-sms yang ada di handphone kita sudah masuk kedalam database, apabila sudah masuk maka pengisntallan telah sukses dilakukan, dan kita bisa ke tahap development untuk membuat sebuah program yang dapat mengedalikan komputer dengan memanfaatkan data-data sms yang telah di masukan oleh gammu kedalam database.
Development
Untuk tahap development ini kita mengguanakan Visual Basic. 6.0. Pada intinya cara kerja program ini adalah membaca sms terakhir yang masuk, dan menterjemahkan sms tersebut untuk menentukan langkah apa yang akan dilakukan si program. Kita juga membutuhkan MySQL Connector untuk melakukan koneksi dari Visual Basic ke MySQL.
YaDoY SMS Control
Berikut sedikit potongan kode program nya. Mengapa saya hanya berikan potongan kode nya saja? Karna tidak mungkin saya paste disini semua, kalo saya paste semua yang ada penuh dengan code aja nanti isi artikel nya. Pada bagian terakhir saya akan memberikan link untuk mendownload full soruce code nya.
Private Sub TimerSMS_Timer()
On Error GoTo errHDL
Dim sSQL As String
Dim rst As RecordSet
Dim sLastID As String
Dim sCommand As String
Dim sID As String
Dim LRet As Long
ucFirefoxWait.Visible = True
ucFirefoxWait.PlayWait
sLastID = getLastID
Set rst = New RecordSet
sSQL = “SELECT * FROM INBOX WHERE ID =’” & sLastID & “‘ AND PROCESSED=’FALSE’ LIMIT 0,1;”
Set rst = clsData.ExecuteQuery(sSQL)
If rst.RecordCount <= 0 Then Exit Sub
If Not rst.BOF Or Not rst.EOF Then
sCommand = IIf(IsNull(rst!TextDecoded), “”, rst!TextDecoded)
sID = rst!ID
Select Case UCase(sCommand)
Case “VER”
ReplyMessage “VER”, Trim(rst!SenderNumber)
Case “CHECKINBOX”
ReplyMessage “CHECKINBOX”, Trim(rst!SenderNumber)
Case “ABOUT”
ReplyMessage “ABOUT”, Trim(rst!SenderNumber)
Case “TUTUPCDROM”
LRet = mciSendString(“set CDAudio door closed”, returnstring, 127, 0)
Case “BUKACDROM”
LRet = mciSendString(“set CDAudio door open”, returnstring, 127, 0)
Case “HELP”
ReplyMessage “HELP”, Trim(rst!SenderNumber)
Case “TURNOFF”
If IsWinNT Then
ShutdownNT True
Else
Shutdown
End If
End Select
sSQL = “UPDATE INBOX SET PROCESSED=’TRUE’ WHERE ID=’” & sID & “‘ AND PROCESSED=’FALSE’;”
clsData.ExecuteQuery (sSQL)
End If
ucFirefoxWait.StopWait
ucFirefoxWait.Visible = False
FillInbox
FillSentItems
Exit Sub
errHDL:
MsgBox “Application Error On : ” & Err.Number & “-” & Err.Description, vbInformation + vbOKOnly
End
End Sub
Private Sub ReplyMessage(ByVal sCommand As String, ByVal SendTo As String)
On Error GoTo errHDL
Dim sSQL As String
Dim sInbox As String
Dim sAbout As String
Dim sHelp As String
sHelp = “VER=VERSION-CHECKINBOX=SUMINBOX-ABOUT=ABOUTAPP-HELP=HELP-TUTUPCDROM-BUKACDROM-TURNOFF-OFFSYSTEM”
sAbout = “YaDoY SMS Control is simple implementation to control your machine with SMS, Using Gammu SMS Service.”
Select Case sCommand
Case “VER”
sSQL = “INSERT INTO OUTBOX(DESTINATIONNUMBER, CODING, TEXTDECODED) VALUES (‘” & _
Trim(SendTo) & “‘,’Default_No_Compression’,'YaDoY SMS Control v.1.2′);”
clsData.ExecuteQuery (sSQL)
Case “CHECKINBOX”
sInbox = getInboxCount
sSQL = “INSERT INTO OUTBOX(DESTINATIONNUMBER, CODING, TEXTDECODED) VALUES (‘” & _
Trim(SendTo) & “‘,’Default_No_Compression’,'Total Message on Inbox is : ” & sInbox & “‘);”
clsData.ExecuteQuery (sSQL)
Case “ABOUT”
sSQL = “INSERT INTO OUTBOX(DESTINATIONNUMBER, CODING, TEXTDECODED) VALUES (‘” & _
Trim(SendTo) & “‘,’Default_No_Compression’,'” & sAbout & “‘);”
clsData.ExecuteQuery (sSQL)
Case “HELP”
sSQL = “INSERT INTO OUTBOX(DESTINATIONNUMBER, CODING, TEXTDECODED) VALUES (‘” & _
Trim(SendTo) & “‘,’Default_No_Compression’,'” & sHelp & “‘);”
clsData.ExecuteQuery (sSQL)
End Select
FillInbox
FillSentItems
Exit Sub
errHDL:
MsgBox “Application Error On ReplyMessage : ” & Err.Number & “-” & Err.Description, vbInformation + vbOKOnly
End
End Sub
Nah, dilihat dari kode tersebut diatas sebuah timer akan terus mengecek sms terakhir kedatabase, apabila ada kemudian program tersebut akan membaca isi dari sms tersebut, apabila isi dari sms tersebut sesuai dengan perintah yang ditentukan maka si program akan memproses langkah selanjutnya. Dalam source code yang saya berikan nanti, program tersebut hanya baru bisa memproses bebrapa perintah antara lain ver yang digunakan untuk mengetahui versi program, check inbox untuk mengetahui jumlah sms yang terdapat dalam table inbox,  about untuk mengetahui tentang program, tutupcdrom untuk menutup cd rom, bukacdrom perintah untuk membuka cd rom, turnoff untuk mematikan komputer. Teman-teman dapat menambahkan perintah-perintah lain sesuai dengan yang dikehendaki.
Berikut link download nya
YaDoYSMSSender : http://www.indowebster.com/YaDoYSMSControl.html
Gammu v.1.09.00 : http://www.indowebster.com/Gammu109.html
Terimakasih buat kak yadoy yang sudah mengijikan saya mengcopy paste
artikel ini.
sukses selalu buat kaka moga ilmunya barokah  amiien .

0 comments: