SMQ is an easy to use machine-to-machine (M2M)/"Internet of Things" connectivity protocol that follows the publish subscribe design pattern.

Dependencies:   EthernetInterface mbed-rtos mbed

Introduction

The SMQ Architecture is an Internet of Things (IoT) publish subscribe end-to-end solution that is optimized for embedded systems to provide instantaneous Device Edge Node connectivity, 1 to 1 Communications, and Ease of Transcending Firewalls. The solution is ideal for resource constrained devices that require real-time dynamic control, analytic information, and firmware updates in both LAN and WAN environments.

Architecture Component List

  • SMQ C Client (Non-secure)
  • SharkMQ (Secure) C Client
  • SMQjs (Javascript)
  • SMQ JAVA
  • SMQ Broker

/media/uploads/wini/smq_architecture.png

SMQ Client-example

A (non-secure) C Client implementation of the SMQ protocol demonstrating device control over the on board LEDs via any modern (WebSocket enabled) Browser interface.

  • Code Size: 3kB

See Also

How to setup your own SMQ IoT cloud server

Most IoT cloud server solutions, whether they provide ready-to-use hosted services or not, are based on a standard Virtual Private Server (VPS). Most developers probably think of Amazon or Microsoft Azure's services when considering the server side of their IoT solution. These high-end services are great if you need to scale up to millions of connected devices. However, for most small-scale operations and DIY projects, a low-cost VPS is more than adequate.

Committer:
wini
Date:
Mon May 23 14:13:28 2016 +0000
Revision:
5:bfd98bf43a59
Parent:
0:bd3aeb15634e
Updated to include latest mbed release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wini 0:bd3aeb15634e 1
wini 0:bd3aeb15634e 2
wini 0:bd3aeb15634e 3 SimpleMQ C Client library
wini 0:bd3aeb15634e 4
wini 0:bd3aeb15634e 5 ------- License:
wini 0:bd3aeb15634e 6 The source code is released under the Eclipse Public License
wini 0:bd3aeb15634e 7 http://en.wikipedia.org/wiki/Eclipse_Public_License
wini 0:bd3aeb15634e 8 https://www.eclipse.org/legal/epl-v10.html
wini 0:bd3aeb15634e 9
wini 0:bd3aeb15634e 10
wini 0:bd3aeb15634e 11 ------- Documentation:
wini 0:bd3aeb15634e 12 https://realtimelogic.com/ba/doc/?url=SMQ.html
wini 0:bd3aeb15634e 13 https://realtimelogic.com/ba/doc/en/C/reference/html/group__SMQClient.html
wini 0:bd3aeb15634e 14
wini 0:bd3aeb15634e 15
wini 0:bd3aeb15634e 16 ------- Compiling:
wini 0:bd3aeb15634e 17
wini 0:bd3aeb15634e 18 Build instructions for Windows, Linux, and embedded systems:
wini 0:bd3aeb15634e 19
wini 0:bd3aeb15634e 20 The VcMake directory contains Visual Studio build files. You can
wini 0:bd3aeb15634e 21 download the compiler here:
wini 0:bd3aeb15634e 22 http://www.visualstudio.com/en-us/downloads#d-2010-express
wini 0:bd3aeb15634e 23
wini 0:bd3aeb15634e 24 The included Makefile compiles the library and the example program on
wini 0:bd3aeb15634e 25 any Linux computer.
wini 0:bd3aeb15634e 26
wini 0:bd3aeb15634e 27 You can compile the code for the supported embedded systems. See
wini 0:bd3aeb15634e 28 src/arch/README.txt for details.
wini 0:bd3aeb15634e 29
wini 0:bd3aeb15634e 30 The example code m2m-led.c requires porting to your embedded board's
wini 0:bd3aeb15634e 31 LED(s).
wini 0:bd3aeb15634e 32
wini 0:bd3aeb15634e 33 Additional libraries:
wini 0:bd3aeb15634e 34 SimpleMQ can be used in combination with our JSON library:
wini 0:bd3aeb15634e 35 https://realtimelogic.com/products/json/
wini 0:bd3aeb15634e 36