Archive for the Category »Smart Devices «

Questionnaire Smart Taxi

Bapak, Ibu, Saudara/i, Mahasiswa/i, dan Teman-teman sekalian.
Kami dari Tim Skripsi Smart Taxi, ingin memohon bantuan Anda untuk menyempatkan waktu mengisi kuesioner Online yang akan kami gunakan untuk mengumpulkan data pendukung skripsi.

Berikut link Questionnaire-nya : http://bit.ly/XKXKY

Terima Kasih,

Tim Smart Taxi

SmartTaxiGPS :: ShortestDistance(); ???

Nah, saudara2 seperguruan ATL sekalian ๐Ÿ™‚ Saya dari tim SmartTaxiGPS ingin meng-share sesuatu, yg ternyata adalah pilihan dan solusi (yang belum ditemukan solusinya). Untuk bagian perhitungan jarak nih…

1. Pakai google maps
WEAKNESS :
– respons lambat (harus menunggu dari server Google Maps, dan tergantung kecepatan koneksi internet)
– banyak & kecepatan per request terbatas (setahu saya, cuma dibatasi 1000 query per hari untuk 1 account, dan query per satuan waktunya dibatasi juga, ref: FAQ Google Maps API)

STRENGTH :
– lebih akurat pengambilan jaraknya, karena pakai arah jalan (ref: GDirections)
– koordinat geografi yang tidak pas (hasil dari mobile) bisa dicarikan koordinat jalan yg paling dekat (ref: Inverse Geocoding)

THREAT :
– belom ngerti cara ambil value hasil render AJAX nya ke web service

2. pakai perhitungan phytagoras (dengan jari2 bumi, ada rumusnya), kecepatan, dan arah laju kendaraan
WEAKNESS:
– kurang akurat pengambilan jaraknya, karena tidak pakai arah jalan, cuma mengandalkan arah laju (utara, selatan, barat, timur : klo arah menjauh dari client tidak diquery, klo mendekat baru diquery) dan kecepatan (dari alat GPS) untuk perhitungan “decision making” lebih lanjutnya
– koordinat geografi yg tidak pas (hasil dari LBS mobile) tidak bisa dicarikan koordinat jalan yg paling dekat (tidak bisa inverse Geocoding)

STRENGTH:
– lebih cepat responsnya (perhitungan di server sendiri)
– request bisa ditangani dalam jumlah lebih banyak dan cepat

THREAT :
– masih dicari cara ambil speed & arah laju kendaraan via GPS, tapi di SDK nya sih ada tulisan buat ambil satuan itu, jadi seharusnya dalam waktu dekat bisa ditemukan caranya ๐Ÿ™‚

Category: Smart Taxi  One Comment
Koneksi Oracle, Web Service .NET, dan Google Maps

Beberapa minggu lalu sempat mencoba koneksi Oracle 10g Express ke .NET menggunakan C#. Untuk mengkoneksikan ada banyak cara, bisa lewat OleDB, .NET Framework Data Provider for Oracle (System.Data.OracleClient.OracleConnection <= yang ini juga sudah otomatis tersedia kalau install .NET Framework), danย Oracle Data Provider for .NET / ODP.NET (yang ini harus daftar di website Oracle buat unduhnya, jadi ya nda jadi dipake …), dan beberapa cara lainnya ๐Ÿ˜€

Kali ini saya coba pakai yang sudah satu bundle dengan .NET Framework, yaituย .NET Framework Data Provider for Oracle (System.Data.OracleClient.OracleConnection). Yang perlu diketahui yaitu Connection Stringnya :

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE)));User Id=HR;Password=hr;

Yang di Bold itu parameternya, 127.0.0.1 dan 1521 itu Host & Port untuk Server Databasenya (kebetulan di Localhost), kemudian XE itu adalah nama databasenya (default database Oracle 10g Express adalah XE), HR dan hr itu untuk accountnya (di Oracle ada yang namanya Tablespace, kebetulan yang dipakai kali ini miliknya user HR)

Kalau sudah tahu, seharusnya bisa connect ๐Ÿ™‚ Saya pakai ADO.NET untuk koneksi dan manipulasinya …

=========================================

Untuk bagian Web Service, setidaknya ada langkah awal yang harus dilakukan untuk deploy Web Service di IIS (localhost), thanks to Mr.Santo, akhirnya dapet pencerahan juga setelah sekian lama cari-cari untuk hal yang ternyata simple ๐Ÿ˜€ย Berikut langkah singkat yang saya tahu untuk deploy Web Service di IIS (localhost) :

