REST is a representational state transfer architectural style designed as a request/response model that communicates over HTTP. MQTT is a publish/subscribe model that runs over TCP/IP sockets or WebSockets. MQTT over WebSockets can be secured with SSL. You can choose to update data to a ThingSpeak™ channel either using a REST GET or POST request or using MQTT Publish method. You retrieve channel data using a REST GET request or MQTT Subscribe.
In these scenarios, it is useful to use REST calls to update or retrieve data from a ThingSpeak channel.
You need to retrieve any historical data, such as data within a defined time range.
You want to Create Channel
, Read Settings, Clear Channel
, Delete Channel, or Create Chart.
You need a response for your GET or POST request.
In these scenarios, it is useful to use MQTT to update data to a ThingSpeak channel.
Your device is power-constrained, and you want lower battery consumption to send data to ThingSpeak. Also, an MQTT PUBLISH operation is typically faster in this scenario.
Your device connectivity is intermittent, and you have limited bandwidth usage.
You want immediate updates of data posted to a channel.
You want messages pushed to you instead of needing to poll the server for new messages.
Publish to a Channel Feed | Publish to a Channel Field Feed | Read Data | Subscribe to a Channel Feed | Subscribe to a Channel Field Feed | Write Data