全部產品
Search
文件中心

IoT Platform:PHP SDK使用說明

更新時間:Jun 30, 2024

物聯網平台提供PHP語言的雲端SDK供開發人員使用。本文介紹雲端PHP SDK的安裝和配置,及使用PHP SDK調用雲端API的樣本。

安裝PHP SDK

IoT PHP SDK是Alibaba Cloud SDK for PHP的一部分。如果您已安裝Alibaba Cloud SDK for PHP,則無需再安裝IoT PHP SDK。

  1. 安裝PHP開發環境。

    需安裝PHP 5.5.0或更高版本。訪問PHP官網下載PHP安裝包,並完成安裝。

  2. 安裝Composer。

    目前,通過Composer管理IoT PHP SDK,因此需在系統中安裝Composer。

    • Windows系統使用者,請訪問getcomposer.org,下載、安裝Composer-Setup.exe

    • 使用cURL命令安裝Composer。

      curl -sS https://getcomposer.org/installer | php
    說明

    如果由於網路問題無法安裝,可以使用阿里雲Composer全量鏡像

  3. 添加以下依賴,安裝IoT PHP SDK。

    composer require alibabacloud/iot

    PHP SDK詳情和使用指導,請參見openapi-sdk-php-iotAlibaba Cloud SDK for PHP

初始化SDK

以調用華東2(上海)地區的API為例,初始化代碼如下。

首先建立對象$iClientProfile,存放SDK初始化資訊,然後建立DefaultAcsClient對象執行個體$client,通過DefaultAcsClient($iClientProfile)方法,載入SDK資訊,完成SDK用戶端初始化。

include_once 'aliyun-php-sdk-core/Config.php';
use \Iot\Request\V20180120 as Iot;
//設定您的AccessKeyId/AccessSecret/ProductKey
$accessKeyId = getenv('ACCESS_KEY_ID');
$accessSecret = getenv('ACCESS_KEY_SECRET');
$iClientProfile = DefaultProfile::getProfile("cn-shanghai", $accessKeyId, $accessSecret);
$client = new DefaultAcsClient($iClientProfile);

參數

說明

$iClientProfile

用於存放SDK初始化資訊,其中cn-shanghai是您的物聯網平台服務的地區代碼。

您可在物聯網平台控制台左上方,查看當前服務所在地區。

地區代碼的表達方法,請參見支援的地區

發起調用

物聯網平台雲端SDK為每個API封裝了一個類,命名為${API名稱}+"Request",用於API的調用請求。通過該類的對象執行個體$request,使用"set"+${請求參數的名稱}方法,佈建要求參數值。通過初始化SDK的對象執行個體$client,使用getAcsResponse($request)方法,承載API調用結果。

物聯網平台雲端API,請參見API列表。有關request中請求參數說明,及response中返回參數說明,請參見對應API文檔。

本文以調用Pub介面發布訊息到Topic為例。請求參數資訊,請參見Pub

重要

以下代碼中${iotInstanceId}為執行個體ID值。您可在物聯網平台控制台的執行個體概覽頁面,查看當前執行個體的ID值。

  • 若有ID值,必須傳入該ID值,否則調用API會失敗。

  • 若無執行個體概覽頁面或ID值,則無需傳入。您需刪除IotInstanceId相關的請求代碼,或傳入空值"",否則調用API會失敗。

執行個體的詳細內容,請參見執行個體概述。購買執行個體方法,請參見購買企業版執行個體。常見問題,請參見物聯網平台執行個體相關問題

$request = new Iot\PubRequest();
$request->setIotInstanceId("iotInstanceId"); 
$request->setProductKey("productKey");
$request->setMessageContent("aGVsbG93b3JsZA="); //hello world Base64 String.
$request->setTopicFullName("/productKey/deviceName/user/get"); //訊息發送到的Topic全名.
$response = $client->getAcsResponse($request);
print_r($response);

附錄:範例程式碼

前往物聯網平台雲端SDK樣本中心查看或下載API調用的範例程式碼。範例程式碼中包含Java、Python、PHP、.NET和Go版本SDK樣本。

阿里雲OpenAPI開發人員門戶提供API線上調試工具。在API調試頁面,您可以快速檢索和體驗調用API。系統會根據您輸入的參數同步產生各語言SDK的程式碼範例。各語言SDK程式碼範例顯示在頁面右側SDK樣本頁簽下供您參考。在調用結果頁簽下,可查看API調用的真實請求URL和JSON格式的返回結果。