Silakan tunggu sedang proses
Jum'at Legi 15 November 2024 15:40
learn make rich
share make it perfect
Ayat Suci
Apakah Allah Yang menciptakan itu tidak mengetahui (yang kamu lahirkan dan rahasiakan); dan Dia Maha Halus lagi Maha Mengetahui?
(QS. AL MULK:14)
Daftar Fungsi
pasaran
Mencari nama hari dan nama pasaran
pdu2sms
Konversi dari PDU ke Teks SMS
bacarss
Membaca RSS dari beberapa situs
Para Rekan
MyWeblog

Aplikasi Handphone

Aryo Sanjaya
Kompilasi beberapa unit yang digunakan untuk mengirim dan membaca SMS, dan menampilkan informasi handphone

Aryo Sanjaya
Senin Pon, 20 Februari 2006

Untuk mengakomodasi masukan dari para rekan, aku menyusun aplikasi dari artikel Mengirim SMS dari PC dan artikel Membaca SMS dari PC, serta sedikit cara untuk mendapatkan informasi mengenai status HP.

Aplikasi ini dibuat dalam versi Delphi, dan dengan teknik yang sama, sangat mungkin untuk diporting ke Visual Basic ;)
untuk rekan yang belum terbiasa dengan Delphi, mungkin kapan-kapan akan aku buat versi VB-nya. Kapan ya...

Ketika aplikasi ini pertama kali dijalankan, dalam keadaan tidak terhubung ke handphone. Kita diberi kesempatan untuk memilih nomor port yang terhubung dengan handphone. Setelah memilih nomor port yang benar, kemudian tekan tombol Konek, maka aplikasi akan berusaha menghubungi HP.

Jika aplikasi sukses terhubung ke HP, maka akan ditampilkan beberapa informasi mengenai HP tersebut.

Berikut ini adalah informasi tersebut:

  • Merk HP, didapatkan dengan mengeksekusi perintah AT+CGMI
  • Informasi modem, dengan command AT+GMM
  • AT+CGSN untuk mendapatkan nomor IMEI
  • AT+COPS? untuk menampilkan operator jaringan
  • AT+CSCA? untuk mendapatkan nomor SMSC (layanan SMS)

Setelah itu, selama program berjalan, indikator dari handphone secara kontinu ditampilkan. Indikator tersebut diambil dengan perintah AT+CIND?

Nilai yang dikembalikan adalah suatu list (rangkaian) yang menandakan indikator HP. Urutan dan nilai indikator dapat berbeda untuk beberapa merk HP. Aku sudah nyoba untuk Sony Ericsson T610 dan Siemens CX65. Hasil yang persis sama adalah pada indikator Battery dan Sinyal, sedangkan indikator yang lain berbeda posisi.

Karena itu, jika ingin aplikasi kamu berjalan full untuk semua merk HP, maka aplikasi harus mendeteksi semua nilai yang didukung oleh HP yang digunakan. Informasi mengenai hal ini dapat dilihat pada command AT+CIND=?

Berikut ini adalah contoh hasil perintah AT+CIND=? pada Siemens CX65:

at+cind=?
+CIND: ("battchg",(0-5)),("signal",(0-5)),("service",(0,1)),
("message",(0,1)),("call",(0,1)),("roam",(0,1)),
("smsfull",(0,1)),("call status",(10x-20x)),
("GPRS coverage",(0,1)),("callsetup",(0-3))

OK

Sesuai urutannya, maka item pertama adalah level battery, kedua adalah sinyal, ketiga adalah kesiapan servis, lalu datangnya SMS baru, terjadinya panggilan (berbicara), kondisi roaming, sms box penuh, dan seterusnya. Silakan mereferensi ke manual masing-masing HP untuk lebih jelasnya.

Untuk mendapatkan nilainya, jalankan perintah AT+CIND? (tanpa sama dengan). Berikut ini adalah contohnya:

at+cind?
+CIND: 2,2,1,0,0,1,0,0,1,0

