Download Barracuda Application Server and Tutorials

The Barracuda Application Server provides all the tools necessary for developers to deliver fast, secure, GUI-rich embedded web server applications on compact, low-power devices. The Barracuda Application Server incorporates two server-side scripting languages for designing device-management web applications: C/C++ Server Pages (CSP) and Lua Server Pages (LSP). This combined demo and tutorial focuses on LSP and Lua.

Download Instructions

Download:
Select Operating System:


The download will not function unless you enable JavaScript in your browser.

Embedded.com, the resource for everything embedded, published two articles for our Barracuda Application Server demo. The two part article is available via the following links:

Highlights from the included tutorials are:

  • HTML Forms and LSP for Beginners:
    In this tutorial, we look into the basics of server side web scripting and how you can use HTML forms for sending data from the browser to the server.

  • Ajax For Beginners:
    This tutorial provides a working example for the RTC Magazine article we had published in December 2011.

  • WebSocket for Beginners:
    WebSocket is a web technology providing a full-duplex communication channel over a single TCP connection. The communication is initiated by using a standard HTTP request which is then morphed into a persistent full-duplex link. This link is similar to a standard TCP connection except that WebSocket is frame based, i.e. packet oriented. Since WebSocket is initially starting out as a HTTP or HTTPS request, WebSocket can be made to bypass proxies and firewalls. WebSocket is also secure if the communication is initiated over HTTPS.

  • Secure IoT (Cloud) Server:
    Learn how to set up your own secure IoT Server/broker, how to create X.509 certificates, and how to validate the certificate by the connected devices.

  • Dynamic Navigation Menu:
    Most web applications include more than one page and it is common to include a menu either on the top of each page or on one side of each page. More complex web applications may include sub menus that are either drop down menus or sub menus created on, for example, the left side of each page. This tutorial gives you a practical introduction in designing your embedded web application's theme and navigation menu.

  • Send e-mails using the SMTP library.

  • Create high-level secure socket applications using the high-level socket library.

  • Use the PikeHTTP (HTTP client library) for M2M communication

  • Set up an advanced inter-process communication channel using the high-level socket library and JSON.

  • An HTML5 Pac-Man game running in a browser and controlled via a telnet client.


Additional Tutorials

The following tutorials can be downloaded separately and loaded by the demo server as follows:

wfs -l::demo.zip

Replace the name demo.zip above with the name of the downloaded ZIP file.

You can also unpack the examples into a directory and load the examples as follows: wfs -l::dir-name, where dir-name is the directory where you unpacked the ZIP file. Unpacking the tutorials enables you to experiment with the code.

Authentication

A collection of practical examples that show how to use the Barracuda Embedded Web Server Authentication Mechanism.

  1. Download authentication.zip
  2. Unpack the ZIP file
  3. Open and read README.html

Firmware Upload

We provide two firmware upload and installation examples. The examples show how to implement drag and drop upload in addition to standard form based upload. Most modern browsers support drag and drop upload where the file can be dropped directly into the browser window.

  • BlockingUpload.zip Shows how to use the blocking upload API (easy example)
  • AsyncUpload.zip Shows how to use the non blocking (asynchronous) upload API (advanced example)

The examples can be used as a template for how to design logic for uploading data and/or how to use ZIP files for firmware upgrades. Barracuda supports AES encrypted ZIP files, thus making it easy to design firmware upgrade logic based on ZIP files.