Jason reviews the Axis camera. It has a built in web server and runs Linux.
Manufacturer: Axis Communications
Reviewer: Jason Schumaker
Axis bills the 2100 as a “plug and watch digital camera with direct network attach”. Accurate enough. It truly does have an “appliance” feel. A PC is not needed—the camera operates stand-alone, requiring only a LAN or modem connection. It has a built-in web server, which allows you to view images through a browser and throw those images directly out on the Internet (or not). So, you can interact with friends, jazz up your web page, create small movies, monitor your home/office or, ahem, start a business.
The camera weighs, excluding mini-tripod and power supply, a mere half of a pound. There is a feeling of fragility to the thing—one of the few “bad things” about the camera (see Sidebar). Axis does have an industrial strength camera in the works, but no release date has been set. I actually knocked the camera down at one point (please don't tell the folks at Axis!). It fell about two feet and landed on the floor. The images on the screen froze. After two hours and a $500 transfer from savings to checking, I pushed the camera's reset button, which reboots the camera. Everything was fine after that. A heavier, more durable version will certainly be needed, especially for brutes like me.
For $450-$499 you will get the camera, a mini-tripod, one 12V AC adaptor, a null modem cable, a PS-D extension cable, along with the user's guide. The price seems quite fair, considering the myriad of functions it can serve, not to forget the entertainment value. The lens can be replaced with any standard C or CS lens, which I would recommend. The factory lens is fine, but having more lens power is always good.
The Axis 2100 is itching to be used. The set up is painless and quick, though personal error, lack of certain permissions and little patience on my part added time. Linux/UNIX users may need to be logged in as root, which might not sit too well with some sys admins. I needed to be root in order to use the arp command.
The camera can be installed on a network or to a modem. I went the network route, so will not be providing the modem installation procedures here. That method is a bit more complicated, but after a quick reading, I wouldn't think it to be difficult. Axis has made the installation process easy, unless you're completely unfamiliar with Linux.
It took nearly as long to free the 2100 from the packaging as it did to get it running. There were some “non-camera” related issues to work through. To begin with, plugging the AC adaptor into the outlet really helped. Then, choosing a working Ethernet port got me one step closer. And, finally, reading the enclosed “Addendum”, which informed of a possible need to “reinstate the Factory Default settings”, proved instrumental in getting the camera operational. What can I say, excitement got the better of me!
The accompanying “User's Guide” provided installation commands for both Windows and UNIX systems. The first command wasn't quite right for a Linux system, but a quick query to the LJ tech department provided clarification. The following commands are what worked for me and are different from those in the 2100 User Guide. To install the camera to my Ethernet network, I typed (in an xterm):
/usr/sbin/arp -s 192.168.3.72 00:40:8c:10:00:86 temp
where the IP address was issued from my sys admin and the Ethernet address is the serial number from the bottom of the camera. I then ping'd the IP address:
ping 192.168.3.72That's it. I opened a web browser and entered the IP address (i.e., http://192.168.3.72). A page quickly opened and there I was, caught in a side view, bad posture revealed. I was immediately struck by the quality of the image and the speed at which my movements were followed. This camera delivers between 3-10 images/second. Speed can be effected by bandwidth, your computer and browser type, monitor resolution and more. The images produced were close enough to real-time to amaze the entire LJ staff. Laurie Tucker, LJ's Special Projects person, described it best by saying, “It looks like a moving painting.” Images are a bit “trippy”, but the quality is one step closer to real-time.
Images can be viewed straight through a customized web page or by uploading them to a remote FTP server. I didn't use the latter, but it can be configured to alert you, via e-mail, when a new image has been uploaded. Setting the camera to upload an image every five minutes could work nicely for home or office security. An adaptor on the back of the camera allows for hook up to devices such as motion detectors and doorbells.
All camera configuration is web-based, by using the “Installation Wizards” and the “Application Tools”. These are presented in GUI form and are used to define the system, set security preferences and tweak image and layout settings. Simply click on either link, which conveniently sit just to the right of the image(s) being displayed. The “Application Tools” allow you to modify anything from image resolution, to color, time, background color, image title and so on. The “Installation Wizards” is nicely organized into the following sections: security, date and time, image settings, focus, modem or network and TCP/IP. You are also given the option of uploading images to an FTP site.
By default, the camera is set to allow anyone access. This can be changed by registering the camera to a single user. That single user is then given the ability to set security permissions to individual users—requiring a user name and password for access. Similar to most Linux systems.
The 2100 has telnet turned off but does run an FTP daemon. To log into the camera, I FTP'd to the IP address of “my” camera's web page, then logged in as root, using “pass” for the password. Doing this allowed me to root through /proc files (see Listings 1 and 2). This is also the method for downloading upgrades to the camera, or uploading code, which is the coolest thing about this camera. Unlike most appliances running embedded Linux, you can go in and change things, if you are so inclined. As Jon Corbet writes (see Resources), “Axis makes available everything that is needed to do this: versions of the compiler and libraries (licensed under the GPL) are at the Axis developer site. It's mostly a matter of cross-compiling the code and FTPing into the camera.”
There is a Linux port running on the Etrax 100. Axis ported Linux to their products in December 1997 (kernel 2.0.33) This port, along with their developers not wanting to spend time developing a new OS, made Linux an obvious choice to run the 2100 web camera. The source code to the Linux port is licensed under the GPL and can be downloaded from the Axis site. Here's the hardware, as listed in the user's guide:
ARPTEC-1 compression chip; ETRAX-100
100 MIPS CPU
2MB FLASH PROM
The camera specifications, for those of you in the know:
Digital, 24-bit color
Image pickup device: 1/4'' inch HAD RGB progressive scan CCD
White balance: automatic, fixed indoor, fixed fluorescent, fixed outdoor and hold
Electronic shutter: 1/30s - 1/30000s, light condition adaptive
High bandwidth is the place to start. If you plan to transfer files from the camera over the Internet, a DSL (or equivalent) connection is the way to go. To view images, Axis recommends a “PC, ideally Pentium 300 or higher, with a high-speed graphics card and 100MB Ethernet network card”. The only software necessary is TCP/IP and either Netscape Navigator (their recommendation) or Internet Explorer. You will also need an IP address, Ethernet cable(s) and a network hub.
The 2100 network camera seems solid, as does the company producing it. Axis has been around since 1984. Headquartered in Lund, Sweden, they have more than 500 employees working at 28 offices worldwide. There Etrax-100 chip is a product in its own right and is used in numerous Axis products, ranging from cameras to print servers. Any product that can work with Linux, does. Axis makes source codes available on their developer site. This includes the code to their own Journaling Flash File System (JFFS), which the Axis site says is “aimed at providing a crash/powerdown-safe file system for disk-less embedded devices”. It allows the camera to be turned off and on without having to reboot—providing the necessary “always on” functionality.
I have spent the past week toying around with the camera, and I am still excited about it. I want one. Though it is designed for indoor use only, it does well with that. Images are crisp and quick. This is embedded Linux in action and the results are exciting. It's a Sunday, and I'm at work, playing with the camera. That should speak volumes.