全部产品
Search
文档中心

IoT Platform:FAQ tentang perpesanan

更新时间:Jul 06, 2025

Topik ini memberikan jawaban atas beberapa pertanyaan yang sering diajukan (FAQ) mengenai perpesanan antara IoT Platform dan perangkat atau server.

Bagaimana cara perangkat menghapus pesan duplikat ketika perangkat menerima beberapa pesan dengan konten yang sama?

Jika tingkat kualitas layanan (QoS) level 1 digunakan untuk perpesanan, sebuah pesan akan diterima setidaknya sekali. Dalam kasus ini, perangkat mungkin menerima pesan duplikat dengan ID yang sama. Perangkat dapat menghapus pesan duplikat berdasarkan ID pesan. Alibaba Cloud secara terus-menerus memperbarui IoT Platform untuk mengurangi jumlah pesan QoS 1 duplikat yang dikirim ke perangkat.

Apa yang harus saya lakukan ketika perangkat tidak dapat menerima pesan setelah perangkat terhubung ke IoT Platform melalui Message Queuing Telemetry Transport (MQTT)?

Jika perangkat tidak dapat menerima pesan, Anda dapat melakukan langkah-langkah berikut untuk menyelesaikan masalah:

  • Periksa apakah perangkat telah berlangganan topik yang diperlukan.

  • Jika perangkat tidak menerima beberapa pesan, periksa apakah ada logika yang memakan waktu dalam callback program sisi perangkat. Jika ada logika tersebut, disarankan untuk menerapkannya di thread terpisah alih-alih di callback.

  • Jika perangkat menggunakan SDK untuk Android atau Java, konfigurasikan program sisi perangkat untuk berlangganan topik sebelum menjalankan inisialisasi. Jika inisialisasi selesai sebelum perangkat berlangganan topik menggunakan SDK, perangkat tidak dapat menerima pesan dari IoT Platform.

  • Jika perangkat tidak menerima pesan QoS 1, pastikan parameter cleanSession dalam informasi koneksi MQTT disetel ke false. Parameter cleanSession harus disetel ke false agar perangkat dapat menerima pesan QoS 1 saat offline.

Apakah IoT Platform menyimpan pesan yang diterimanya?

IoT Platform menyimpan pesan yang diterimanya berdasarkan tingkat QoS. Setelah pesan dikirim ke topik, IoT Platform meneruskan pesan tersebut ke perangkat yang berlangganan topik tersebut.

  • IoT Platform tidak menyimpan pesan QoS 0.

  • IoT Platform menyimpan pesan QoS 1 selama tujuh hari.

Mengapa pengiriman pesan dari IoT Platform mengalami waktu habis?

Latensi pesan dan masalah waktu habis mungkin disebabkan oleh koneksi jaringan yang tidak stabil.

Anda dapat melakukan langkah-langkah berikut untuk menguji stabilitas jaringan untuk koneksi perangkat:

  1. Masuk ke Konsol IoT Platform.

  2. Di halaman Overview, temukan instance yang ingin Anda kelola dan klik ID atau alias instance untuk membuka halaman Detail Instance.

  3. Di bilah navigasi di sebelah kiri, pilih Devices > Devices.

  4. Di atas daftar perangkat pada halaman Devices, masukkan DeviceName atau alias perangkat untuk mencari perangkat tersebut.

  5. Klik View di kolom Actions perangkat untuk melihat informasi perangkat.

  6. Di tab Device Information, klik Test di sebelah Real-time Delay.

  7. Di kotak dialog yang muncul, klik OK untuk menguji latensi jaringan.

Anda dapat mengulangi Langkah 6 dan Langkah 7 untuk melakukan beberapa tes. Jika latensi tinggi, koneksi jaringan tidak stabil.

Apakah IoT Platform mendukung pesan wasiat dan pesan tersimpan?