Yang didapatkan adalah rangkain nilainya. Nilai yang pertama adalah untuk battery, yaitu 2 dari skala 0 - 5 (lihat hasil AT+CIND=? di atas). Sinyal pada HP juga 2, begitu seterusnya.

Informasi tersebut ditampilkan secara terus menerus, dengan interval timer 1000 milisecond (1 detik). Berikut ini adalah contoh tampilan aplikasi:

Page 1 Page 2 Page 3 Page 4

Level sinyal dan battery ditampilkan dalam bentuk gauge meter, sedangkan indikator call, sms, smsfull ditampilkan dengan gambar pada kotak hijau sebelahnya. Ya, aku akui, gambar indikatornya tidak informatif sama sekali. Karena itulah, program ini aku tempatkan di sini, dipersilakan untuk dimodifikasi :D

Fasilitas aplikasi yang lain adalah SMS Info, untuk membaca SMS dari Inbox (termasuk SMS baru), sedangkan untuk SMS dalam folder draft dan sent, aplikasi belum mendukung :( silakan ditambahi, ok.

Page berikutnya adalah fasilitas untuk mengirim SMS. Di sini juga disediakan tombol untuk menyimpan SMS ke dalam folder draft pada HP.

Kedua fasilitas di atas menggunakan kedua unit yang telah dibahas pada artikel sebelumnya, namun dengan berbagai perbaikan dari masukan rekan-rekan semua, terutama Sri. Makasih banget, ok.

Kemudian, yang belum pernah dibahas sebelumnya adalah pembacaan buku kontak.

Untuk memilih memori penyimpanan kontak, apakah menggunakan SIM Card (kode SM), atau memori handphone (ME), atau keduanya (MT), digunakan perintah AT+CPBS=(SM, ME, MT). Tidak semua HP mendukung ketiganya, maka dari itu aplikasi mesti bijaksana memilih :)
untuk mengetahui media yang didukung, pake perintah AT+CPBS=?
Untuk CX65 defaultnya adalah SM, dan gak bisa ME. Untuk amannya, gunakan saja SM.

Setelah menentukan memori yang dipilih, berikutnya adalah mencari informasi index (nomor posisi) kontak yang tersedia. Gunakan perintah AT+CPBR=?, maka akan diberikan index yang tersedia. Contoh pada CX65:

at+cpbr=?
+CPBR: (1-250),20,12

OK

Hasil itu menandakan bahwa index yang tersedia adalah 1 - 250. Maka kita perlu membaca (looping) dari 1 sampai 250 untuk mendapatkan keseluruhan kontak. Gunakan perintah AT+CPBR=nomor indexnya untuk membaca tiap-tiap index. Contoh:

at+cpbr=88
+CPBR: 88,"+6281524737470",145,"Rasdi"

OK

Hasil yang diberikan tinggal diparsing dan ditampilkan pada listview.

Untuk mendownload aplikasi dan sourcenya, silakan menuju ke bagian update aplikasi.

Jika ingin menjalankan dari source-nya, atau melakukan modifikasi program, lebih mudah kalo menggunakan Delphi 6, karena aku membuatnya dari versi itu.

Untuk versi ini, dibutuhkan library XComDrv untuk mengcompile ulang. Silakan download library tersebut di sini. Extract pada suatu direktori (misalnya c:\ouxcom), lalu open file *.dpk melalui IDE Delphi, dan klik install.

Kemudin tambahkan path di mana ouxcom tersebut tadi di-extract, kedalam path library, agar library tersebut dapat bekerja. Masuk menu Tools > Environment Options > Library > Library path, browse ke c:\ouxcom, lalu tekan add.

Jika diperhatikan, masih banyak fasilitas yang mungkin ditambahkan. Aplikasi tersebut hanya contoh penerapan perintah AT Command untuk baca dan kirim SMS.

Ok, selamat mencoba.

Update Aplikasi

Versi terbaru:
Source: AplikasiSMS_1_7_Src.zip
Aplikasi: AplikasiSMS_1_7_Exe.zip

Source lama: AplikasiHP_1_2.zip

Berikut ini perubahan pada aplikasi:

Komentar

Halaman Komentar:   < 1 ... 12 13 14 15 16 17 ... 25 >

