Sunday, May 31, 2009

CakePHP Shell

cd cake/console
./cake report

lol jgn lupa lagi

Monday, April 27, 2009

MamakSpot.my new look

GPS Live Tracking using GPS

Extjs & Cakephp


The Movie add form. The drop down select value was retrieved from database via JSON


Basic grid using CakePHP & ExtJS.The data retrieved using JSON

2 days of learning Ext JS, slowly but result oriented.

Saturday, April 18, 2009

CakePHP Ext JS( pagination, add users )


Sample of adding user form


sample of datagrid with workable pagination

I follow the tutorial here -> http://www.ntatd.org/mark/?cat=13

Friday, April 17, 2009

GPS Tracker HTTP Update Field Test


The HTTP Update logger running on my E71


The result on GPS Tracker Portal

This morning I fired up my Nokia E71 GPS update via http using Celcom Prepaid 3G. Update interval is 5 seconds. There gone my hard earn money...lol

Thursday, April 16, 2009

Display 1000++ schools on Goole Map


Spent almost 1 day on this. Cleaning up MySQL DB etc etc

URL : http://map.cikgu.net.my/schools/data

Powered by
1. CakePHP 1.2
2. Javascript
3. MySQL
4. GMap EZ Framework

Tuesday, April 14, 2009

GPS Tagged Photo Viewer



demo : http://map.jobber.my/photos

My Nokia E71 camera have the GPS Stamp function. So when I snap a picture, GPS info will be stamped in the image's exif data. Uploading the image on the server is plain easy, but how to extract the GPS data in the image and store it into database ? The answer is to use PHP's built in exif parser.

-CakePHP 1.2
-phpThumb
-MySQL Database
-GMap Ez Google Map Reader
-Exifier

Python S60 HTTP file uploader

I did some research on the net on how to upload file from S60 Python to webserver

1. uploader 1

Monday, April 13, 2009

Update GPS using HTTP


Simple Python Uploader

The task pretty simple, user just select the menu on the phone and it will update the GPS every 60 seconds. On listening server, it will receive data from HTTP GET and plot it into MySQL database

Update via http and GPS Exif parser

Currently, I can update GPS data using SMS update and by uploading log file. The next phase, will be HTTP update using GET method.


------------------------8<------------------------------

S60 Python on my Nokia E71 will update via http get using the sample url.

update.php?type=http&lat=xxx&lng=xxx&alt=xxx&speed=xxx&heading=xxx&time=xxx

where xxx is the GIS value

-------------------------8<------------------------------

Image taken using my Nokia E71 have GPS data stamped, so my plan is, when I upload the image into http://map.jobber.my, the system can grab the GPS data and put it into the database and map it on Google Map

Sunday, April 12, 2009

Updated GPS Portal with new data


Upgraded the user interface on Nokia E71. The tracker now have 2 ltracking option, by SMS or log into text file


Sample of GPS data displayed on Nokia E71


The route used while logging to text file.


Sample of sms data being sent to listening server.


Sample of GPS log.

S60 Python GPS info


The python source code, pretty amateur


The result on my Nokia E71 phone.

So I'm back to python s60 programming. The task is pretty simple, get the GPS data and display it back.

My collection of books

Wednesday, April 8, 2009

CakePHP : Tracking GPS live last known position


left: MySQL lat/lon data
right top : CakeSMS SMS listening server
right bottom : CakePHP Shell Daemon


The result page

The idea is, you can track the tracker on the web browser without hitting the refresh button every 5 secons or use the meta refresh tag. Just open the Google Map then sit and relax. The marker automatically updated to new location using Ajax every seconds.

Nokia E71 will send the current GPS location every 30 seconds to listening server with Sony Ericsson W980 acts as GSM Modem. The received SMS then processed by CakePHP Shell Daemon which process the GPS location into the MySQL Database.

Then, using AJAX, the browser will call the last known location every second and mark in on the Google Map.

Demo URL : http://map.jobber.my/locations/data

Tuesday, April 7, 2009

Google Map : Update Marker using Ajax


The Javascript


Output in browser and sample XML data

Imagine you want to track in realtime without refreshing the whole page, this is the solution..ajax update the XML data.

Thursday, April 2, 2009

CakeSMS : Setting up Siemens C35i Modem





One of my client sent this GSM Modem to me, Siemens C35i USB. So I fired up my Linux Ubuntu and change the Gnokii settings.

Using dmesg, the modem connected at /dev/ttyUSB0

Some crucial settings on gnokiirc
speed = 115000
connection = serial
port = /dev/ttyusb0

Run the gnokii --identify to check the connection status

Tuesday, March 31, 2009

SLow down on programming, gaining on Forex Learning

I never invest in Forex, but have been reading about it extensively since months ago. BabyPips.com provides the best guides ever. So I'll slow down a bit on programming reserach and put some efforst on learning Forex.

