Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

In Focus with Domino.Remote:CAM

Thomas Hoey, Software Engineer, Iris Associates
Tom Hoey and Tom Gumz
Thomas Hoey (left) joined Iris three years ago from Digital and has primarily focused on back-end server projects. Tom thanks Thomas Gumz from Lotus for his graphic design of Domino.Remote:CAM.

Summary:  Domino.Remote:CAM is a Domino 4.5 server add-in that adds snapshots from a digital camera to a database. This article shows how to set up and control the application from a server or a workstation. Domino.Remote:CAM can be downloaded from the Sandbox.

Date:  31 Mar 1997
Level:  Introductory

Activity:  3596 views
Comments:  

[Editor's note: This beta version of Domino Remote: CAM runs only on Windows 95 or Windows NT, on the Domino 4.5 server, or as a background task on the Notes Release 4.5 workstation.]

Domino.Remote:CAM is a server add-in that resides on a Domino 4.5 server, but can be operated from either a server or a Notes 4.5 workstation. It provides a template and a set of commands designed to initiate picture taking, store the snapshots as live, dynamic documents in a database, record the picture taker's name, then notify the intended recipient that the snapshot is ready for viewing.

In this early Beta, you can set up the CAM to take pictures at specified intervals, say every 30-seconds. The snapshots, categorized by day, may be expanded to view the previous day's activities. To avoid excessive disk space usage, you can automatically purge pictures at specified intervals. The Domino.Remote:CAM will also work as a background task on your workstation by using the same executable image used by the server, but without the ability to use the console Tell commands. In the future we'll include buttons in the template for previewing and formatting the camera on a workstation. For now, this may be handled by the camera's vendor software. The following screen shot shows me at the console of the Domino.Remote:CAM:


Figure 1. Domino Remote:CAM console
Domino Remote:CAM console

The current Beta version, which we're providing for free downloading today, is designed for the Domino 4.5 server running Windows NT or Windows 95 only and it currently works with the commercially available Connectix Color QuickCam (http://www.connectix.com, retailing for around $200). You can connect one of these cameras to your parallel port using the power from your keyboard. In later versions of Domino.Remote:CAM, we'll plan to support remote controlled cameras and enable you to control the camera rotation remotely. We're looking at providing video streaming as well.

Try it (cam.zip was updated on April 4, 1997)

You can try out Domino.Remote:CAM by downloading the sample files from the Sandbox, and then following these steps:

Server setup:

  1. Copy ncam.exe and ncamcap.dll to your Notes executable directory.
  2. Copy cam.nsf to your Notes data directory.
  3. Start the Domino server and type in load cam at the server console.

Workstation setup:
To enable the sound capabilities, copy these files to the Notes executable directory:

  • nsnd.dll
  • click.wav

The template uses a Notes navigator and the preview pane, and provides a view of a hierarchical list of the snapshots available to be viewed. The Domino.Remote:CAM Action Bar contains two main action buttons: Take Picture allows you to create snapshots, and Unseen lets you dynamically view snapshots already posted to the database. Of course, you can add more Action Buttons and we plan to do so, as well.

Because Domino.Remote:CAM is a server add-in, it uses standard Notes Tell Commands to perform operations, such as previewing your snapshots, setting the intervals, adjusting the size of bitmaps, and purging snapshots. From the console, you can access the following commands:

  • load cam -- connect to cam
  • tell cam format -- dialog to adjust size of bitmap
  • tell cam preview -- dialog preview snapshots
  • tell cam source -- dialog to adjust hue
  • tell cam quit -- disconnect cam
  • tell cam interval 0 -- turn off automatic snapshots
  • tell cam interval n -- create snapshot every n secs
  • tell cam keep n -- keep n snapshots in database
  • tell cam log [on] -- turn on logging
  • tell cam log off -- turn off logging

To request that a snapshot be taken every 30 seconds, issue "tell cam interval 30." (If you specify "0", it tells the camera to stop automatically updating the database with snapshots.)

When you tell Domino.Remote:CAM to take a picture, you're actually telling Domino to create a new document in the database, record the user name, add the snapshot to the database, and broadcast a message that the picture is ready.

The Unseen action button marks unread snapshots in red, and the up and down arrows allow you to scroll the database and open snapshots, as well as view information such as a snapshot number, time taken, bitmap size, and location where the snapshot originated. In a later version, left and right rotate buttons will be implemented to allow you to move the camera.

Workstation Side Install

To run Domino.Remote:CAM on your Notes 4.5 workstation as a background task:

  1. Add the ncam.exe to the workstation operating your camera.
  2. Put the cam.nsf database file on any server on your network.
  3. Specify within your workstation notes ini file:$CamFile = servername !!CAM.NSF

Because this early version doesn't support an interface like console Tell commands on a workstation, you can add or change these Notes Ini variables:

$CamInterval=n
$CamKeep=n
$CamLog=1

Additional Audio Support

By the way, because we implemented sound for this application in order for you to hear the camera shutter, a side benefit is that you can now play .wav files in any Notes application you've developed. So, for example, you might want to add a Help button with some audio. To do this:

  1. Place the nsnd.dll and your wave file in the Notes executable directory.
  2. Create a Help button in your application and add the following LotusScript to the button:

(Declaration section)
Declare Sub PlayWAVFile Lib "nsnd.dll" Alias "#1" (Byval Wave As String)

(Event: Click)
PlayWAVFile ("wave file name")

And away you go!

What is it good for?

Helping to administer your Notes/Domino network is one good application for Domino.Remote:CAM, but there are countless potential business applications, some obvious, others more creative. We're hoping you'll give us some, but here are just a few ideas to tickle your imagination:

  • Place the camera in your lab so you can view a servers CRT at home.
  • Displaying trade show floor activities from a conference.
  • Monitor security, such as the lobby door, in a manner that will be integrated into your computer network, providing you with a history via an archive or searchable database (rather than a dumb monitor)
  • Monitor shop floor activities.
  • Monitor for potentially hazardous situations.
  • Improve efficiency, by physically eliminating steps to view the lab, clean room, or lobby.

How we built it

The add-in first opens up the cam.nsf, and then it opens the view, which holds the collection of bitmaps. We continually poll the database for any modifications with a routine called: NSFDbGetModifiedNoteTable(). This routine will execute with very little overhead.

When we detect a modification, we know a user wants a picture taken. We then take the picture, using Video for Windows (VFW). Once we capture the picture, we place the bitmap in a rich text field. The Notes API provides two ways to work with composite data: high level and low level. See the Notes documentation for further details.

Next, we create a document in the database. Then we update the view. On the workstation, you'll see the picture show up as an unread document; in addition we broadcast that the snapshot is ready for viewing.

Finally, we added a thread that purges documents based on how many you want to keep.

Other devices

Because of Notes ability to dynamically tell the server to do something from a remote location, there are lots of other things you can with different devices.

One idea we're prototyping is connecting to an LED Display so that a database of messages can be displayed for public viewing. This could be used for server administration, for example, indicating that a certain server is down, or for more general business or even retail uses.

Another device is BSR X-10 interface devices typically used to automate processes like turning on and off lights, alarms, computer systems, and more.

Copyright 1997 Iris Associates, Inc. All rights reserved.


Resources

About the author

Tom Hoey and Tom Gumz

Thomas Hoey (left) joined Iris three years ago from Digital and has primarily focused on back-end server projects. Tom thanks Thomas Gumz from Lotus for his graphic design of Domino.Remote:CAM.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Lotus
ArticleID=12706
ArticleTitle=In Focus with Domino.Remote:CAM
publish-date=03311997
author1-email=
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers