Barracuda App Server's (IoT) Protocols
The Barracuda App Server provides several ready-to-use protocols.
- SMQ - a suite of client and server protocols that makes it easy and fast to design modern, secure real-time IoT and Web of Things applications.
- MQTT Client - MQTT is a publish/subscribe messaging protocol.
- MQTT Sparkplug Client - The Sparkplug client is a Lua library designed to facilitate communication with an MQTT Server as per the Sparkplug 3.0 Specification. It primarily functions as an MQTT Edge of Network (EoN) Node.
- OPC-UA Client & Server - OPC Unified Architecture (OPC UA) is a machine to machine communication protocol for industrial automation developed by the OPC Foundation. The OPC-UA stack is a separate product not included by default with a Barracuda App Server delivery. However, the OPC-UA stack is included in the pre-compiled Mako Server.
- Modbus Client - The Modbus TCP client is an Ethernet implementation of the widely supported, widely used industrial Modbus protocol.
- HTTP(S) Client - The Barracuda app server's HTTP(S) client library.
- Mail (SMTP) Client - The SMTP library provides functionality for sending e-mail messages.
- WebSockets - originally designed for real time browser to server communication. However, WebSockets are also commonly used in IoT design.
- ACME - ACME Protocol - RFC 8555.
- JSON-RPC - The JSON-RPC client library provides a simple and easy way for web apps to interact with the server.
Introduction to IoT using BAS
The Barracuda App Server enables IoT edge devices to operate efficiently as network clients and network servers, securely connecting to cloud services and enterprise systems.
Key Protocols in IoT
HTTPS (REST APIs)
- The standard for event-driven data exchange with cloud platforms.
- Used for device telemetry, configuration updates, and OTA firmware updates.
- Secure via TLS (e.g., via SharkSSL).
MQTT (Message Queuing Telemetry Transport)
- Lightweight, pub-sub protocol ideal for low-power IoT devices.
- Devices connect to an MQTT broker (e.g., AWS IoT, Mosquitto) to publish sensor data or subscribe to commands.
- Uses keep-alive pings to maintain connectivity without high bandwidth usage.
WebSockets
- Full-duplex, real-time communication over a persistent connection.
- Ideal for interactive dashboards and low-latency control systems.
- BAS uses WebSockets to push updates instantly without constant polling.
OPC UA (Open Platform Communications Unified Architecture)
- Industrial IoT standard for secure, structured data exchange.
- Common in factory automation, SCADA, and industrial sensors.
- Operates over TCP with built-in security and client-server communication.
SMQ (Simple Message Queue)
- Designed for real-time device management, facilitating secure, efficient communication between devices and management interfaces.
- Operates on a publish/subscribe model with support for one-to-one messaging, enhancing control over message distribution.
- Integrated with BAS, allowing seamless deployment of the SMQ broker across various platforms, from embedded devices to cloud servers.
- Supports clustering for horizontal scaling and redundancy, ensuring robust and scalable IoT solutions.
- Ideal for tasks such as device discovery, configuration, initiating firmware updates, and remote control, streamlining IoT device management.