Aryo Sanjaya

Kamis Wage, 1 Juni 2006

Utie dan Rudolf,

Source aplikasi yang lama :)
Download di sini:
http://bengkelprogram.com/download-AplikasiHP.zip

Aryo Sanjaya

Kamis Wage, 1 Juni 2006

Halo Tie,

Wah, kok bisa seperti itu ya? :(
Mungkin saat memindah SMS dari HP ke Memo, kamu tidak memisahnya dengan Linebreak?
Hmm, gimana kalo kamu kirimkan (lagi) program kamu? :D
*semoga kali ini aku balas*


Mono,
Aku belum kepikir untuk bikin SMS-AR untuk versi Delphi, karena menurutku, biar itu dijadikan sebagai latihan oleh para pengunjung.
*alesan, padahal males nih* :)

Sebenarnya yang Delphi itu sudah ada pendeteksi jika ada SMS masuk, dan otomatis menyimpannya ke database.
Seandainya checkbox di aplikasi itu dicawang.

Aku anggap metode ini cukup ringan, karena meski menggunakan Timer, tapi hanya mengecek dari indikator, bukannya membaca Inbox.

Nah, jika ingin menambahkan Autorespond, bukankah dapat dilakukan di sini?
yaitu saat aplikasi mendeteksi SMS baru, dan menyimpannya ke database.

tie

Jum'at Kliwon, 2 Juni 2006

mas aryo..
gimana menampilkan data hasil query database ke memo,
misal select * from sms;
tapi hasilnya ditampilkan di memo bkn DBGrid,apa pake DBMemo.
saya pernah nyoba tapi hasilnya ngga muncul...
bagaimana ya..

willem

Rabu Kliwon, 7 Juni 2006

mas .gini aku lg nyusun skrip dengan judul pengontrolan alat elektronika melalui sms .bisa gak kirimin aku contoh program dan gambar arsitekturnya .mohon secepatnya sebelumnya saya ucapkan banyak terima kasih

zims

Rabu Kliwon, 7 Juni 2006

Knapa saya coba pake 8250 dengan interface FBUS cable gak bisa yah???

Aryo Sanjaya

Rabu Kliwon, 7 Juni 2006

Halo Tie,
Sebenernya ga tepat menampilkan banyak SMS menggunakan Memo, karena memang tidak diciptakan untuk itu.
Lebih tepat sebenarnya menggunakan ListView.

Tapi seandainya nekat menggunakan Memo, bisa saja dicampur jadi satu, misalnya:



maka nanti setiap baris di Memo1 akan berisi satu SMS, kecuali yang jika SMS tersebut mengandung Enter, maka akan turun jadi 2 baris. Nah, repot kan?


Willem,
Coba masuk ke URL ini:
http://www.riccibitti.com/tinyplanet/tiny_article.htm
http://www.wrankl.de/SMST4PIC/SMST4PIC.html


Zims,
Bisa jadi karena HP tersebut tidak mendukung format FBUS/MBUS.
Silakan lihat referensinya di sini:
http://softwarecave.com/compatibility.html

riza

Kamis Legi, 8 Juni 2006

Saya minta bantuannya mas Aryo, program SMS delphina yang source code saya extract trus saya copykan file dari ouxcom trus saya jalanin ada komentar unit XComDrv tidak ada klo saya Ignore ntar muncul desain formna n klo dicompile ga bisa jalan tapi klo saya cancel bisa jalan tapi ga muncul form desainernya, tlong bantuanya soalnya program ini buat referensi skirpsi saya, tapi saya pake FoxPro 8.0 bisa terima SMS tapi ga bisa ngirim SMS saya udah coba cari di fox-id ada referensina tetep ga bisa ngirim SMS saya pake HP C55 com1 trus seperti apa yang disarankan mas aryo untuk biar bisa di detek apa segala HP pake AT+CIND tetep ga bisa juga emailku sastr_00@yahoo.com aq tunggu blsannya cpt

Aryo Sanjaya

Jum'at Pahing, 9 Juni 2006

Halo stigsmata,

