Você está perguntando sobre o protocolo ou o formato da mensagem ? Geralmente, usamos incorretamente o termo protocolo quando entendemos o formato dos dados. Eu mesmo faço isso, geralmente porque a distinção não é clara para todos.
Os protocolos de mensagens usados na IoT tendem a ser bastante compactos, pelo menos mais que o http, e oferecem recursos significativos que são importantes nas mensagens (sessões, controle de fluxo, confiabilidade, etc.). O formato da mensagem é o de dados na mensagem que é enviada. Suponho que é sobre isso que você está perguntando.
O formato de mensagem mais compacto é um formato binário enrolado à mão cuidadosamente considerado. É freqüentemente usado em cenários de baixa largura de banda quando você deseja enviar alguns bytes e sabe exatamente como eles são. Para mensagens maiores, as desvantagens são significativas e, em geral, devem ser evitadas a todo custo.
Fiz uma avaliação detalhada de muitas opções diferentes de serialização de dados. Eu esperava que o protobuf, messagepack fosse bastante compacto, o que eram. No entanto, meu segundo problema foi encontrar bibliotecas mantidas e disponíveis em várias plataformas diferentes, incluindo C no dispositivo.
O formato em que me acomodei, surpreendentemente, foi o JSON compactado com gzip. É fácil de implementar e entender, roda em qualquer lugar e, com os dados que eu estava usando, era praticamente o mesmo, ou menor, que outros métodos.
Lembre-se também de que, se você tiver um canal seguro como o TLS, consumirá uma grande quantidade de dados (> 6 KB) nos handshakes do TLS.
Há alguns anos, eu esperava que um formato como os buffers de protocolo dominasse, mas realmente não aconteceu muita coisa. Provavelmente devido à facilidade com que o json pode ser gravado e analisado (e compactado). Gosto da aparência dos Flatbuffers , mas a vantagem é mais na velocidade de análise do que em ser compacta.
Como você está na fase de investigação, sugiro que você escreva um pouco de código em cada um, usando dados típicos da sua situação, e faça algumas comparações. Ter dados concretos ao iniciar ajuda a confirmar suas escolhas.