Secure IoT Protocol

SMQ lets you control and manage one to millions of devices in real time from the same user interface. SMQ, which is based on industry standard protocols, can be integrated into anything from tiny devices to cloud server solutions. User interfaces can be designed in HTML5 or Java (including Android).

SMQ lets developers quickly and inexpensively deliver world-class management functionality for their products. As an enterprise ready IoT protocol, SMQ provides easier control and management of products on a massive scale.

Easy Real-Time IoT Device Control

SMQ, based on the publish - subscribe pattern, provides features similar to other pub/sub protocols such as MQTT. However, SMQ extends the pub/sub pattern with additional features such as one-to-one messaging and sender's address, features typically required in device management.

SMQ IoT Broker

SMQ is similar to MQTT in that all messages are exchanged via a broker. The SMQ broker is part of the Barracuda App Server and runs on anything from embedded devices to cloud servers. SMQ supports clustering, thus enabling horizontal scaling and redundancy. Clustering can also be used for bridging an embedded device running the Barracuda App Server on a private network with an online cloud server solution.

Security is paramount in any modern IoT solution, and SMQ, built from the ground up with security in mind, provides strong authentication and message authorization. SMQ is also designed to be invisible to port scanners.

Build Your Own Cost Effective IoT Platform

The SMQ technology lets you easily set up your own IoT server(s) and host your own services either online on the Internet or on your own private network. You will be surprised to find out how easy and reasonable it is to operate a private IoT server on the Internet. The benefit with a privately owned IoT server is that you are not getting locked into any particular IoT service provider.

Use SMQ if you care about the environment and the carbon emission impact created by CPU intensive software which demands ever more data centers. By using SMQ you not only help save the environment, but your own IoT cloud services cost. See the tutorial How To Set Up an Environmentally Friendly IoT Solution for details.

To illustrate how easy it is to setup SMQ services on the Internet, check out our elastic SMQ cluster demo. You may of course use SMQ with traditional cloud server providers such as Amazon (AWS) and Microsoft Azure; however, SMQ is very flexible and lets an IT person install the services on virtually any type of server.

SMQ IoT Cluster

The above figure depicts an SMQ cluster with four brokers; however, our online cluster example consists of two brokers. The two computers provide horizontal scaling and high grade fault tolerance. The DNS for the domain name translates to two IP addresses. We have also configured the DNS such that you can go to a specific server by entering, where N is 1 or 2. See the Interactive High-Availability IoT Cluster Tutorial for details.

On-Premises IoT Platform

SMQ together with the Barracuda App Server's integrated industrial protocols provide a solid foundation for anyone designing on-premises IoT solutions. See the tutorial Designing an On-Premises IoT Solution for details.

On-Premises IoT for Wind Turbines

SMQ Benefits

  • Hardware and platform agnostic
  • Enables easy IoT management of microcontroller based device solutions such as sensors and actuators
  • The SMQ Broker may run "as is" on top of an Application Server or a derivative Web Server product
  • Application programmers may optionally create server side applications to communicate with browsers using standard HTTP(S)
  • Easily bridge with other protocols such as OPC-UA, MQTT, HTTP, and REST
  • Real-Time Web Socket connections are accessible via the SimpleMQ-JS JavaScript library, which simplifies the interface
  • Enables easy IoT traversal of firewalls and proxies since communication is initiated over HTTP(S)
  • Server side code can be enabled to analyze incoming requests and act on them accordingly
  • Port requirements are minimized to standard ports 80 and 443 without the need for additional listening ports
HTTP to IoT Upgrade

Broker instances are created programmatically on the server using Lua Server Pages. Since SMQ initiates the connection using HTTP(S), each broker instance is set up with a unique URL making it both easy and convenient to have one broker instance per customer. Isolating broker instances per customer greatly simplifies access control management design. Broker instances are super light and the server can harbor any number of instances.

Hands-on SMQ Tutorials

Click any of the images below:

SMQ Chat Demo

Web based chat client implemented in HTML5 and JavaScript. To test the demo, open two browser windows. The two initial links below open the chat client on two different cluster nodes. Notice how the SMQ protocol transparently manages messages across the two cluster nodes.

Device LED Control

Control and supervise any number of devices from one web page, in real time, where all connected browser windows are synchronized.

Weather App

The SMQ Weather Application illustrates how a web-based user interface can be synchronized in real time with the native user interface in a device.

Christmas Light Controller

The Christmas Light Controller is a fun project that lets you provide public access to your outdoor lights during the holiday season. This is a DIY project and does not connect to the online SMQ cluster. The DIY instructions show how easy it is to setup your own online server.

Additional SMQ Tutorials & References

The following SMQ Weather Application video illustrates how a web-based user interface can be synchronized with the user interface in a device:

Get started with SMQ