Assume that there are numerous weak sensors (e.g., Arduino level devices) which rely on BLE as means of communication and that these devices are connected to a more powerful gateway (e.g., Raspberry pi level of devices).
I would like to know if MQTT is considered an appropriate protocol for transmitting their readings (short, frequent bursty messages).
A number of blogs/documents consider MQTT appropriate for "IoT applications" because it is light(er) weight when compared to HTTP and conserves power. However, to my understanding it requires a connection be be kept open which is not the case with BLE or other communication protocols appropriate for IoT. BLE does not maintain the connection open for prolonged periods of time to reserve energy. Apparently, MQTT is appropriate when a MAC layer protocol such as WiFi is used. This almost breaks the rationale behind using MQTT in the first place (i.e., if the device computably handles a protocol such as WiFi then it might not need a protocol such as MQTT). Do you see a flaw in this logic?
Is there any alternative application layer protocol for that purpose? What is the most frequently seen structure of these type of messages (e.g., raw binary data, JSON, XML) when they communicate with a gateway and when they communicate with a server directly?