Zeroconf for Elphel cameras

From ElphelWiki
Jump to: navigation, search

Elphel Network Cameras Manual


Using the cameras | Camera software | Camera hardware | Diagnostic and repair | Development documentation | Information | Glossary | About Elphel, Inc


Photo-finish | Zeroconf for Elphel cameras | Elphel cameras and Zoneminder | USB host interface | Motorized lens control | Outdoor enclosure


Zeroconf for Elphel cameras

mDNSResponder can be used on Elphel cameras.

The mDNSResponder project is a component of Rendezvous, Apple's ease-of-use IP networking initiative: http://developer.apple.com/macosx/rendezvous/

Apple's Rendezvous software derives from the ongoing standardization work of the IETF Zero Configuration Networking Working Group: http://zeroconf.org/

The Zeroconf Working Group has identified three requirements for Zero Configuration Networking:

  1. An IP address (even when there is no DHCP server to assign one)
  2. Name-to-address translation (even when there is no DNS server)
  3. Discovery of Services on the network (again, without infrastucture)

The mDNSResponder project allows us to meet requirements 2 and 3. It provides the ability for the user to identify hosts using names instead of dotted-decimal IP addresses, even if the user doesn't have a conventional DNS server set up. It also provides the ability for the user to discover what services are being advertised on the network, without having to know about them in advance, or configure the machines.

The binary version can be downloaded from http://stvs.ch/dl/mDNSResponderPosix under Apple Public Source License http://www.opensource.apple.com/apsl/

We can announce for example our camera's http interface by Zeroconf:

/etc/zerocam.conf:

Elphel333
_http._tcp.
80
name=elphel

We can also announce other services like telnet, ssh, ftp, RTP multicast, ...

/etc/conf.d/mdnsresponder:

MDNS_OPTIONS="-f /etc/zerocam.conf -b"

/etc/init.d/mdnsresponder:

#! /bin/sh

. /etc/init.d/functions.sh
. /etc/conf.d/mdnsresponder

case "$1" in
        start)
                begin "Starting mDNSResponder server"
                start_daemon /usr/local/bin/mDNSResponderPosix $MDNS_OPTIONS
                end $?
                ;;
        stop)
                begin "Stopping mDNSResponder server"
                stop_daemon /usr/local/bin/mDNSResponderPosix
                end $?
                ;;
        *)
                error "Usage: $0 start|stop"
                ;;
esac

exit 0