All Products
Search
Document Center

IoT Platform:Berlangganan Pesan Perangkat dari IoT Platform

Last Updated:Jul 02, 2025

Setelah perangkat terhubung ke IoT Platform, perangkat akan mengirimkan data ke platform tersebut. Data ini kemudian dapat diteruskan ke server Anda menggunakan Advanced Message Queuing Protocol (AMQP). Topik ini menjelaskan cara mengonfigurasi langganan sisi server AMQP sehingga server Anda dapat menerima data dari lampu jalan melalui klien AMQP.

Prasyarat

Perangkat telah terhubung ke IoT Platform dan data telah dikirimkan. Untuk informasi lebih lanjut, lihat Menghubungkan Perangkat ke IoT Platform dan Mengirimkan Data.

Menyiapkan Lingkungan Pengembangan

Dalam contoh ini, Java digunakan untuk mengembangkan klien Advanced Message Queuing Protocol (AMQP) sampel. Kami merekomendasikan penggunaan Apache Qpid JMS client. Untuk mengunduh klien dan melihat petunjuknya, lihat Qpid JMS 0.57.0.

Komponen berikut digunakan dalam lingkungan pengembangan:

Mengonfigurasi Langganan Sisi Server AMQP

  1. Pada tab Overview di Konsol IoT Platform, klik IoT_Test_Environment.

  2. Konfigurasikan grup konsumen untuk mengonsumsi pesan. Server Anda dapat memperoleh pesan dengan mendengarkan grup konsumen.

    1. Di panel navigasi sisi kiri, pilih Message Forwarding > Server-side Subscription. Di halaman Langganan Sisi Server, klik Consumer Groups.

    2. Di tab Grup Konsumen, klik Create Consumer Group.

    3. Di kotak dialog Create Consumer Group, atur parameter Nama Grup Konsumen menjadi Receive_Thermostat_Data dan klik OK.

      Setelah grup konsumen dibuat, halaman Consumer Group Details akan muncul. Anda dapat melihat consumer group ID di halaman tersebut. Salin dan simpan consumer group ID, karena diperlukan saat menghubungkan klien AMQP ke IoT Platform.消费组ID

  3. Konfigurasikan langganan sisi server untuk produk tempat perangkat termostat milik. Ini memungkinkan server Anda berlangganan berbagai jenis pesan dari produk tersebut.

    1. Di panel navigasi sisi kiri, pilih Message Forwarding > Server-side Subscription.

    2. Di tab Subscriptions pada halaman Server-side Subscription, klik Create Subscription.

    3. Di kotak dialog Create Subscription, konfigurasikan parameter dan klik OK. Tabel berikut menjelaskan parameter tersebut.

      Parameter

      Deskripsi

      Produk

      Pilih Home_Thermostat.

      Jenis Langganan

      Pilih AMQP.

      Grup Konsumen

      Pilih grup konsumen Receive_Thermostat_Data yang Anda buat pada langkah sebelumnya.

      Tipe Pesan

      Pilih Notifikasi Upstream Perangkat dan Kirim Data TSL Historis. Untuk informasi lebih lanjut tentang tipe pesan, lihat Konfigurasikan Langganan.

    Anda dapat menggunakan fitur penerusan data untuk mengirimkan data ke grup konsumen AMQP dan menggunakan klien AMQP untuk menerima pesan. Sebagai contoh, gunakan aturan Thermostat_Data_Forwarding untuk meneruskan data TSL yang dikirimkan ke grup konsumen Receive_Thermostat_Data. Untuk informasi lebih lanjut, lihat Teruskan Data ke Grup Konsumen AMQP.

