Minnow Server, a super small and fast embedded HTTPS (secure) WebSocket server, lets small microcontrollers with no external memory act as real-time web servers. The super small and secure Minnow Server is ideal for devices that are too small for standard web applications or our Barracuda Embedded Web Server.
The Minnow Server is ideal for most modern microcontroller-based systems, enabling you to web-enable even the tiniest device.
You decide where to store the web presentation logic by selecting one or all of the above options. Of course, the benefit of storing the web presentation logic off device is that it saves considerable space on the device and lets you easily modify the application without upgrading the firmware.
The Minnow Server is included in the SharkSSL package. The ZIP file plugin is available at an additional cost.
The Minnow Server is primarily designed for small micro controllers such as the Cortex-M3/M4 family, where internal memory is limited and using a full application server, such as the Barracuda Application Server, is not an option. Minnow Server is not recommended for larger embedded systems, where a full application server can fit into the memory.
Please send us an email if you have any questions on which applications best fit Minnow Server and when to use it.
Compressed web applications are typically only one-third of the original size and are loaded on demand by the browser without needing to be uncompressed on the device. The web pages are extracted from within the ZIP file and sent "as is" to the browser which then uncompresses the data received from the server.
The WebSocket protocol defined in RFC 6455 specifies how a standard HTTPS request/response pair can be upgraded to a secure and persistent full-duplex connection. HTML5 WebSocket-based applications enable real-time communication while placing less burden on the servers.
WebSockets is a relatively new standard that brings real-time communication to the web. WebSockets is supported by all modern browsers and is designed to provide a persistent full-duplex asynchronous communication channel over a single TCP connection.
|Not supported||Core feature|
|Moderate to large for embedded systems||Minimal overhead per WebSocket message|
Most embedded web device management applications currently operate by simply responding to user interactions. You click a button and this causes the browser to submit the data to the server. The server performs the command and responds with a new HTML page. This old technology works, but it is a very limiting model. You may have moved beyond the simple GET/POST submit button web design concept and embraced AJAX/REST. However, the fact remains that AJAX is still a one way asynchronous message sent from the browser to the server and any real-time updates you want to display in the browser require polling of server resources. You may still think AJAX and REST are the way to go; however, the entire AJAX protocol could be built using Websockets technology. This makes Websockets literally a superset of AJAX so it makes sense that we might abandon a limiting technology for a broader technology.
The fact that Websockets provide a bi-directional communication channel between the browser and server immediately opens up some very interesting opportunities for web based device management applications. Because the connection is persistent, the embedded web server can now initiate communication with the browser. The embedded web server can send alerts, updates, notifications, etc.. This adds a whole new dimension to the types of web based device management applications that can be constructed.
For a deeper understanding of how WebSockets can be used for device management, see our Barracuda App Server tutorial:
A Modern Approach to Embedding a Web Server in a Device. Note that the Minnow Server and the Barracuda App Server are two different products.
You may download and compile the WebSocket LED example program as seen in the above video.Download