On-Premises IoT Platform

How To Design an Enterprise IoT Solution On Your Private Network

An essential question that companies face when starting their IoT projects is whether to choose an on-premises or a cloud environment to run IoT applications and manage their devices and data.

Besides the fact that many private network installations cannot connect to the Internet or transmit data through a public cloud, there are many benefits to running on-premises IoT solutions. For one, a private network not connected to the Internet is more secure. Having a mission-critical IoT solution transmit and store data in a cloud environment introduces higher levels of security risks.

An On-Premises IoT Platform is installed and run on computer(s) on the premises (the private network) of the organization using the software, rather than at a remote facility, such as at a cloud server somewhere on the Internet. Create your own cost effective On-Premises IoT platform using our hardware agnostic IoT foundation.

On-Premises IoT

Figure 1: Wind turbines are typically interconnected within a private (non public) network.

Your On-Premises IoT Platform

Using the Barracuda App Server for on-premises IoT, edge, or private utility enables organizations to quickly build and deploy IoT solutions in private networks. Enterprises who cannot deploy to the open Internet or transmit data through a public cloud demand the security and control but still retain the IoT cloud platform benefits of developing integrated IoT applications quickly and securely.

Companies building On-Premises IoT solutions and products require a solid IoT foundation with industry standard protocols such as OPC-UA, Modbus, MQTT, HTTP, and REST.

Platform Agnostic IoT Platform

The Barracuda App Server is both hardware and operating system agnostic and can run on a wide range of operating systems, including (Embedded) Linux, QNX, VxWorks, Windows, macOS, Zephyr, FreeRTOS, INTEGRITY, ThreadX, Nucleus RTOS, embOS, RTXC, SMX, MQX, and RTOS-32.

SMQ On-Premises IoT Protocol

The Barracuda App Server includes an IoT protocol called SMQ in addition to many standard industrial protocols such as OPC-UA, Modbus, MQTT, and HTTP. SMQ resembles MQTT, but includes additional features beneficial to device management and supervision. SMQ can act as an IoT broker similar to an MQTT broker, but with the added benefit of also enabling the integration of industry protocols, HTTP, and application server technology in one easy to use package.

The following picture depicts how one SMQ broker can manage and supervise many devices such as actuators and sensors. These devices do not run the Barracuda App Server, but use the SMQ C Client Library when connecting to the broker.

SMQ IoT Broker

Figure 2: One HMI managing and supervising many MCUs via SMQ.

Hands-on Example & Tutorial

The example to the right is from the article Modern Approach to Embedding a Web Server in a Device, which provides an innovative design pattern for controlling on-premises actuators and sensors using SMQ.

You will see multiple light switches to the right if other users are viewing this page. Only one switch belongs to you. See the article for details.

Large Scale Operations

One of the benefits with the SMQ protocol is that one can control and supervise any number of devices using the same client. The server hosting the SMQ broker also becomes an SMQ client when a custom Lua application is installed on the server side. The SMQ broker includes a cluster plugin enabling any number of Barracuda App Server powered products to communicate using the cluster bus.

On-Premises IoT for Wind Turbines

Figure 3: Barracuda App Server powered products interconnected using the SMQ cluster bus.

The SMQ cluster technology includes a ready to use autodiscover plugin, enabling Barracuda App Server powered products to automatically connect to the SMQ cluster bus. See the IoT Cluster Demo for a hands-on cluster bus tutorial.

See the online SMQ documentation for additional on-premises IoT use cases.

Easy On-Premises IoT Deployment

The Barracuda App Server is an embeddable C source code library and can be embedded in a larger program or firmware. However, when using a high level operating system such as (embedded) Linux, QNX, VxWorks, and Windows, the ready to run Barracuda App Server bundle called the Mako Server makes deployment super easy.

Mako Server

Figure 4: Mako Server, a ready to run Barracuda App Server executable.

Mako Server deployment is particularly easy since all features, including the database, are integrated in one executable. Your own custom Lua application is deployed as a standard ZIP file.

Platform Agnostic Edge Controller Software

The Barracuda App Server also provides a solid edge controller foundation. See the Industrial Edge-Controller Software page for details.

Edge Controller

How To Get Started With On-Premises IoT

The Mako Server includes an IoT example designed for being installed on your own computer. See Installing The SMQ Broker On Your Own Computer for details.

Discover More:

Whether you are a maker, a startup, or a large business, we've got you covered. Please send us an email if you have any questions or if you are unsure on what product to select. We are here to help you find the best solution, and we'd really like to help you with your hardware/software project challenges.


OPC-UA Client & Server

An easy to use OPC UA stack that enables bridging of OPC-UA enabled industrial products with cloud services, IT, and HTML5 user interfaces.

Edge Controller

Edge Controller

Use our user programmable Edge-Controller as a tool to accelerate development of the next generation industrial edge products and to facilitate rapid IoT and IIoT development.

On-Premises IoT

On-Premises IoT Platform

Learn how to use the Barracuda App Server as your On-Premises IoT Foundation.

Embedded Web Server

Barracuda Embedded Web Server

The compact Web Server C library is included in the Barracuda App Server protocol suite but can also be used standalone.

WebSocket Server

Microcontroller Friendly

The tiny Minnow Server enables modern web server user interfaces to be used as the graphical front end for tiny microcontrollers. Make sure to check out the reference design and the Minnow Server design guide.

WebDAV Server

Network File System

Why use FTP when you can use your device as a secure network drive.

HTTP Client

Secure HTTP Client Library

PikeHTTP is a compact and secure HTTP client C library that greatly simplifies the design of HTTP/REST style apps in C or C++.

WebSocket Client

Microcontroller Friendly

The embedded WebSocket C library lets developers design tiny and secure IoT applications based on the WebSocket protocol.

SMTP Client

Secure Embedded SMTP Library

Send alarms and other notifications from any microcontroller powered product.

Crypto Library

RayCrypto C Library

The RayCrypto engine is an extremely small and fast embedded crypto library designed specifically for embedded resource-constrained devices.

Embedded PKI Service

Automatic SSL Certificate Management for Devices

Real Time Logic's SharkTrust™ service is an automatic Public Key Infrastructure (PKI) solution for products containing an Embedded Web Server.


Modbus TCP client

The Modbus client enables bridging of Modbus enabled industrial products with modern IoT devices and HTML5 powered HMIs.

Posted in Whitepapers