MQTT Pub/Sub Architecture

Expand Image Larger

Using a Publish/Subscribe pattern in AWS IoT, with the advertising wearable being a subscriber, it is possible to develop a scalable technology stack which can handle millions of wearables and billions of advertising wearable messages.  In addition AWS is popularly used and has a high availability of programming talent. (Diagram Correction Linux)


The architecture should communicate using MQTT, which is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol which can transport over HTTP.  On AWS we recommend use of a WebSocket protocol.


The next layers of the stack can be thought of to reside inside the wear’s phone apps which consume the SDKs for iOS and Android, connecting AWS IoT to a device with a JavaScript/Node.js framework.


There may be opportunities for the use of JSON, a Rest API and Python in the stack.




Fortunately we have a Nordic nRF51822 chip in our wearable,   refer to the Adafruit Feather M0 Bluefruit LE reference links for our prototype.


Currently in the prototype we are using the UART protocol for communication between phone and wearable.  VERY IMPORTANT TO REMEMBER: Also there is potentially to use BLE Beacons as part of some business use cases yet to be defined, allowing for some future flexibility in the business model.




Finally, as alternatives there are always many ways to solve a problem, it should be noted that Samsung’s ARTIK Cloud may also present a viable architectural solution to the technology platform needs, both specific and dynamically for the evolving business plans.  Rules in the cloud on ARTIK allow the cloud to be controlled in a declarative programming language.


Important Links for Technology Stack







Publish–subscribe pattern


Cloud Stack AWS IoT


AWS IoT Now Supports WebSockets, Custom Keepalive Intervals, and Enhanced Console




MQTT over the WebSocket protocol

SDK for connecting to AWS IoT from a device using JavaScript/Node.js


Adafruit Feather M0 Bluefruit LE




Nordic nRF51822 BLE Beacons


General FAQ: Data Models for IoT


Open Questions

  1. Is it possible to use Python to write cross-platform apps for both iOS and Android?


This content is restricted.