Menghubungkan Klien AMQP ke IoT Platform

  1. Unduh paket demo dan ekstrak paket tersebut.

  2. Buka IntelliJ IDEA dan impor proyek sampel amqp-demo di dalam paket demo.

    Di file pom.xml, dependensi Maven ditambahkan untuk mengunduh klien Qpid JMS.

  3. Di file AmqpClient.java yang disimpan di direktori src/main/java/com.aliyun.iotx.demo, konfigurasikan parameter yang diperlukan untuk menghubungkan klien JMS ke IoT Platform. Tabel berikut menjelaskan parameter tersebut.

        private static String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        private static String accessSecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        private static String consumerGroupId = "1yRO*****************";
    
        // iotInstanceId: ID instans. Jika Anda menggunakan instans publik yang diaktifkan sebelum 30 Juli 2021, tentukan string kosong untuk parameter ini.
        private static String iotInstanceId = "iot-cn-******";
    
        // Nilai parameter clientId ditampilkan di Konsol IoT Platform sebagai ID klien di halaman status grup konsumen untuk langganan layanan.
        // Kami merekomendasikan Anda menggunakan pengenal unik, seperti UUID, alamat MAC, atau alamat IP sebagai nilai parameter clientId. Ini memungkinkan Anda mengidentifikasi klien.
        private static String clientId = "test_IoT";
    
        //${YourHost} menentukan titik akhir. Untuk informasi lebih lanjut tentang titik akhir, lihat topik "Menghubungkan Klien AMQP ke IoT Platform".
        private static String host = "iot-cn-******.amqp.iothub.aliyuncs.com";
    
        // Jumlah koneksi yang ingin Anda buat oleh proses.
        // Permintaan per detik (QPS) konsumsi dari satu koneksi dibatasi. Anda dapat menentukan hingga 64 koneksi. Untuk informasi lebih lanjut, lihat topik "Batasan".
        // Jumlah koneksi dan QPS konsumsi yang sesuai relevan dengan skema rebalance. Kami merekomendasikan Anda menambah jumlah koneksi satu per satu setiap kali QPS konsumsi meningkat sebesar 500.
        private static int connectionCount = 4;

    Parameter

    Deskripsi

    accessKey

    Masuk ke Konsol IoT Platform, arahkan penunjuk ke foto profil, lalu klik AccessKey Management untuk mendapatkan ID AccessKey dan Rahasia AccessKey.

    Penting

    Dalam contoh ini, variabel lingkungan dikonfigurasi untuk mengelola pasangan AccessKey. Ini membantu mencegah risiko keamanan yang disebabkan oleh hard coding pasangan AccessKey ke dalam kode bisnis Anda.

    Anda harus menambahkan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET ke sistem operasi lokal Anda dan menentukan ID AccessKey dan Rahasia AccessKey.

    accessSecret

    consumerGroupId

    ID dari grup konsumen Receive_Thermostat_Data. Untuk informasi lebih lanjut, lihat Langkah 2 di bagian Konfigurasikan Langganan Sisi Server AMQP.

    iotInstanceId

    ID dari instans IoT_Test_Environment. Anda dapat melihat ID instans di tab Overview di Konsol IoT Platform.

    clientId

    ID klien. Anda harus menentukan ID kustom. ID harus memiliki panjang 1 hingga 64 karakter. Kami merekomendasikan Anda menggunakan pengenal unik sebagai ID klien, seperti UUID, alamat MAC, atau alamat IP server tempat klien berjalan.

    Setelah klien AMQP terhubung ke IoT Platform dan dimulai, lakukan langkah-langkah berikut untuk melihat detail klien: Masuk ke Konsol IoT Platform dan klik kartu instans yang ingin Anda kelola. Di panel navigasi sisi kiri, pilih Message Forwarding > Server-side Subscription. Pada tab Consumer Groups, temukan grup konsumen yang ingin Anda kelola dan klik View di kolom Aksi. ID setiap klien ditampilkan di tab Consumer Group Status. Anda dapat menggunakan ID klien untuk mengidentifikasi klien dengan mudah.

    host

    Titik akhir AMQP yang disimpan setelah Anda membeli instans. Untuk informasi lebih lanjut, lihat Beli Instans Edisi Enterprise.

    Di halaman Instance Details dari instans IoT_Test_Environment di Konsol IoT Platform, Anda dapat mengklik View Development Configurations dan klik AMQP untuk melihat informasi AMQP.

    connectionCount

    Jumlah koneksi yang diaktifkan pada klien AMQP. Nilai maksimum: 128. Parameter ini digunakan untuk penskalaan horizontal dalam skenario pendorongan pesan waktu nyata.

    Di halaman Consumer Group Details, setiap klien yang terhubung ditampilkan sebagai ${clientId}+"-"+ Number. Angka minimum adalah 0.

  4. Jika output yang mirip dengan informasi berikut muncul setelah file kode sampel AmqpClient.java dijalankan, klien AMQP terhubung ke IoT Platform dan dapat menerima pesan.

    Catatan

    Dalam contoh ini, potongan kode Thread.sleep(60 * 1000); ditambahkan untuk menghentikan program setelah program mulai dan berjalan selama 1 menit. Anda dapat menentukan waktu berjalan sesuai kebutuhan bisnis Anda.

    运行结果

    Parameter respons

    Parameter

    Contoh

    Deskripsi

    topic

    /***********/******/thing/event/property/post

    Topik yang digunakan untuk mengirimkan properti perangkat.

    messageId

    1324198300680719360

    ID pesan.

    content

    {"temperature":23,"humidity":21,"time":1604548451951}

    Konten pesan.

    Setelah Anda menjalankan kode, Anda dapat melihat status grup konsumen di langganan sisi server.

    Untuk informasi lebih lanjut, lihat Kelola Grup Konsumen.

    消费组状态

Lihat Log

Setelah semua pengaturan dikonfigurasi, masuk ke Konsol IoT Platform. Di panel navigasi sisi kiri, pilih Maintenance > Device Log. Pilih Home_Thermostat dari daftar produk. Anda dapat melihat log di tab Log Jalankan Cloud.

日志信息

Apa yang Harus Dilakukan Selanjutnya

Kirim Perintah dari IoT Platform ke Perangkat