This article explains how a small, Utah-based company used asynchronous Javascript and XML (AJAX) to add advanced features to the user interfaces in its Linux-based cameras.
Tutorial Details:
Several years before I started working on network cameras, I was already sure that web interfaces are ideal for embedded devices. No software to install- nice for the users-and it's easier to write some HTML, instead of programming all these user interface elements in executable programs, and then making sure they support major OSes and all their versions. Originally, I was impressed by this idea when I got a Toshiba ISDN router-it still works in my basement, although only for phone lines now, since the Internet was switched to ADSL, which was not available back then.
When I started the network cameras project, I did not have any doubt as to the nature of the interface software: the GNU/Linux software for the Axis ETRAX100LX processor even included a web server that was able to serve html pages and images, and interface with CGI programs and scripts that ran in the camera.
That was nice-as soon as the hardware was ready, it did not take me long to modify the software, add the JPEG library, and have basic camera functionality that supported passing acquisition parameters from a simple GET method HTML form and receiving images back. Problems started later, however, when I needed to add some otherwise basic functionality that was not easily available with this technology.
Asynchronous JavaScript
I wanted to receive not just images, but usable data, such as status
information. I did not expect a problem with such a simple task, but it proved difficult. For example, the camera can be used for capturing single events that are triggered externally, by sensors, for example. The first approach I tried was to request an image from the camera. The camera was armed by this request, but would not send an image until after the trigger event had happened. After an interval, the browser would abandon waiting, and there was no easy way to reset the waiting-not a really nice solution.
Read
Tutorial at: Click here to view the tutorial
Rate Tutorial: AJAX and LAMP boost Linux-based camera UI
View Tutorial: AJAX and LAMP boost Linux-based camera UI
Related
Tutorials:
Build your own
ObjectPool in Java to boost app speed -
JavaWorld - June
1998
Build your own
ObjectPool in Java to boost app speed -
JavaWorld - June
1998 |
Jini: New
technology for a networked world - JavaWorld June
1999
Jini: New
technology for a networked world - JavaWorld June
1999 |
How to attach a user interface to
a Jini service - JavaWorld October
1999
How to attach a user interface to
a Jini service - JavaWorld October
1999 |
Boost Struts with
Boost Struts with XSLT and XML |
Picture
this
Picture
this |
Impressive
!
Impressive
! |
JXMLAppKit 2.0
JXMLAppKit is a pure Swing java framework for editing an XML document with multiple XML editors. |
Improve Application Management With JMX
Improve Application Management With JMX
Leverage JMX technology and existing tools to boost the operations management capabilities of your business applications.
|
JSANE - Image Acquisition from Digital Cameras and Scanners
JSANE - Image Acquisition from Digital Cameras and Scanners
Image Acquisition from Digital Cameras and Scanners with Java on Mac/Linux/Solaris/Unix/BSD, etc.
SANE is the de facto standard to access scanners/cameras on AIX, BeOS, Darwin, FreeBSD, HP- |
new
Version 0.9.3 of the Quake2 Java port Jake2
With the new Jake2 release 0.9.3 savegames are working. So you can take a break on your mission.
|
Tag Library Documentation Generator 1.2
Tag Library Documentation Generator is a utility for automatically generating javadoc-style documentation for JavaServer PagesTM (JSPTM) Technology Tag Libraries. |
Improve on Javadocs with ashkelon
Improve on Javadocs with ashkelon
Sun's Javadocs provide us with automatically generated, hyperlinked documentation of fields, methods, classes, interfaces, and inner classes. They are helpful in many ways, but you will soon develop a wish list that incl |
Light-Weight Visual Components Library for different platform: SWT, J2SE, J2ME, .NET
Light-Weight Visual Components Library for different platform: SWT, J2SE, J2ME, .NET |
RawLib
RawLib
Version 0.9.4 released. This one has support for tonal curves as seen in RawView. Also initial support for Adobe's DNG raw format. Download the library and sample application here.
This is a quick release of our Java library for decoding RAW i |
JDock 1.1 - Swing docking framework
JDock is a pure java swing framework for managing, moving and resizing inner windows or components using a layout manager like a BorderLayout or a GridBagLayout.
|
Java Resources
There are all Java freebies. Some of these are old, and not under maintenance. Download and use them at your risk. In case of queries, mail subrahmanyam_avb@technologist.com or varalakshmi_a@techie.com. |
JavaServer Faces Technology
JavaServer Faces technology is a server-side user interface component framework for Java technology-based Web applications. |
Writing a Custom Counter Component
MIDP 2.0 introduced the javax.microedition.lcdui.CustomItem class. As the name implies, a developer can now create custom UI components by extending the CustomItem class. This tech tip designs and implements a UI component for displaying a numeric counter |
Manual Submission to Search Engines. Hand Submit Website URL Submission to Major Search Engines
Manual Submission to Search Engines. Hand Submit Website URL Submission to Major Search Engines
ATTENTION: Website owners!
Hand Submissions to major search engines for as low as $10.00 per month
Let us introduce you to the services provided by |
Advanced Synth
Take an in-depth look at the Synth look and feel, the newest addition to Swing introduced in Java 5.0. Synth lets developers rapidly create and deploy custom looks for an application by introducing the concept of a "skin" to Java UI programming. |
|
|
|