Using the SpringCore device over MQTT

MQTT is a lightweight machine-to-machine connectivity protocol. It is an open standard (OASIS and ISO/IEC 20922) that is widely used for IoT applications.

The SpringCore device is a MQTT client that connects to a MQTT broker (or server). The TCP channel may be protected by TLS (MQTTs mode).

MQTT shall not be considered as a way of using the SpringCore device per se. MQTT is only a communication channel between the device and the host that controls, or uses, the device. There are two reasons for operating the device through MQTT, instead of connecting directly using a classical TCP client/server mode:

  1. There are a plenty of MQTT client libraries available for virtually any programming language; using MQTT as the underlying communication channel and a simple semantic reduces the complexity of writing a custom host software to control the SpringCore devices in most situations.
  2. The MQTT broker is a kind of rendez-vous server, that allows a host to control many devices without requiring a direct TCP/IP link. This makes it possible to put the devices and possibly the host on private networks, behind NAT routers, and suppresses the need for complex network configuration. It is even possible to go through a 'public' MQTTs broker in the cloud.