Membuat virtual directory :

  • Run inetmgr, pilih New > Virtual Directory, ikuti Wizard dengan langkah selanjutnya
  • Masukkan Alias dan pilih Physical Folder
  • Permission : Read, Run Scripts, Browse (Optional)
  • Execute Permission : Script Only
  • ASP.NET Version : Sesuai .NET Framework yang digunakan, jika menggunakan VS.NET2005, pilih 2.0
  • Directory Security : Check Integrated Windows Authentication

Buat Web Service Application

  • Publish Website, via Solution Explorer, dengan target Virtual Directory yang telah dibuat
  • Buka Web Browser, masukkan URL Alias dari Virtual Directory yang dibuat, pilih halaman Service.asmx
  • Pilih Web Service yang dipakai, dan klik Invoke untuk melihat hasil XML nya. Kalau pakai .NET, nantinya tidak perlu parsing XML ini lagi untuk mendapatkan hasilnya ๐Ÿ˜€

Buat Aplikasi Berbasis Web Service

  • Tambahkan Web Reference di Solution Explorer, isikan URL Alias dari Virtual Directory yang dibuat, pilih halaman Service.asmx
  • Imports Library (jika perlu) dan Buat Instance dari Web Service
  • Invoke Method dari Instance Web Service yang telah dibuat

=======================================

Akhirnya setelah sekian lama, device GPS Garmin 18x USB nya sampai juga ke tangan tim saya ๐Ÿ™‚ GPS ini sih rencanya nanti digunakan untuk mendapatkan data Longitude dan Lattitude dari posisi Taxi. Nantinya dikirim ke server via Web Service dan jarak terdekatnya dikalkulasi.

PROBLEM nya : GPS 18x USB nya tidak dapat bundle Maps Jakarta, jadi setidaknya harus memanfaatkan jasa Map yang sudah tersedia. Sementara ini sudah menemukan 2 jasa Map di Internet, yaitu Google Maps dan Bing Maps. Keduanya bisa mencari jarak terdekat antar dua titik (untuk aplikasi langsung di Web nya), tetapi bagaimana caranya agar bisa menggunakan fungsi perhitungan jarak (dengan path jalan raya) dari kedua service tersebut?

Untuk Google Maps, sudah ada API nya, tetapi Web Based. Gratis, dan untuk menggunakannya perlu Google Maps API Key, daftar menggunakan Google Account. PROBLEM again : Nah, sekarang sedang coba otak atik untuk API yang satu ini, dan saya sedang bingung bagaimana untuk menggunakan function API nya lewat .NET Framework, secara Google Maps API itu menggunakan API Javascript.

Untuk Bing Maps, harus mendaftarkan diri untuk mendapatkan Developer Evaluation License buat pakai SDK nya. Yang ini masih belum berani sentuh… ๐Ÿ˜€

Category: Smart Taxi  One Comment
Smart Taxi Dispatch System Introduction

TAXI merupakan alternatif transportasi darat yang digunakan oleh masyarakat. Pengguna jasa TAXI dapat langsung memesan TAXI melalui telepon atau SMS. Tetapi hal itu masih kurang lengkap, karena pemesan TAXI masih harus menunggu TAXI yang dipesannya untuk datang ke lokasinya, yang tentunya membutuhkan waktu yang relatif lama karena tidak diketahuinya jarak terdekat kendaraan TAXI yang tersedia.

Dari permasalahan diatas, dibuatlah Smart Taxi System, yang akan memetakan posisi pemesan jasa TAXI dengan kendaraan TAXI terdekat yang tersedia dan menentukan rute perjalanan kendaraan TAXI menuju lokasi pemesan jasa TAXI yang tercepat.

Smart Taxi System ini bekerja lewat jaringan GPRS, yang menghubungkan antara semua Taxi dan server. Paket data yang dikirim oleh aplikasi pada Taxi, diterima oleh server melalui web service. Server bertugas memproses data customer (dari SMS customer, yang juga dilakukan lewat aplikasi mobile) dan data Taxi untuk mendapatkan posisi Taxi terdekat dengan customer.

Okay, ini dia posting pertamax tim Smart Taxi Dispatch System. Jadi intinya, sistem yang akan dibuat itu fungsinya untuk melayani user yang memesan Taxi via SMS. Apa bedanya ama sistem biasa?

1. Automated Transaction. Pemesanan taxi tidak melalui operator lagi, mengurangi Human Resource need.

2. Track N Closest Taxi. Pesanan dialokasikan ke taxi terdekat supaya lama pemesanan bisa di-cut secara signifikan

