Friday, November 24, 2006

Mobile Surveillance Application

Using the Pyhton programming language for the Nokia S60 phones I programmed a mobile surveillance application during the Mobile Interaction Concepts and Technologies course given by Jürgen Scheible.

The script itself was programmed during 3 days (4 days excercises/theory as well) and is based on example scripts from Jürgen Scheible's excellent Python for S60 tutorial.

The basic concept of the application is to take pictures and listen-in remotly using only 2 mobile phones. The phone used as the surveillance phone has to be a Nokia S60 model running Symbian with Pyhton installed in order for the script to work. The remote phone on the other hand could be any "dumb" phone which has basic browsing capabilities so that you could see the surveillance photo.

The Pyhton script works like this:

Once activated the surveillance phone shows a small preview picture so that you could position the phone's camera as you wish. The script can also work in the background so that anybody looking at the phone would not know that the script is running.

Once the script is started you can send SMS text messages to the phone for it to take action. In my example I have programmed two take actions for the phone when it receives SMS messages with predefined codewords or the appropriate key is pressed:
  1. Sending an SMS with the word "photo" (without quotation marks) will tell the phone to take a picture (reolution 640x480) and send it to a PHP script in a predefined server. The PHP script will then store the photo in the server directory so that it could be viewed from any browser. This action can also be activate by just pressing the SELECT key on the surveillance phone. The following image is the photo uploaded by the Pyhton script:


  2. Sending an SMS with the word "call" (without quotation marks) will tell the phone to dial a phone number that has been specified in the script. This way you can have the surveillance phone call you so that you can listen-in on what is going on at the location of the surveillance phone. This action can also be activate by pressing the nr. 2 key on the surveillance phone.
The script will keep running and responding to the SMS codewords until it is manually turned off.

The Python script can be download here: jaans_camera_application.py
The PHP script can be download here: phone_surveillance_upload.txt

Further development

The script can easily be modifeid so that after receiving an SMS codeword it will continually upload photos (like a webcam) and another SMS codeword will make it stop.

The script could also be modified so that instead of calling a predifend phone number it would dial the number that sent the SMS codeword "call".

8 comments:

Unknown said...

Hi!

could you rename phone_surveillance_upload.php with a different extension or compress it. The web browser only allows us to see the prints and same when downloading :)

Well done, it's a nice idea

Jaan Saar said...

Sorry, I forgot to change the extension. It is now .txt so that you can view/download the PHP script as well.

Ulul Azmi said...

hi, nice app you've got.
i've tried this but my camera only support the resolutions of 640x480 and above. what should i change in the code? for i have no knowledge in this.

Jaan Saar said...

azmee: I think the problem is the preview image... depending on your phone model you have to change the preview image's size. If I remember correctly the line of code that defines the preview size is near the end:

screen_picture = camera.take_photo(size = (160,120))

The last numbers should be changed to either 320,240 or 640,480 dependind on which sizes your phone supports. The smaller the better (quicker response). Hope this helps.

Ulul Azmi said...

Thanks Jaan for pointing that out. Changing the preview image size and it works on my 5500. I tried to change the code so when the mobile phone receives an sms, instead of uploading the photo, it would send the photo as mms to the requesting number. But still no joy :(

Anonymous said...

Who knows where to download XRumer 5.0 Palladium?
Help, please. All recommend this program to effectively advertise on the Internet, this is the best program!

Anonymous said...

Can anyone recommend the top performing Patch Management utility for a small IT service company like mine? Does anyone use Kaseya.com or GFI.com? How do they compare to these guys I found recently: N-able N-central it outsourcing
? What is your best take in cost vs performance among those three? I need a good advice please... Thanks in advance!

SzeZo said...

I see the links to the files are broken currently.
Could You please repair the links or publish the files again?
Many thanks!!