Simple Message Queue (SMQ) is an easy to use "Internet of Things" IoT / M2M "Machine-to-Machine" publish subscribe (pub/sub) connectivity protocol designed and optimized for embedded systems. SMQ is an IoT protocol specifically designed for performing remote device management. With SMQ you can control any number of devices via one Mako Server instance. The Mako Server instance can be deployed in a private network or run as an online cloud server. You can also create a hybrid cloud/private network setup based on the SMQ cluster technology.
Commands for automatically downloading, compiling, and running the SMQ device example program:
The example program connects to our online broker. After testing with our online broker, change the URL in the C code, recompile, and test with your own broker (your copy of the Mako Server).
Have you ever wondered what is required for setting up your own complete secure and encrypted IoT solution, including the cloud server, the device source code, and selecting hardware for your device? If so, you may want to take a look at the collection of tutorials and software we have prepared for learning how to setup a complete secure/encrypted IoT client and server solution.
The solution includes renting a low cost online cloud server and using a low cost embedded development board. Renting an online cloud server will cost you as little as $8 a year and a device can be as low as $3. You do not need to invest in any additional tools or software. Our test results indicate that the low end cloud server (64Mbyte) is able to maintain 10,000 connected IoT devices, making the solution very competitive for small scale operations and for test/learning purposes.
Our recommendation is to use a low cost ESP8266 as the IoT device. The ESP8266, which can be purchased for less than $3, is a low cost WiFi SoC clocked at 80MHz. You may initially use the non secure SMQ client. It is somewhat easier to use the non secure SMQ client initially before moving on to using the secure SMQ client, if required. The non secure SMQ client for ESP8266 is available for the easy to use Arduino environment and the secure (SSL/TLS) SMQ client is available for esp-open-rtos, a FreeRTOS/lwIP based development environment. We provide an easy to use SDK for esp-open-rtos. The following video shows how to use the IDE.
The following video shows how to create SSL certificates for the IoT solution by using the Certificate Manager Tool that is included in the Mako Server tutorials. The video shows how to create an Elliptic Curve Cryptography (ECC) certificate for the server, how to install the certificate in the server, and how to make the clients connecting to the server trust this certificate. The Mako Server in this video is installed on a private/personal computer on a private network for test purposes. You can apply the same method when you create an ECC certificate for your online server. Setting up a dual certificate server is not included in the video; thus, refer to the above tutorials for the dual certificate procedures.
The Christmas Light Controller is a fun project that lets you provide public access to your outdoor lights during the holiday season. Perfect for homeowners, parties, café, restaurants, and church displays to let visitors select a number of lighting transitions.