IoT Platform provides developers with an SDK for PHP. This article describes how to install and configure IoT Platform SDK for PHP. This article also describes how to use the SDK to call the API operations of IoT Platform.
Install the SDK
IoT Platform SDK for PHP is part of Alibaba Cloud SDK for PHP. If you have installed Alibaba Cloud SDK for PHP, you do not need to install IoT Platform SDK for PHP.
Initialize the SDK
The following example shows how to initialize the SDK if your IoT Platform service is deployed in the China (Shanghai) region:
First, create the $iClientProfile object to store SDK initialization information.
Then, create the $client instance from DefaultAcsClient. Use the DefaultAcsClient($iClientProfile)
method to load the SDK initialization information.
<?php
include_once 'aliyun-php-sdk-core/Config.php';
use \Iot\Request\V20180120 as Iot;
// Set your AccessKey ID, AccessKey secret, and ProductKey.
$accessKeyId = "";
$accessSecret = "";
$iClientProfile = DefaultProfile::getProfile("cn-shanghai", $accessKeyId, $accessSecret);
$client = new DefaultAcsClient($iClientProfile);
Parameter | Description |
---|---|
$accessKeyId | The AccessKey ID of your Alibaba Cloud account.
You can go to the User Management console to create or view your AccessKey ID. |
$accessSecret | The AccessKey secret of your Alibaba Cloud account. |
$iClientProfile | The object that is used to store the SDK initialization information. cn-shanghai indicates the region ID of your IoT Platform service.
You can view the region in the upper-left corner of the IoT Platform console. For more information about region IDs, see Regions and zones. |
Initiate a request
The SDK encapsulates a class for each API operation. The class name is in the ${Operation name}+"Request"
format. You can use the $request
instance of this class and call the "set"+${Request parameters}
method to specify the request parameters. Then, you can use the $client instance
and call the getAcsResponse($request)
method to obtain a response.
For more information about the API operations of IoT Platform, see List of operations by function. For more information about the request
and response
parameters of each API operation, see the API documentation.
The following example shows how to call the Pub operation to publish a message to a topic. For more information about request parameters, see Pub.
iotInstanceId
is the ID of the instance.
You can view the instance ID on the Overview page in the IoT Platform console.
- If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.
- If your instance has no Overview page or ID, you do not need to set this parameter.
$request = new Iot\PubRequest();
$request->setIotInstanceId("iotInstanceId");
$request->setProductKey("productKey");
$request->setMessageContent("aGVsbG93b3JsZA="); //hello world Base64 String.
$request->setTopicFullName("/productKey/deviceName/user/get"); // The full name of the topic to which the message is sent.
$response = $client->getAcsResponse($request);
print_r($response);
Appendix: Sample code
Download the IoT Platform SDK sample code. The sample code for Java, Python, PHP, .NET, and Go is provided.
Alibaba Cloud provides OpenAPI Explorer to simplify API usage. You can use OpenAPI Explorer to search for API operations, call API operations, and dynamically generate SDK sample code. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs. On the right side of the page, you can view the sample code of an SDK on the Example Code tab. On the Debugging Result tab, you can view the actual request URL and response in the JSON format.