3. Masih banyak lagi yang tertulis di proposal, tapi karena yang nulis lagi ogah-ogahan, jadi kira-kira begitulah ๐Ÿ˜›

Kira-kira begini scenario kerjanya.

stdps-diagram

User Scenario (Global System) :

1. Customer memesan TAXI via aplikasi pemesanan Taxi.

2. Server mengkalkulasikan posisi 5 Taxi terdekat dengan posisi relatif Customer.

3. 5 Taxi terdekat mendapatkan informasi Customer yang terdekat dengan Taxi yang bersangkutan, sopir Taxi berhak memilih Customer mana yang akan dilayaninya, dan mengirim informasi balik ke Server untuk update status

4. Customer mendapatkan reply di aplikasi pemesanan Taxi yang berisi informasi Taxi yang akan melayaninya

Client (User) Side :

1. Dengan menggunakan LBS (pada aplikasi pemesanan Taxi), posisi relatif customer dapat diketahui dan dikirim ke dalam server yang nantinya digunakan sebagai informasi Taxi

2. Customer memesan Taxi via aplikasi pemesanan Taxi dengan program berbasis .NET CF. Pesanan tersebut dikirimkan dalam format string melalui GPRS, beserta data LBSnya, info tambahan dari customer, dan nomor handphone customer.

3. Jika ada Taxi yang bisa menjemput, customer akan mendapatkan reply berupa SMS berisi informasi Taxi tersebut . Jika tidak ada Taxi yang bisa menjemput setelah batas waktu tertentu, customer akan mendapat konfirmasi bahwa Taxi tidak ada, dan pertanyaan apakah customer tersebut masih mau menunggu.

Teknologi yang digunakan di sisi user:

1. Windows Mobile 5 / 6

2. .NET Compact Framework

3. Jaringan GPRS / 3G / HSDPA

Taxi (User) Side:

1. Taxi menerima sinyal dari beberapa satelit dengan GPS receiver, lalu menterjemahkan sinyal tersebut menjadi posisi Taxi dalam bentuk koordinat

2. Tiap X detik Taxi request status customer, beserta dengan pengiriman data GPS Taxi lewat koneksi internet (GPRS)

3. Request didengar oleh Web Service, data yang diterima web service (berupa longitude, latitude, dan status okupasi Taxi) disimpan ke database

4. Response yang diterima Taxi, jika tidak null (berisi info customer), maka akan ditampilkan dalam display board.

5. Taxi memilih customer yang akan dijemput dengan touchscreen

6. Taxi mengirimkan info customer mana yang dijemputnya, dan mendapatkan update info customer list

7. Integrasi argometer dengan aplikasi display board saat pembayaran

Teknologi yang digunakan:

1. .NET Framework

2. Windows XP

3. GPS & SDK-nya

4. Jaringan GPRS

Server (System) Side :

1. SMS customer didengar oleh SMS Gateway

2. Data SMS dan posisi relative disimpan ke dalam Database

3. Data yang diterima oleh Web service dan masuk ke database, dikalkulasi, menghasilkan 5 Taxi terdekat dengan radius tahap I, jika tidak ditemukan Taxi samasekali pada radius I, maka dicari hingga maximum 5 Taxi untuk radius tahap II (dan seterusnya). Hasil kalkulasi disimpan di database

4. Setiap ada request dari Taxi, server mengirimkan response berupa data customer (lokasi, nama, posisi) kepada Taxi. Response adalah null jika tidak ada customer yang terdekat dengan Taxi yang me-request info, dan Response berupa data customer jika ada customer terdekat dengan Taxi yang me-request info

5. Informasi customer mana yang diambil Taxi akan mengupdate database, sehingga otomatis akan mengupdate display board Taxi lain yang mempunyai kesempatan menjemput penumpang yang sama, dengan menghilangkan list customer yang sudah diambil tadi

6. Server mengirimkan SMS respon untuk customer, berisi informasi Taxi mana yang akan menjemputnya

Teknologi yang digunakan:

1. Oracle 10G / Microsoft SQL Server 2005

2. .NET Framework (untuk develop aplikasi SMS Gateway, Web Service, dan Fleet Management)

3. Jaringan GPRS

4. Teknologi SMS

5. Windows XP


Kira-kira begitulah kerjanya. Simple, isn’t it? Progress sementara, kita udah masuk tahap AWAL koding. Masih banyak yang perlu dipelajari dan dibaca, C#-nya lah, ini lah, itu lah… Device GPS juga belum ada.. Sedangkan kuliah udah masuk, dan rasa malas pada saat liburan masih belum hilang 100%. Target kami pada pertengahan Oktober, koding kelar.