Ethernet Camera Review – Edimax IC-1310

Last week I bought one of these cameras to keep an eye on the house. After initially thinking I wanted the old D-Link DCS-900 I stumbled across the Edimax range of cameras. Here’s a summary of what they have available:

  • Edimax IC-1500 – Older model
  • Edimax IC-1510 – Updated version of the IC-1500 – ~£40
  • Edimax IC-1510wg – As per IC-1510 but adds wireless – ~£65
  • Edimax IC-1310 – Same as the IC-1510 but adds audio – ~£48
  • Edimax IC-1310wg – As per IC-1310 but adds wireless – ~£78

I went for the IC-1310 because I thought the audio might be useful, even if I didn’t use it at first. I also couldn’t justify the more expensive wireless model when I’ve got a couple of Belkin wireless APs in the loft that could be hooked up to add wireless at zero cost to me.

One week on, this camera is great, especially for the price! In low light the images are pretty decent, and in daylight they’re great. Some of the features require that you use Internet Explorer; e.g. getting audio as well as video requires their ActiveX control, as does the initial setup of the motion detection. However, most other features work through other web browsers like Firefox (I don’t think some people read all the documentation!) it’s all in the ‘CGI Commands’ manual on the Edimax website. You can get straight to the MJPG video stream or individual JPG images through whatever browser you like. However, I’ve not yet been able to get the audio and video stream mixed together on other browsers. The ActiveX control also doesn’t seem to work through corporate proxies.

Network setup is relatively trivial for anyone who knows their way around port forwarding in a router. It took me about 10 minutes to set everything up & make it available using a DynDNS host name for external viewing.

It hooked up to my Android phone without any problems, streaming the video over 3G using apps like ‘Tiny DVR‘ (which I’d recommend) or ‘IP Cam Viewer Lite‘. Over 3G the frame rate was about 1-2fps.. enough for a quick check on the house. Edimax have their own app for those with iPhones.

If you don’t need audio then go for the cheaper Edimax IC-1510 (which is currently about £40). I’ve had mine wired through a ethernet cable so can’t comment on the wireless side of things; if you want wireless then you need to see whether it’s worth the extra £30 to go from the IC-3010 to the IC-3010wg.

URLs that work through most non-IE web browsers are:

Single-image, not logged in (you define the file name to use);
http://IP:web_port/loginfree.jpg

MJPG Stream
http://IP:web_port/mjpg/video.mjpg

MJPG Stream with authentication
http://admin:password@IP:web_port/mjpg/video.mjpg

iPhone and Android development with Titanium

Over the past few months I’ve worked on a couple of mobile applications for the iPhone and Android platforms. I’d looked at Phonegap some time before that, but determined that it wasn’t up to the job, but more recently I stumbled across Titanium from Appcelerator. The idea is that you code up your apps using HTML and Javascript. The Javascript calls the Titanium API to create things like lists, dialog boxes, and phone features such as geolocation.

Some of the advantages of using Titanium are:

– No need to learn Objective-C (iPhone) or Java (Android)
– Leverage existing HTML + Javascript skills
– Write one version of the code that can be deployed to both platforms
– Code is compiled up into native applications which are accepted in the App Store
– Potential to deploy to other platforms in the future (e.g. Blackberry, Symbian)

The level of support provided by the Appcelerator staff on the official forums is brilliant, and the tutorial videos are good for those who want to get an overview of creating apps without wading through documentation.

You’ll still need a Mac if you want to develop for the iPhone, because Titanium makes use of the iPhone SDK. But if you just want to do Android development then you can use Window or Linux as well.

Although you’ll be developing 1 set of code for both the iPhone and Android, you’ll probably want to customise the UI slightly differently for each platform. For example, Android apps often hide away items such as ‘Settings’ and ‘Help’ under the Menu button. It’s simple to code this kind of thing up:

	if (Titanium.Platform.name == 'android') {
		var menu = Titanium.UI.createMenu();
		menu.addItem("Help/About", function() {
			displayWindow('Help / About', 'window_about.html');
		}, Titanium.UI.Android.SystemIcon.HELP);
		Titanium.UI.setMenu(menu);
	} else {
		data.push({title:'Help / About',image:'tabicon_help.png', color:'#ffffff'});
	}

That code will create the Help/About option under a menu on Android, and add it to the home screen’s list on the iPhone. Simple.

Titanium is an awesome framework so if you’re considering developing for the iPhone and/or Android then I’d highly recommend you take a look.