MQTT nativo no Azure IoT Hub

Azure IoT Suite & IoT & Microsoft Azure & MQTT

Estou utilizando o Microsoft Azure em projetos de IoT antes mesmo do lançamento do Azure IoT Hub. Desde então tenho aguardado um notícia que veio enfim, no dia 8 de fevereiro de 2016: O suporte nativo ao protocolo MQTT sem a necessidade do protocol gateway.

Embora essa fosse um solicitação recorrente, há de se parabenizar o esforço do time do Azure IoT. Pouco tempo após o MQTT ter sido aprovado como padrão ISO/IEC (a saber: #ISO20922), somos agraciados com a notícia do suporte nativo no Azure IoT Hub.

Essa é uma notícia que agrega e muito ao serviço. Aqueles que já trabalham na área sabem o quanto é fundamental a questão da comunicação. Um projeto IoT depende desse fator, e para se ter um projeto robusto é necessário se pensar nos principais problemas como restrição de banda, restrição de plataforma etc. É ai que entra o MQTT. Já abordei isso por cima em alguns posts anteriores.

Devo fazer alguns posts sobre a experiência em utilizar o IoT Hub da Microsoft. Neles devo abordar detalhes do produto e a experiência de migrar um projeto já pronto, enviando dados para um broker na nuvem no modelo IaaS, para o serviço na plataforma Azure.

Utilizar o Azure IoT Hub com MQTT é tão simples quanto o esperado. Não há segredos nem customizações, apenas informe o protocolo a ser usado e sua string de conexão. Abaixo segue o exemplo em Node.js:

Criar um device


    var clientFromConnectionString =
    require('azure-iot-device-mqtt').clientFromConnectionString;
    var Message = require('azure-iot-device').Message;
    var connectionString = '[IoT Hub device connection string]';
    var client = clientFromConnectionString(connectionString);
    

Enviando dados


    var msg = new Message('some data from my device');
    client.sendEvent(message, function (err) {
  if (err) console.log(err.toString());
    });
    

Recebendo dados

    
    client.receive(function (err, msg) {
  if (err) console.error(err);
  else console.log(msg);
    });
    

 

 

Referências

Azure IoT Hub general availability overview

Github - Azure IoT Device MQTT


Author's profile picture

Vitor is a computer scientist who is passionate about creating software that will positively change the world we live in.

MVP Azure - Cloud Architect - Data science enthusiast


1 minutes to read