Saiba como instalar, configurar e usar o IoT Platform SDK for PHP para chamar operações da API do IoT Platform.
Instalar o SDK
O IoT Platform SDK for PHP faz parte do Alibaba Cloud SDK for PHP. Se você já instalou o Alibaba Cloud SDK for PHP, ignore esta seção.
-
Instale um ambiente de desenvolvimento PHP.
É necessário ter o PHP 5.5.0 ou superior. Baixe e instale o PHP no site oficial do PHP.
-
Instale o Composer.
O Composer gerencia a dependência do IoT Platform SDK for PHP.
No Windows, baixe e execute o Composer-Setup.exe disponível em getcomposer.org.
-
Como alternativa, execute o seguinte comando curl:
curl -sS https://getcomposer.org/installer | php
NotaSe a instalação falhar devido a problemas de rede, use o espelho do Composer da Alibaba Cloud.
-
Adicione a dependência do IoT Platform SDK for PHP:
composer require alibabacloud/iotO código-fonte e a documentação estão disponíveis nos repositórios do GitHub openapi-sdk-php-iot e Alibaba Cloud SDK for PHP.
Inicializar o SDK
O código a seguir mostra um exemplo de inicialização do SDK para chamar uma API na região China (Shanghai).
Crie um objeto $iClientProfile com sua região e credenciais e passe-o para DefaultAcsClient($iClientProfile) para inicializar o cliente.
include_once 'aliyun-php-sdk-core/Config.php';
use \Iot\Request\V20180120 as Iot;
// Set your AccessKey ID, AccessKey secret, and ProductKey.
$accessKeyId = getenv('ACCESS_KEY_ID');
$accessSecret = getenv('ACCESS_KEY_SECRET');
$iClientProfile = DefaultProfile::getProfile("cn-shanghai", $accessKeyId, $accessSecret);
$client = new DefaultAcsClient($iClientProfile);
|
Parâmetro |
Descrição |
|
$iClientProfile |
Armazena as informações de inicialização do SDK. Visualize sua região no canto superior esquerdo do IoT Platform console. Todos os IDs de região disponíveis estão listados em Supported regions. |
Iniciar uma solicitação
Cada operação de API tem uma classe correspondente chamada ${API operation name}+"Request". Crie uma instância $request, defina os parâmetros com os métodos "set"+${Request parameter} e chame getAcsResponse($request) para obter a resposta.
Para obter uma lista das APIs de cloud do IoT Platform, consulte API list. Para ver as descrições dos parâmetros de solicitação em request e dos parâmetros de resposta em response, consulte a referência da API correspondente.
Este tópico usa a operação Pub como exemplo para mostrar como publicar uma mensagem em um tópico. Para obter informações sobre os parâmetros de solicitação, consulte Pub.
No código a seguir, ${iotInstanceId} representa o ID da instância. Encontre o ID da instância atual na página Instance Overview no IoT Platform console.
Se existir um ID, você deve informá-lo. Caso contrário, a chamada de API falhará.
Se a página Instance Details ou o ID não existirem, não será necessário passar um ID. Exclua o código de solicitação relacionado a
IotInstanceIdou passe um valor vazio"". Caso contrário, a chamada de API falhará.
Para obter mais informações sobre instâncias, consulte Instance overview. Para saber como adquirir uma instância, consulte Purchase an Enterprise instance. Para perguntas frequentes, consulte FAQ about IoT Platform instances.
$request = new Iot\PubRequest();
$request->setIotInstanceId("iotInstanceId");
$request->setProductKey("productKey");
$request->setMessageContent("aGVsbG93b3JsZA="); //hello world Base64 String.
$request->setTopicFullName("/productKey/deviceName/get"); // The full name of the topic that is used to publish the message.
$response = $client->getAcsResponse($request);
print_r($response);
Apêndice: Código de exemplo
Acesse o Centro de Exemplos do IoT Platform Cloud SDK para visualizar ou baixar códigos de exemplo para chamadas de API. Os exemplos abrangem os SDKs para Java, Python, PHP, .NET e Go.
O Portal do Desenvolvedor OpenAPI da Alibaba Cloud oferece uma online API debugging tool. Na página API debugging, pesquise e teste chamadas de API. O portal gera automaticamente códigos de exemplo do SDK em diferentes linguagens com base nos parâmetros inseridos. Visualize o código gerado na aba SDK Example e a resposta na aba Call Result.