Download SMQ Source Code and Libraries


We provide several SMQ source code implementations for various programming languages.

Supported languages:
C and C++, Java/Android, JavaScript, and Lua.

SMQ C Client

The C code is designed for microcontrollers and can be used by RTOS and bare-metal (super-loop) systems. The code can also be used on HLOSs such as Windows and Linux. The following porting layers are included in the source code: FreeRTOS+TCP, Microchip Harmony, lwIP-netconn, lwIP-raw, uIP, MQX, ThreadX/NetX, POSIX (Linux), Windows.

Downloads:

Check out the SharkSSL IDE, which includes the secure SMQ client SharkMQ. A simple button click compiles the C source code and uploads the code to an ESP32. See the tutorial Beginner's Guide to Secure IoT Programming for details.

Compiling and running the SMQ stack and example C code

  1. Download the source code and follow the build instructions provided on GitHub.
  2. Navigate to the online SMQ LED page and keep the browser window open.
  3. Start the compiled SMQ client and notice the new IP address on the online SMQ LED page.
  4. You should see printouts in the compiled code's console when you click the LED buttons on the SMQ LED page.

SMQ Lua Client

The tutorial Your First IoT Project offers a practical and easy-to-follow introduction to using the SMQ Lua client library with an ESP32 microcontroller. It guides you through writing a Lua program that effectively uses SMQ for communication.

SMQ Java Client

The Java source code library (JavaSMQ) for standard Java and Android is available on GitHub. We also provide two source code examples, one designed for the Swing UI and one for the Android app. Both examples include the JavaSMQ stack, and both examples replicate the functionality found in the JavaScript SMQ LED demo.

Download:

SMQ JavaScript Client

SMQ.js is included in the Barracuda App Server and the Mako Server's resource file mako.zip. You can find SMQ.js in mako.zip/smq.js. The LED demo source code is included in the Mako Server's tutorials, in IoT.zip/smq/index.html.

SMQ Broker (Server)

The broker is implemented in Lua using Cosockets, and an instance of the broker runs on the Barracuda App Server's Lua runtime engine. The broker is included in the Mako Server's resource file mako.zip. The SMQ broker is in the source file mako.zip/.lua/smqbroker.lua. The broker setup code used by the LED demo is included in the Mako Server's tutorials, in IoT.zip/.preload and in IoT.zip/smq.lsp.

SMQ Broker Tutorials:

SMQ Tutorials

Tutorials for how to use SMQ, including a tutorial on the SMQ LED demo, can be found at the Mako Server Website.