Simple Message Queue: IoT Messaging

SMQ enables you to 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.

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, a feature typically required in device management.

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.

Download SMQ

Online and Interactive Examples

The power of SMQ is best illustrated with some examples. As mentioned above, the SMQ broker can run in devices; however, our examples are designed for connecting to an online SMQ cluster. SMQ can be used with traditional cloud server providers such as Amazon (AWS) and Microsoft Azure. SMQ can also be used with a cluster setup based on round robin DNS, a setup that is low cost and avoids the single point of failure in the load balancer found in traditional cloud services.

SMQ IoT Cluster

Our setup is based on four Virtual Private Servers (VPS) running in four different datacenters in the USA. The four computers provide horizontal scaling and high grade fault tolerance. The DNS for the domain name simplemq.com translates to four IP addresses. We have also configured the DNS such that you can go to a specific server by entering http://nodeN.simplemq.com, where N is 1-4.

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.


SMQ Benefits:

  • 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 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.

SMQ References:

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