SmartCam turns a Symbian Series 60 phone with bluetooth and camera into a webcam ready to use with your PC. It is open source software, licensed under the GPLv2 and will run on Linux or Windows. There are commercial applications that will do the same thing, but I believe in using and supporting free, open source software whenever possible.
In this tutorial I will be installing SmartCam on Fedora 9 as the SmartCam developer has already tested and confirmed that SmartCam works on Ubuntu 8.04. Yes, SmartCam does use the Video4Linux API. See http://en.wikipedia.org/wiki/Video4Linux for a list of compatible applications. I personally use SmartCam with aMSN quite frequently.
- First things first, visit https://sourceforge.net/projects/smartcam/ and click the Download link in the green box.
- We’re going to install the Linux version, so click the Download link for smartcam linux.
- The latest Linux version at the time of writing is v2008.09.18.2. Download the zip archive and remember where you saved it. I saved it in ~/Download
- Navigate to the directory where you saved the SmartCam zip file.
[kmurray@radon ~]$ cd ~/Download
- Unzip the archive.
[kmurray@radon Download]$ unzip smartcam_v_2008.09.18.2.zip
Archive: smartcam_v_2008.09.18.2.zip
creating: smartcam/
inflating: smartcam/COPYING
inflating: smartcam/ReadMe.txt
creating: smartcam/release/
inflating: smartcam/release/smartcam.ko
inflating: smartcam/release/smartcam
creating: smartcam/release/phone_files/
inflating: smartcam/release/phone_files/SmartCamS603rdEd.SIS
inflating: smartcam/release/phone_files/SmartCamS602ndEd.SIS
inflating: smartcam/release/phone_files/jSmartCam.jar
[file listing snipped to save space] - Now we compile the SmartCam kernel module. You will need to ensure that you have the kernel development headers installed. In Fedora it’s as simple as yum install kernel-devel
[kmurray@radon Download]$ cd smartcam/src/driver/
[kmurray@radon driver]$ make -C /lib/modules/`uname -r`/build M=`pwd` modules
make: Entering directory `/usr/src/kernels/2.6.26.6-79.fc9.i686′
CC [M] /home/kmurray/Download/smartcam/src/driver/smartcam.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/kmurray/Download/smartcam/src/driver/smartcam.mod.o
LD [M] /home/kmurray/Download/smartcam/src/driver/smartcam.ko
make: Leaving directory `/usr/src/kernels/2.6.26.6-79.fc9.i686′ - Kernel modules usually live somewhere in /lib/modules/`uname -r`/. Just to keep things tidy, we’ll copy the module there.
[kmurray@radon driver]$ sudo cp smartcam.ko /lib/modules/`uname -r`/extra
- Now update the module dependancies.
[kmurray@radon driver]$ sudo /sbin/depmod -a
- Load the module.
[kmurray@radon driver]$ sudo /sbin/modprobe smartcam
- Verify that it loaded.
[kmurray@radon driver]$ /sbin/lsmod | grep smartcam
smartcam 9880 0
videodev 29824 1 smartcam[kmurray@radon driver]$ ls -l /dev/video*
lrwxrwxrwx 1 root root 6 2008-11-15 13:59 /dev/video -> video0
crw-rw—- 1 root root 81, 0 2008-11-15 13:59 /dev/video0 - As you may have noticed, we have a minor problem here. /dev/video0 is only accessible to root. Unless you plan on only using your webcam as root, which is a very bad idea, you need to change this. Rather than change the permissions of /dev/video0 every time you reboot, you can change your udev rules to allow all users to access /dev/video0.
Using your favourite text editor, open /etc/udev/rules.d/50-udev-default.rules. I used vim.
[kmurray@radon driver]$ sudo vim /etc/udev/rules.d/50-udev-default.rules
Search for the video4linux stanza and change the line that reads:
KERNEL==”video0″, SYMLINK+=”video”
to this:
KERNEL==”video0″, SYMLINK+=”video”, MODE=”0666″
- Remove and reload the SmartCam kernel module.
[kmurray@radon driver]$ sudo /sbin/modprobe -r smartcam
[kmurray@radon driver]$ sudo /sbin/modprobe smartcam - Verify the permissions of /dev/video0.
[kmurray@radon driver]$ ls -l /dev/video*
lrwxrwxrwx 1 root root 6 2008-11-15 14:05 /dev/video -> video0
crw-rw-rw- 1 root root 81, 0 2008-11-15 14:05 /dev/video0Now /dev/video0 is available to all users.
- Now compile the SmartCam application.
[kmurray@radon driver]$ cd ../../src/app/
[kmurray@radon app]$ gcc `pkg-config –cflags –libs gtk+-2.0 gthread-2.0` -lbluetooth smartcam.c -o smartcam - Make the SmartCam application available to all users.
[kmurray@radon app]$ sudo cp smartcam /usr/local/bin/
- Make the SmartCam icons available to all users.
[kmurray@radon app]$ sudo mkdir /usr/share/pixmaps/smartcam/
[kmurray@radon app]$ sudo cp icons/*.png /usr/share/pixmaps/smartcam/ - I also chose to create a menu entry for SmartCam under Applications -> Sound & Video. Click System -> Preferences -> Look and Feel -> Main Menu.
- This is where you add or remove custom Applications Menu entries.
- In the left pane, click on Sound & Video.
- Click the New Item button on the right hand side and fill in the fields as follows:
- Click the Choose Icon button at the top left and type /usr/share/pixmaps/smartcam in the file field at the top, then click on logo.png and click OK.
- The window should now look like this:
- Click OK and close the Menu Editor. Then click Applications -> Sound & Video and you will see a menu entry for SmartCam.
- Now that the computer is set up, you need to install SmartCam on your N95. The SmartCam zip file you downloaded earlier also contains the SmartCam application for your phone. The version you want to install on your N95 is in the archive under release/phone_files/SmartCamS603rdEd.SIS. See my previous tutorials on how to install applications on your phone if you are unfamiliar with the process (How to install N95 apps via USB | How to install N95 apps via bluetooth) Once you have SmartCam installed on your phone, you will find it in your Applications folder.
- You must start SmartCam on your computer first. Click Applications -> Sound & Video -> SmartCam.
- Now start SmartCam on your phone.
- Select Options -> Start
- If you have previously connected to your computer via bluetooth you will already see it in the list. If not, simply select More Devices. Either way, choose to connect to your computer.
- Here’s what it looks like on my phone and on my computer.
I’ll be doing the next few steps on the command line as it involves compiling a kernel module for SmartCam.
At the time of writing, SmartCam only supports bluetooth connections. Hopefully in the future the developer will implement USB and/or Wifi as well. Either way, I still think SmartCam is a fantastic piece of software!
I love you!!
:D
it works great for me!!