I have a project where I collect data from bee hives, in the first step a private activity but otzer beekeeper had signaled interest also so it could become a kind of community and a platform for sharing and comparing data.
Now I wonder what the best approach should be to bring data from the Arduinos (Nodes) over radio to a GSM/Wifi/Ethernet Gateway and then to an internet server. The connection Arduino to GSM Gateway is ready in a prototpye version as a RFM69 radio connection.
Now the question is what to use from a GSM or Wifi Gateway to the server? In case it is a Wifi/Ethernet gateway with a permanent internet connection and permanent power connection I would say MQTT is the way to go: fast, lightweight, economical (regarding traffic). So it is good for permanent connected devices because MQTT needs a keep alive connection.
But its not so good for temporary disconnected devices like GSM modems. Adafruit writes about their REST API
This is a good library for simple send and receive access to Adafruit IO feeds. Unlike MQTT the REST API does not require a connection to be kept alive so it's good for things to periodically need to connect and send/receive values. For example a sensor device that sends sensor measurements to AIO and then enters deep power-saving sleep for a period is perfect to use with this library.
I wonder also if it perhaps sufficient to have a small (PHP/PY) script that writes data via a http request / query string like
http://example.com/input/index.php?date=201501162013&weight=53.510&temp=23.5
as a new line / dataset to a csv file: 2015/01/16 20:13 53.510 23.5
Is REST overkill? Is MQTT necessary or better than REST for my needs?
The following question (perhaps for a new thread) would be: What IoT platform should/can I use?