Pisces born clads are not greedy type, so the trait quite useful while trading on FX......

Sunday, March 29, 2009

Tiara Beach Resort


The aerial view of Tiara Beach Rsort


Travelling path from Putrajaya

Friday, March 27, 2009

Field Test 2 : Satria NEO from Putrajaya To PD


I'm not a 100% computer geek, apart from coding, I enjoy motorsports, esp Sepang Sunday Track Day Session. Yesterday I burnt almost RM900 changing new front tires, adjusting camber degree, changed the APM rear coilspring to Eibach.

Now the car handles beatifully. The new camber setup improved the cornering performance.

Wednesday, March 25, 2009

RoR : batch geocoding using shell command


batch_geocode.rb


runner in action

Imagine you have thousands of data of subscribers with address and postcode, and suddenly your boss asking for Latitude and Longitude value for each entry using the given address. The answer is, using geokit and RoR runner

ruby script/runner batch_geocoding.rb

Tuesday, March 24, 2009

GPS: View by route


Updated the prototype engine with display by route. Additional info is total distance in kilometer and time taken for the tracking.

Monday, March 23, 2009

GMAP Ez in CakePHP


This is the result


This is how i use Foreach in CakePHP to plot the map


This is the JS init in app/views/layouts.ctp
I use GMAP Ez Google MAP Framework ( http://n01se.net/gmapez/ )

Speed & Distance


The view sample


The controller sample.


The Location Model. Add process_afterfind() function


The result on view


The result on info balloon


So I add some new functions today, to display covered distance between 2 nodes and average speed too.

Saturday, March 21, 2009

Field Test 1 : Logging GPS from Putrajaya to Batu Pahat


Sample python logger used in this field testing.


Sample GPS Log with info window tracking from Plus Pagoh Toll to Batu Pahat, Johore town


The path taken from Putrajaya to Batu Pahat,


Sample logging output from Nokia E71 GPS Tracker


The aim for this field test is to do stress testing on the Python GPS logger running on my Nokia E71. The logger will write GPS and Time data into text file every 60 secs. Average cruising speed on my wife's Toyota Altis is 120kmh - 140kmh on the highway.

From the log file,
1. Must be able to upload to the server and automatic plot on Google MAP
2. Have to write a Python script to automate the upload using HTTP transport.

From the report
1. Calculate covered distance in meters.
2. Calculate each node covered distance
3. Calculate average speed
4. Calculate speed from node to node

Field Testing Reports
1. The logging was successful
2. Log file size is 86kb in size
3. Abto to upload and automatic plot without problem

Sunday, March 15, 2009

Python GPS logger


Simple Python script

My Prepaid credit is null, and I want to do live tracking today. So I fired up my vi text editor and begin experimenting.

The script should log the gps data every 5 secs into flat file
The format will be "gps|||

Live Tracking Site

Ok, it's live. Now you can track me live on the net ( unless I have enough credits on Nokia E71 Celcom's prepaid )

http://map.jobber.my

Saturday, March 14, 2009

Satria NEO Tracking Project


My wifey's Corolla Altis is not suitable for this project since, it's a family car. So I'll use my Satria NEO as test car in this Google MAP Live tracking project. Some facts about the car

1600cc normally aspirated Campro Engine
APM lowering spring ( till I got enough money for TEIN )
TSW Hockenheim R 16" Competition Wheels
205x50 Hankook rubber on rear and 205x45 Silverstone on the front
Built in Video Camera holder ( bought from US for RM400 0

For tracking device, I'll use Nokia E71 installed with Python script that will send SMS for current location for every 30 secs ( suck my money yeah )

For receiver at home, I'll use my Wife's SONY Laptop connected to receiver GSM Modem, Sony K770i.

For programming I'll use CakeSMS ( http://cakesms.blogspot.com ) for SMS Framework and write simple listening daemon for SMS processing

For the output, I'll use GMap EZ framework for Google MAP.

This tracking device is suitable to track the car movement live on your web browser, maybe for Rally fan, can watch the car movement live on the mobile phone connected to GPS

Google MAP Tracking using Polylines


Info windows on event start


Infor windows on event stop

Friday, March 13, 2009

Formula to calculate distance of 2 corrdinats

$lat1 = 3.033555;
$lon1 = 101.87347;

$lat2 = $location['lat'];
$lon2 = $location['lon'];

$location['distance'] = (3958*3.1415926*sqrt(($lat2-$lat1)*($lat2-$lat1) + cos($lat2/57.29578)*cos($lat1/57.29578)*($lon2-$lon1)*($lon2-$lon1))/180);

Wednesday, March 11, 2009

Google Map Nokia E71 Tracking


On the left is my listening SMS daemon, on the right is the debug mode for Gnokii


Here's the tracking Sample. The balloon pointed where was me on the specified time

It works !