IP-over-USB technology combined with a built-in web server means a device can be accessed from any host - Linux, macOS, and Windows. Users need only type the device’s name into the browser.
With a USB device, the default name is usb.local. However, serial numbers can be added and multiple device names can be assigned.
To the right is a screenshot of a web browser connected to a SEGGER J-Trace PRO, displaying what is currently happening: The page shown enables the configuration of the trace pin delays.
Now, end users have easier access to their devices than ever before. No setup program, driver or special knowledge is required: It simply works!
This technology is readily available for USB devices, adding more value and user friendliness. No need for keys or display on the unit., either: Any PC can be used to configure a device.
A device’s usability improves considerably with IP-over-USB technology. Instead of paper manuals, explanations can be displayed in a web browser.
It can also significantly reduce manufacturing costs. With printers for example, many will have a basic 2-line display - which can now be eliminated. In the case of headphones, some buttons may no longer be necessary. Manufacturers no longer have to design, provide or maintain host setup and configuration software.
Any USB device can benefit from this technology. In fact, we consider it a must-have for modern USB devices. IP-over-USB applications can be found in sectors like industrial control, medical devices, smart home devices, heating/climate control, consumer devices and more.
Have a look at the following examples:
Bluetooth Headphones: Most modern noise-canceling Bluetooth headphones come with a lithium battery that recharges via USB cable. This is typically a Micro-USB connector. While these device’s have great functionality, setting one up can be a challenge. There is often no display and usually only one or two buttons, including an ON/OFF switch. These devices must also be paired with a Bluetooth host and there may be a volume limit and other features that can be tricky to implement.
Thanks to SEGGER’s IP-over-USB technology, changing these settings is easy and intuitive. Anyone can do it – quickly - no manual required.
Printers: Web browsers offer the easiest way to get information from a printer. Browsers can explain why it isn’t printing, how many pages are printed, the amount of toner left, etc.
More importantly, it is also the easiest way to set it up: Paper type, paper format, print quality, IP address setup (for devices with additional Ethernet connectors), color and DPI settings can be selected through the browser.
Targets running emUSB-Device-IP are perceived by the host PC as network adapters. They can be used to create a USB to Ethernet converter which works when plugged in, without any drivers. It can also be used to create a virtual network between the PC and the embedded device. The latter makes USB device configuration available through a web browser. No need to waste time developing software for Linux, macOS or Windows to control and configure the device. emUSB-Device-IP simply lets the customer use the browser.
The PC recognizes a target running emUSB-Device IP as a network adapter. The PC then sees a virtual network created between the PC and the target.
An application which communicates via Ethernet-based protocols (browser, FTP client, TELNET client) can access the virtual network created emUSB-Device-IP the same way it accesses any other network.
For the application, the virtual network is transparent and is handled like any other Ethernet network. The application has no awareness of the underlying USB connection. Proven protocols and existing Ethernet applications can be used with USB-only devices.
Linux with kernel versions newer than 2.6.22 have full support for emUSB-Device-IP. macOS supports emUSB-Device-IP since version 10.4 (Tiger). Windows XP and newer also support this.
There’s no need to develop a host application on each of the major operating systems just to control a USB device. Instead, a web page can be created via Virtual Ethernet, enabling it to work on all three.
Create a simple, cost-efficient version of existing, Ethernet-enabled hardware by using emUSB-Device-IP to deliver IP-based services via USB.
Screenshot of the popular Linux distribution Ubuntu showing ping and the demo web page open in Firefox.
Safari showing a web page delivered with emUSB-Device-IP on macOS.
The ping utility and a demo web site running in Chromium on Windows 7. Implemented using emUSB-Device-IP.
|embOS||RTOS - Task, timer, event handling, etc.|
|emUSB-Device BASE + driver||The emUSB-Device base package providing basic USB functionality.|
The component which handles translation from USB to Ethernet.
|emNet PRO||Complete TCP/IP stack with all necessary add-ons, such as DNS server, DHCP server, web server, etc.|
How to control a USB device using a web browser
Understanding, compiling and modifying the IP over USB project demo
Establish a VNC connection between two embedded devices using IP-over-USB