“IoT Messaging made secure, trusted, and easy”
Source Code | No Royalties
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.
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 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.
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.
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 simplemq.com translates to two IP addresses. We have also configured the DNS such that you can go to a specific server by entering https://nodeN.simplemq.com, where N is 1 or 2. See the Interactive High-Availability IoT Cluster Tutorial for details.
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.
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.
Click any of the images below:
Control and supervise any number of devices from one web page, in real time, where all connected browser windows are synchronized.
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.
The following SMQ Weather Application video illustrates how a web-based user interface can be synchronized with the user interface in a device: