Todos os produtos
Search
Central de documentação

IoT Platform:Exemplo

Última atualização: Jun 26, 2026

Use o arquivo de código de exemplo ./demos/mqtt_broadcast_demo.c no Link SDK for C para implementar a comunicação broadcast em um dispositivo.

Informações básicas

  • Para obter mais informações sobre comunicação broadcast, consulte Visão geral.

  • O recurso de comunicação broadcast está disponível apenas para dispositivos conectados ao IoT Platform via MQTT. Para obter mais informações sobre o código de conexão MQTT, consulte Visão geral.

Procedimento

  1. Inicialize um cliente.

    Para obter mais informações, consulte Etapa 1: Inicialização.

  2. Configure os recursos necessários.

    Para obter mais informações, consulte Etapa 2: Configurar recursos.

  3. Estabeleça uma conexão.

    Para obter mais informações, consulte Etapa 3: Solicitar uma conexão.

  4. Opcional. Para enviar uma mensagem de broadcast a todos os dispositivos de um produto, os dispositivos devem chamar a função aiot_mqtt_sub e assinar um tópico específico.

    • Código de exemplo:

          {
              char *sub_topic = "/broadcast/a18wP******/test";
      
              res = aiot_mqtt_sub(mqtt_handle, sub_topic, NULL, 1, NULL);
              if (res < 0) {
                  printf("aiot_mqtt_sub failed, res: -0x%04X\n", -res);
                  return -1;
              }
          }
    • Parâmetros:

      Parâmetro

      Exemplo

      Descrição

      sub_topic

      /broadcast/a18wP/test

      Tópico de destino da mensagem de broadcast. Formato: /broadcast/${productKey}/<custom field>. Parâmetros neste exemplo:

      • a18wP: ProductKey do dispositivo.

      • test: campo personalizado.

      Para obter mais informações sobre tópicos, consulte O que é um tópico?.

  5. Receba a mensagem de broadcast.

    1. Após conectar o dispositivo ao IoT Platform, chame a operação PubBroadcast do IoT Platform para enviar uma mensagem de broadcast ao dispositivo.

      Importante

      Recomendamos enviar no máximo uma mensagem de broadcast por minuto para evitar limitação de taxa (throttling).

      Para obter mais informações, consulte Mensagens de broadcast.

    2. O dispositivo chama a função aiot_mqtt_recv para receber a mensagem de broadcast. Em seguida, o sistema aciona uma função de callback para executar as operações necessárias.

      Neste exemplo, usa-se a função de callback demo_mqtt_default_recv_handler.

    3. Defina uma função de callback para processar a mensagem de broadcast.

      Verifique se a mensagem é de broadcast com base no formato do tópico.

      • Para enviar a mensagem de broadcast a todos os dispositivos online de um produto, não é necessário assinar um tópico de broadcast. Após receber a mensagem, cada dispositivo pode validar se trata-se de uma mensagem de broadcast verificando o formato do tópico correspondente. O formato de um tópico de broadcast é /sys/${productKey}/${deviceName}/broadcast/request/${MessageId}.

      • Para enviar a mensagem de broadcast apenas aos dispositivos que assinaram um tópico de broadcast personalizado, esses dispositivos precisam assinar o tópico previamente. O formato de um tópico de broadcast personalizado é /broadcast/${productKey}/<custom field>.

      Especifique a lógica de processamento do callback conforme seus requisitos de negócio. Neste exemplo, a mensagem de broadcast é impressa.

      void demo_mqtt_default_recv_handler(void *handle, const aiot_mqtt_recv_t *packet, void *userdata)
      {
          switch (packet->type) {
              ……
              ……
              case AIOT_MQTTRECV_PUB: {
                  printf("pub, qos: %d, topic: %.*s\n", packet->data.pub.qos, packet->data.pub.topic_len, packet->data.pub.topic);
                  printf("pub, payload: %.*s\n", packet->data.pub.payload_len, packet->data.pub.payload);
                  /* TODO: Print the broadcast message */           
              }
              break;
      
              ……
              ……       
      
              default: {
      
              }
          }
      }
  6. Feche a conexão.

    Para obter mais informações, consulte Etapa 8: Desconectar.

  7. Encerre o programa.

    Para obter mais informações, consulte Etapa 9: Sair do programa.

Próximas etapas

  • Após configurar o arquivo de código de exemplo, compile-o para gerar um arquivo executável. Neste exemplo, o arquivo executável gerado é demos/mqtt-broadcast-demo.

    Para obter mais informações, consulte Compilar e execute.

  • Para obter detalhes sobre o resultado da execução, consulte Visualize logs.