MQTT is a very important protocol in IIoT. It’s light-weighted, open and simple, which is very suitable for transferring continuous data. However the user needs to spend extra cost to plan and maintain the MQTT server.
Most of the cloud server suppliers support MQTT now, but there are few differences between the communication mechanisms. In order to let the user use MQTT more easily, Weintek supports several cloud servers such as Amazon Web Service, Microsoft Azure, IBM Watson, Aliyun. So Weintek users will be able to choose the cloud server and focus on data collection, without maintaining the MQTT server.
In the cloud servers above, Weintek provides more supports on Amazon Web Service IoT(AWS IoT). The standard protocol of MQTT is mainly for receiving the data, which is not very convenient for controlling the devices. AWS IoT provides better control mechanism, which Weintek user can arrange HMI to receive and send the data or control the devices. For the users who have never used IIoT server, AWS IoT will be a better choice to get start with.
The following section introduces the mechanism of Amazon Web Service IoT, so the user can understand how to use it.
Shadow is the place where AWS IoT server saves MQTT data. You can imagine it as the hard drive of PC. Data sent by sender will be saved in the shadow of AWS IoT server. Then the data in the Shadow will be provided to the data receiver.
When data receiver is offline, the data will be kept in Shadow. After data receiver is online, AWS IoT server will send the data to receiver.
A device that sends MQTT topics can be defined as a Thing. Thing is like the path of PC. Sender needs to set the path (Thing), and saves the data in Shadow. Data receiver also needs to know the path (Thing) to acquire the correct data saved in Shadow.
Each Thing contains multiple MQTT topics, data receiver can choose the Thing to get all the data from the device corresponding to the Thing, or subscribe any single topic in the Thing.
Mechanism of AWS IoT
The command sends data to AWS server from the device is called Reported.
The command sends from AWS server to the device is called Desired.
The following example uses thermal controller to explain Reported and Desired. The thermal controller will set the Reported command, which tells data receiver the temperature is 36ºC. Then data receiver changes the temperature to 28ºC and sends Desired command to thermal receiver. At last the thermal controller sends final result 28ºC to data receiver through Reported command.
Through the mechanism of Desired, AWS IoT can support multiple users changing the data of device, which provides a more complete control mechanism than standard MQTT.