Kalo aku nebak, error itu berasal dari fungsi Timer1Timer, dimana respon dari HP setelah perintah AT CIND? tidak sesuai dengan harapan :(

Belum pernah nemuin kejadian sampe error gitu sih, tapi selama aku coba di beberapa merk HP, respon atas perintah itu berbeda untuk tiap merk.

Ok, akan segera diperbaiki. Makasih infonya.
Sementara matikan aja dulu Timer1-nya :D

Lalu mengenai data SMS. Table di sini apakah table di database?
atau tampilan table di Form?

Kalo table di database, kamu mesti bikin dulu tablenya di database, lalu merubah perintah penyimpanan SMS, yang sekarang ini menyimpan ke file text, agar tersimpan ke database.

Tentang databasenya, banyak banget pilihannya kan.
Atau aku tidak nangkep maksud kamu ya? :D
Bisa diperjelas?

Ada rencana memang, untuk mengganti media penyimpanan, dari file teks ke table di database.

Aryo Sanjaya

Jum'at Pahing, 9 Juni 2006

Halo Rudi,

Apakah maksud kamu HP tersebut terhubung ke PC, agar bisa otomatis mengirim SMS?
Kalo iya, mungkin lebih mudah.
Dari Aplikasi SMS ini, kamu tinggal menambahkan timer, yang ngecek agar tiap 1 jam memanggil fungsi SendSMS.

Timernya cukup tiap 5 detik saja misalnya, yang selalu mengecek selisih dengan waktu pengiriman sebelumnya. Jika sudah lewat atau sama dengan 1 jam, panggil fungsi SendSMS. Cukup begitu?

Tapi jika maksud kamu agar dari HP tersebut dapat mengecek jam dan mengirim SMS sendiri, aku rasa sulit. Terutama HP yang belum support Java (MIDlet).

stigsmata

Jum'at Pahing, 9 Juni 2006

say udah berhasil coba koneksi prog nya dengan koneksi infrared. Koneksi sukses, tapi gak lama kemudian keluar error message "call" is not valid integer value. Napa ya? Lalu mo nanya Mas. Kl kita mo masukin data sms yg diterima di listview ke dalam table gimanaya? Sekalian mungkin bisa dikasih contoh skripnya. Nuhun


Halaman Komentar:   < 1 ... 12 13 14 15 16 17 ... 25 >

Mengisi Komentar





untuk kode program, apit dengan tanda [code][/code].
contoh:

[code]
(kode program)
[/code]



Daftar Artikel Delphi

» Mengirim SMS dari PC (208)
Senin Wage, 28 November 2005

Jika sebelumnya sudah dibahas cara membaca SMS lewat PC, belum lengkap rasanya kalau tidak dibahas tentang proses pengiriman SMS lewat PC.

» Membaca SMS dari PC (162)
Selasa Pahing, 14 Juni 2005

Kirim-kiriman SMS memang asyik, apalagi kalo menggunakan PC, meski tetep aja bayar :-)



Halaman:    1  

Artikel Rame
Aplikasi Handphone (250)
Senin Pon, 20 Februari 2006

Mengirim SMS dari PC (208)
Senin Wage, 28 November 2005

Membaca SMS dari PC (162)
Selasa Pahing, 14 Juni 2005

Source SMS Autorespond (66)
Senin Legi, 24 April 2006

Penyembunyian Password di Database (36)
Kamis Kliwon, 2 Juni 2005

Bukutamu
» Imam Izzatir Rizzan
Jum'at Kliwon
7 Juli 2006

» adindri
Selasa Pahing
4 Juli 2006

» Je Malakian
Selasa Pahing
4 Juli 2006

» A.Azis
Jum'at Pon
30 Juni 2006

» zorro
Kamis Pahing
29 Juni 2006


Halaman Bukutamu
Lain-lain
User online: 13
User login: 0

user/passwd: bpuser

Status Y!M
Saya sedang Offline. Silakan gunakan menu Kontak atau tinggalkan pesan di Yahoo! Messenger pada Id: aryo_sanjaya
© 2005-2024 BengkelProgram.com