Ya, IoT Platform mendukung pesan wasiat dan pesan tersimpan. IoT Platform memungkinkan Anda menggunakan MQTT 5.0 untuk menentukan pesan wasiat dan pesan tersimpan. Untuk informasi lebih lanjut, lihat Fitur MQTT 5.0 yang didukung oleh IoT Platform.

Bagaimana cara server mendapatkan pesan dari perangkat?

Server dapat menggunakan salah satu metode berikut untuk mendapatkan pesan dari perangkat:

  • Langganan sisi server: Anda dapat menggunakan fitur langganan sisi server dari IoT Platform untuk berlangganan pesan satu atau beberapa tipe. IoT Platform meneruskan pesan tipe tertentu dari semua perangkat dalam suatu produk ke server berdasarkan pengaturan langganan Anda. Untuk mengonfigurasi langganan sisi server, gunakan salah satu metode berikut:

    • Gunakan SDK Protokol Pengantrean Pesan Lanjutan (AMQP) untuk menerima data perangkat yang diteruskan oleh IoT Platform. Untuk informasi lebih lanjut, lihat Langganan sisi server AMQP.

    • Gunakan SDK Simple Message Queue (formerly MNS) (SMQ) untuk menerima data perangkat yang diteruskan oleh IoT Platform ke antrian MNS. Untuk informasi lebih lanjut, lihat Langganan sisi server MNS.

  • Penerusan data: Anda dapat menggunakan fitur penerusan data untuk meneruskan data perangkat tertentu ke topik MNS atau antrian Message Queue for Apache RocketMQ berdasarkan aturan penerusan data. Server menerima pesan perangkat dengan menggunakan SDK MNS atau SDK Message Queue for Apache RocketMQ. Untuk informasi lebih lanjut, lihat Ikhtisar penerusan data.

Mengapa antrian MNS tidak dapat menerima pesan yang saya kirim di konsol IoT Platform setelah saya mengonfigurasi langganan sisi server MNS?

Antrian MNS tidak dapat menerima pesan yang Anda kirim di konsol IoT Platform setelah mengonfigurasi langganan sisi server MNS karena pesan tersebut adalah pesan sisi server. Semua pesan yang Anda kirim di konsol IoT Platform atau dengan memanggil operasi API IoT Platform dianggap sebagai pesan sisi server, dan tidak diteruskan ke antrian MNS. Hanya pesan yang dikirim oleh perangkat yang diteruskan ke antrian MNS. Pesan tersebut mencakup pesan perangkat upstream, serta notifikasi perubahan status perangkat dan perubahan tag perangkat.

Bagaimana cara mengidentifikasi topik dari mana server MNS menerima pesan?

Lihat isi pesan. Contoh pesan:

{
	"messageid": "12345",
	"messagetype": "status/upload",
	"topic": "null/topic",
	"payload": {},
	"timestamp": 1469564576
}

Anda dapat mengidentifikasi topik dari mana server MNS menerima pesan berdasarkan nilai bidang topic.

Bagaimana cara mengirim pesan dari IoT Platform ke perangkat?

Anda dapat memanggil operasi API IoT Platform untuk mengirim pesan dari IoT Platform ke perangkat. Tabel berikut menjelaskan operasi API yang didukung.

API

Deskripsi

Pub

Mengirim pesan ke perangkat menggunakan topik kustom.

BatchPub

Mengirim pesan ke beberapa perangkat dari suatu produk secara bersamaan menggunakan topik kustom.

PubBroadcast

Menyiar pesan ke perangkat online dari suatu produk.

Anda dapat menentukan semua perangkat online atau hanya perangkat online yang berlangganan topik tertentu.

RRpc

Mengirim permintaan ke perangkat dan menerima respons dari perangkat secara sinkron.

SetDeviceProperty

Mengonfigurasi properti Thing Specification Language (TSL) untuk perangkat.

SetDevicesProperty

Mengonfigurasi properti TSL untuk beberapa perangkat dari suatu produk.

InvokeThingService

Memanggil layanan TSL pada perangkat.

InvokeThingsService

Memanggil layanan TSL pada beberapa perangkat dari suatu produk.