IoT Platform menyediakan SDK untuk PHP. Topik ini menjelaskan cara menginstal dan mengonfigurasi SDK IoT Platform untuk PHP serta memberikan contoh kode penggunaannya untuk memanggil operasi API IoT Platform.
SDK IoT Platform untuk PHP versi peningkatan memungkinkan Anda membuat permintaan API hanya dengan menginstal SDK IoT Platform tanpa bergantung pada pustaka inti. SDK versi peningkatan ini dapat digunakan untuk memproses parameter, merakit permintaan dalam format yang ditentukan, dan memproses nilai kembali. Untuk informasi selengkapnya tentang SDK versi peningkatan dan SDK versi asli, kunjungi pusat informasi SDK.
Instal SDK
Instal lingkungan pengembangan PHP. Anda harus menginstal PHP 5.6 atau versi yang lebih baru.
Unduh paket instalasi PHP dari situs web resmi PHP dan instal PHP.
Instal Composer.
Kami menyarankan agar Anda menggunakan Composer untuk mengelola SDK IoT Platform untuk PHP. Dalam hal ini, Anda harus menginstal Composer.
Untuk mesin Windows, Anda dapat mengunduh program Composer-Setup.exe dari situs web getcomposer.org untuk menginstal Composer.
Anda juga dapat menjalankan perintah curl berikut untuk menginstal Composer:
curl -sS https://getcomposer.org/installer | phpCatatanJika instalasi gagal karena pengecualian jaringan, Anda dapat menggunakan citra lengkap Alibaba Cloud Composer.
Instal Alibaba Cloud SDK untuk PHP.
Jika Composer telah diinstal untuk akses global di sistem Anda, jalankan perintah berikut secara langsung di direktori proyek untuk menginstal Alibaba Cloud SDK untuk PHP sebagai dependensi. Untuk informasi selengkapnya tentang cara menginstal Composer untuk akses global, lihat Globally.
composer require alibabacloud/darabonba-openapiPentingVersi PHP yang digunakan untuk menginstal SDK harus sama dengan atau lebih rendah dari versi PHP aktual yang digunakan untuk menjalankan SDK.
Sebagai contoh, jika Anda menggunakan PHP 7.2 untuk menginstal SDK dan menghasilkan direktori vendor, Anda harus menggunakan SDK tersebut di PHP 7.2 atau versi yang lebih baru. Jika Anda menggunakan SDK tersebut di PHP 5.6, akan terjadi masalah kompatibilitas.
Tambahkan dependensi berikut untuk menginstal SDK IoT Platform untuk PHP:
composer require alibabacloud/iot-20180120Nama SDK versi peningkatan mengikuti format alibabacloud/${Nama Layanan}-${Nomor Versi API}. Untuk informasi selengkapnya tentang SDK untuk PHP dan panduan pengguna, kunjungi alibabacloud-php-sdk/iot-20180120/.
Inisialisasi SDK
Buat objek $config untuk menyimpan informasi inisialisasi SDK, seperti AccessKey ID, Rahasia AccessKey, dan ID wilayah.
Buat instans $client. Panggil metode
Iot($iClientProfile)untuk memuat informasi inisialisasi SDK.
Sebagai contoh, jika Anda ingin menggunakan SDK di wilayah Tiongkok (Shanghai), Anda dapat menggunakan kode berikut untuk menginisialisasi SDK. Di lingkungan produksi, Anda harus memilih wilayah tempat IoT Platform diaktifkan.
use AlibabaCloud\SDK\Iot\V20180120\Iot;
use AlibabaCloud\Tea\Config;
$config = new Config([]);
// AccessKey ID Anda.
$config->accessKeyId = getenv('ACCESS_KEY_ID');
// Rahasia AccessKey Anda.
$config->accessKeySecret = getenv('ACCESS_KEY_SECRET');
// ID wilayah.
$config->regionId = "cn-shanghai";
$client = new Iot($config);
Parameter | Deskripsi |
accessKeyId | AccessKey ID Akun Alibaba Cloud Anda. Anda dapat membuka halaman Pasangan Kunci Akses di Konsol Manajemen Alibaba Cloud untuk membuat atau melihat pasangan AccessKey Anda. |
accessKeySecret | Rahasia AccessKey Akun Alibaba Cloud Anda. |
regionId | ID wilayah tempat instans IoT Platform Anda berada. ID wilayah digunakan dalam titik akhir untuk akses layanan. Titik akhir memiliki format iot.${RegionId}.aliyuncs.com. Anda dapat melihat wilayah tersebut di pojok kiri atas Konsol IoT Platform. Untuk informasi selengkapnya tentang format ID wilayah, lihat Wilayah yang didukung. |
Mengirim Permintaan
SDK mengenkapsulasi sebuah kelas untuk setiap operasi API. Nama kelas mengikuti format ${Nama API}+"Request". Anda dapat menggunakan kelas tersebut untuk mengirim permintaan API.
Prosedur
Inisialisasi SDK. Untuk informasi selengkapnya, lihat bagian Inisialisasi SDK dalam topik ini.
Buat permintaan API dengan membuat instans $request dari kelas
${Nama Operasi API}+"Request".Panggil metode "set"+${Parameter Permintaan} dari instans $request untuk menentukan parameter permintaan.
Panggil metode ${Nama Operasi API}($request) dari instans $client untuk mendapatkan tanggapan.
Untuk informasi selengkapnya tentang operasi API IoT Platform, lihat Daftar operasi berdasarkan fungsi. Untuk informasi selengkapnya tentang parameter permintaan dan parameter respons setiap operasi API, lihat referensi API.
Contoh berikut menunjukkan cara memanggil operasi Pub untuk memublikasikan pesan ke topik. Untuk informasi selengkapnya tentang parameter permintaan, lihat Pub.
Dalam contoh kode berikut, ${iotInstanceId} menentukan ID instans. Anda dapat melihat ID instans di halaman Overview di Konsol IoT Platform.
Jika instans Anda memiliki ID, Anda harus menentukan ID tersebut untuk parameter ini. Jika tidak, pemanggilan akan gagal.
Jika halaman Overview atau ID tidak dibuat untuk instans Anda, Anda tidak perlu mengonfigurasi parameter ini. Anda harus menghapus kode permintaan yang terkait dengan parameter IotInstanceId atau menentukan string kosong (
"") untuk parameter tersebut. Jika tidak, pemanggilan akan gagal.
Untuk informasi selengkapnya tentang instans IoT Platform, lihat Ikhtisar. Untuk informasi selengkapnya tentang cara membeli instans, lihat Membeli instans Edisi Perusahaan. Untuk informasi selengkapnya, lihat FAQ tentang instans IoT Platform.
$request = new PubRequest([
// ID instans IoT Platform.
"iotInstanceId" => "${iotInstanceId}",
// ProductKey produk.
"productKey" => "${productKey}",
// Konten pesan yang ingin Anda kirim. Enkode "hello world" dalam Base64 sebagai string.
"messageContent" => "eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=",
// Topik kustom yang digunakan untuk mempublikasikan pesan.
"topicFullName" => "/${productKey}/${deviceName}/user/get",
// Mode pengiriman pesan. SDK IoT Platform mendukung QoS 0 dan QoS 1.
"qos" => 0
]);
// Panggil operasi Pub.
$response = $client->pub($request);
print_r($response);Kode Contoh
Anda dapat mengganti nilai parameter di atas dengan nilai aktual berdasarkan skenario bisnis Anda.
<?php
namespace AlibabaCloud\SDK\Sample;
use AlibabaCloud\SDK\Iot\V20180120\Iot;
use AlibabaCloud\Tea\Tea;
use AlibabaCloud\Tea\Utils\Utils;
use AlibabaCloud\Tea\Console\Console;
use \Exception;
use AlibabaCloud\Tea\Exception\TeaError;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Iot\V20180120\Models\PubRequest;
class Sample {
/**
* Gunakan AccessKey ID dan Rahasia AccessKey Anda untuk menginisialisasi klien.
*/
public static function createClient() {
$config = new Config([]);
// AccessKey ID Anda.
$config->accessKeyId = getenv('ACCESS_KEY_ID');
// Rahasia AccessKey Anda.
$config->accessKeySecret = getenv('ACCESS_KEY_SECRET');
// ID wilayah.
$config->regionId = "cn-shanghai";
return new Iot($config);
}
}
/**
* @param string[] $args
* @return void
*/
public static function main($args){
try {
$client = self::createClient("${accessKey}", "${accessKeySecret}");
$request = new PubRequest([
// ID instans IoT Platform.
"iotInstanceId" => "${iotInstanceId}",
// ProductKey produk.
"productKey" => "${productKey}",
// Konten pesan yang ingin Anda kirim. Enkode "hello world" dalam Base64 sebagai string.
"messageContent" => "eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=",
// Topik kustom yang digunakan untuk mempublikasikan pesan.
"topicFullName" => "/${productKey}/${deviceName}/user/get",
// Mode pengiriman pesan. SDK IoT Platform mendukung QoS 0 dan QoS 1.
"qos" => 0
]);
$response = $client->pub($request);
Console::log(Utils::toJSONString(Tea::merge($response)));
}
catch (Exception $error) {
if (!($error instanceof TeaError)) {
$error = new TeaError([], $error->getMessage(), $error->getCode(), $error);
}
Console::log($error->message);
}
}
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
require_once $path;
}
Sample::main(array_slice($argv, 1));Lampiran: Kode Contoh
Anda dapat melihat atau mengunduh kode contoh operasi API di Pusat Contoh SDK IoT Platform. Kode contoh SDK untuk Java, Python, PHP, Node.js, Go, C++, dan .NET disediakan.
Alibaba Cloud OpenAPI Explorer menyediakan alat debugging online untuk operasi API. Di halaman API Debugging, Anda dapat mencari operasi API, memanggil operasi API, dan menghasilkan kode contoh untuk operasi API dari berbagai SDK. Di sisi kanan halaman, Anda dapat melihat kode contoh SDK di tab Sample Code. Di tab Debugging Result, Anda dapat melihat URL permintaan aktual dan tanggapan dalam format JSON.