假设有许多弱传感器(例如,Arduino 级别的设备)依赖 BLE 作为通信手段,并且这些设备连接到更强大的网关(例如,Raspberry pi 级别的设备)。
我想知道 MQTT 是否被认为是传输读数(短而频繁的突发消息)的合适协议。
许多博客/文档认为 MQTT 适合“物联网应用程序”,因为与 HTTP 相比,它的重量更轻(更)并且可以节省电量。但是,据我所知,它需要保持连接处于打开状态,而 BLE 或其他适用于物联网的通信协议则不是这种情况。BLE 不会长时间保持连接打开以保留能量。显然,MQTT 适用于使用 WiFi 等 MAC 层协议。这几乎首先打破了使用 MQTT 背后的基本原理(即,如果设备可计算地处理诸如 WiFi 之类的协议,那么它可能不需要诸如 MQTT 之类的协议)。你觉得这个逻辑有缺陷吗?
是否有任何替代应用层协议用于此目的?这些类型的消息(例如,原始二进制数据、JSON、XML)在与网关通信和直接与服务器通信时最常见的结构是什么?