Zeroconf for Elphel cameras
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:
- An IP address (even when there is no DHCP server to assign one)
- Name-to-address translation (even when there is no DNS server)
- 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.
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