eCosPro-mDNS - an mDNS responder for the eCosPro RTOS
eCosPro-mDNS is an optional middleware package for the eCosPro RTOS that provides Zeroconf networking support.
Installing, configuring and using embedded devices on a local area network can be a complicated affair. Setting up static IP addresses, administering DHCP and DNS, finding and configuring a device on the network, understanding what services devices provide and accessing the devices from a wide range of different client operating systems - all these aspects can be onerous, awkward and downright difficult for your typical home or small business user. In an ideal world anyone should be able to simply connect a device to their network, turn it on and start using it immediately.
Zeroconf networking technologies simplify the whole process of installing, administering and accessing networked devices. IP addresses are automatically assigned whether or not a DHCP server has been configured. Devices and the services they provide are identified by human readable names rather than MAC, IP addresses or port numbers - and without any requirement for a locally administered central DNS server. Users can easily browse their local network to see what named devices and services are available. Applications can search the network and automatically find the devices and services they wish to connect to and interact with.
Imagine building a eCos-based networked device that can be controlled, for example, using iOS and Android based smartphones and tablets. Users simply plug your device into their network and switch it on, then install and open your custom control app on their smartphone or tablet. The app would make use the Zeroconf API support built-in to these client operating system to browse the network and locate the new device. Once located the app opens communications directly to the device to control and read/write data as desired. The end result is a device that is remarkably easy to install and can be controlled via a modern touch-based interface. Potential applications include security systems, smart home applications, multi-media devices - any type of device that could benefit from straightforward LAN connectivity and remote control.
Zeroconf Benefits for embedded devices
- Zero effort installation and administration of networked devices on a LAN
- Easy identification of devices due to use of human readable naming
- Simple browsing of local network to locate devices and services
- Straighforward device location and control for apps running on a variety of client operating systems
Google TechTalk - Introduction to Zeroconf
Dr. Stuart Cheshire, Distinguished Scientist at Apple and the father of Zeroconf
This package, and an associated updated lwIP network stack, together provide eCos support for zero configuration networking (Zeroconf) related technologies. This includes link local addressing, multicast DNS (mDNS) and DNS service discovery (DNS-SD). Apple refer to this group of networking technologies by their trademarked "Bonjour" name. You can essentially treat Bonjour as a commercial synonym for Zeroconf.
The key functionality provided is the "mDNS responder" that runs on the eCos-based device. This component is responsible for setup and administration of the device hostname, publishing services and handling incoming DNS-SD requests. The package does not support the generation of client-side DNS-SD requests so cannot itself directly locate other Zeroconf-based devices and services on the network.
- IETF open standards based implementation
- Apple Bonjour Conformance Test certified
- Tested against wide range of DNS-SD clients including iOS™, Android™, Bonjour on Windows™, Avahi on Linux™ and OS X™.
- Provides complete server-side mDNS responder implementation
- Compact memory footprint with minimal RAM usage
- Typical resource usage is around 14KB code (architecture dependent) and 200 bytes of RAM
- Numerous configuration options provided to tune functionality and footprint
- Automatic or manual control over hostname to manage multiple identical devices
- Services can be added and removed dynamically
- Supports static, IPv4LL link-local (auto-ip) and DHCP IP address assignment
- Compatible with both IPv6 and IPv4 based networks
- Examples and test code included
- Server-side mDNS responder only - does not provide client-side DNS-SD access to other devices
- Link local scope only - limited to use in LAN environment
eCosPro-mDNS is supplied as a standard installable and configurable eCos EPK module. Full source code and documentation are included along with engineering technical support. The royalty free license allows for an unlimited number of deployed units per specified product. Requires eCosPro version 3.1.32 or later for updated lwIP support.
For additional technical details please read the eCosPro-mDNS related chapters of the eCosPro online documentation. For questions regarding the eCosPro-mDNS package, including pricing, technical or commercial issues, please contact us for a detailed discussion.
Bonjour logo used with permission from Apple Inc. Bonjour, iOS and OS X are registered trademarks of Apple Inc. Android is a registered trademark of Google Inc. Windows is a registered trademark of Microsoft Inc. Linux is a regsitered trademark of Linus Torvalds.