$whoname
Greg's requirements for camera wireless network connectivity
a computer person's view
Greg's photography pages
Greg's photo albums
Greg's photos
Greg's photo index
Groogle

Work in progress
Work in progress

Many modern digital cameras have network connectivity. This is an excellent idea, but the implementations I have seen leave much to be desired, and I've been accused of complaining rather than suggesting a better way.

OK, this is the suggestion. It's currently a work in progress trying to define what is needed and how it should be achieved.

In this page I'm currently talking about “real” cameras, not smart phones and tablets, though ultimately I want to find a solution that doesn't distinguish between them. Expect to see this distinction disappear when I'm done.

Constraints XXX

Computer networks have been around for half a century. We don't need to invent them, let alone reinvent them. Until proof of the contrary, whatever we do should be within the framework of existing network functionality. In particular:

Connecting to the net

The following discussion simplifies network concepts to fit in the kind of environment where a camera is used. The protocols described are much more flexible than mentioned here, but it's cumbersome to mention things that aren't of relevance XXX.

The link level

The network link level describes a direct connection between two devices. It comes in two parts: theyphysical connection, and how the devices communicate across that connection. Physical connections relative to cameras are:

The logical link is defined by the Ethernet protocol, which can connect a large number of devices directly with each other. This is the case if the device is connected to a switch or a Wi-Fi access point. It can't communicate beyond this point; for that you need the Internet protocol (IP). This requires an IP address, which is normally assigned by the Dynamic Host Configuration Protocol (DHCP), which also a gateway address to tell the device how to access non-local devices.

With cable connections, it's clear which network you're connecting the device to. In the case of Wi-Fi, there's an additional step: decide on which network to connect to. That's defined by the SSID.

Independent of the physical link level, much of the connection is the same. The logical link uses the Ethernet protocol. This provides a direct connection to all the really need to know about the Ethernet protocol is that it doesn't automatically mean an Internet protocol connection. which interfaces with the Internet protocol (IP). there are two ways to connect to a network. I'm assuming the Ethernet protocol and the Internet Protocol (IP), since there really isn't any alternative any more. This even applies (at least theoretically) to USB connections. In each case the procedure requires allocation of an IP address. It should also describe the network topography (how do I get from here to another, non-local device?) and impose sufficient security to avoid abuse.

In the case of cable connection, the first part of the network topography is defined by the cable: it's immediately obvious where the device is connected to. It could be an individual computer or a network switch. In the case of a Wi-Fi link, further steps are needed, which I'll look at below.

Once the Ethernet link has been established, the

Functionality

Need not all be the same device.

What can a network connected camera do? Currently I can think of three main things: image transfer, GPS tagging and remote control. There could be others, which I shall also discuss below.

Image transfer

One of the most important and obvious functions is to be able to move images between the camera and other places. With film cameras, this was physical: after exposure, the film was removed from the camera and processed. With digital cameras, this became simpler: either the memory card was (temporarily) removed and read into another device, usually a computer, or the data was copied out via a USB cable. Either method also allows transferring images to a camera.

With networks, this function is essentially the same, just the connectivity is different. Some few cameras have Ethernet connectors, which is really not very different from USB. In each case you need a cable, and to download the images you just use different software. The big difference is that with a network you don't necessarily have to download to the device at the other end of the cable: it can be anywhere on the network. If you're connected to the Internet, it can be anywhere in the world.

Wi-Fi offers one advantage over the cable: no cable. Apart from that, there's very little difference from wired Ethernet. Even the protocol is the same. The only difference is that instead of plugging in a cable (and thus determining the network topology), you need to connect to an access point. This already works well with smart phones and tablets.

Very few cameras have wired Ethernet, so for the rest of this page I'll concentrate on WiFi and its issues.

GPS tagging

Most smart phones and tablets have GPS hardware, which means that the GPS coordinates can be included in the image. For confidentiality reasons this is optional: people don't always want to publish the location where the photo was taken.

Most standalone cameras don't have GPS hardware, though this many change. So it makes sense to get this information from a nearby device with GPS hardware. In my experience this works well.

Remote control

Another function that can be performed by a network device is remote control of the camera. A simple use would be for when the camera is mounted in a position where access to the controls and viewfinder is limited:


This should be Begonia-photography.jpeg.  Is it missing?
Image title: Begonia photography          Dimensions:          3024 x 4085, 2736 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Monday, 16 January 2017, thumbnails          All images taken on Monday, 16 January 2017, small
Diary entry for Monday, 16 January 2017 Complete exposure details

   
This should be Begonia-photography-detail-2.jpeg.  Is it missing?
Image title: Begonia photography detail 2
Complete exposure details
Dimensions: 604 x 631, 117 kB
Dimensions of original: 604 x 631, 117 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Monday, 16 January 2017:
thumbnails    small images    diary entry

Here it's nice to have the camera controls duplicated on something—again, for example, a smart phone—so that you don't have to grovel on the ground.

But that's not all. The autofocus and exposure algorithms for cameras are a tradeoff between easy use, easy programmability and understandability. Once you have removed the function from the camera itself, you can potentially write more complicated programs that handle focus and exposure differently. To my knowledge no manufacturer has releaste this kind of functionality.

Other functions

Other functions

Apart from the Big Three, there are a number of other functions worth considering:

Security

One of the big issues with wireless networking is security. How do you ensure that nobody gets access to your camera or the images flying through the air? Clearly you need to encrypt the data, but how do you stop third parties accessing the camera?

This problem has been solved for decades, but for some reason camera manufacturers seem to have had big problems with it. For me, the obvious way is, analogously to smart phone usage:

How much camera-specific software do you need for that? Very little, just something

And that's it. But for some reason, people don't do it that way.

Status quo: Olympus OM-D E-M1

My first exposure to networked cameras was the Olympus OM-D E-M1. It has WiFi hardware along with software which allows it to communicate with a smart phone. Unlike the method described above, it

Current challenges


Greg's home page Greg's diary Greg's photos Copyright

Valid XHTML 1.0!

$Id: Network-requirements.php,v 1.1 2017/01/28 06:49:58 grog Exp grog $