Topik ini menjelaskan cara menghubungkan perangkat ke IoT Platform menggunakan protokol Message Queuing Telemetry Transport (MQTT) melalui koneksi WebSocket. Topik ini juga menyediakan contoh kode untuk Node.js.
Prasyarat
Produk dan perangkat telah dibuat di Konsol IoT Platform. Sertifikat perangkat, termasuk ProductKey, DeviceName, dan DeviceSecret, telah diperoleh. Dalam contoh ini, sebuah perangkat bernama device2 telah dibuat. Untuk informasi lebih lanjut, lihat topik-topik berikut:
Informasi latar belakang
Untuk informasi tentang cara menghubungkan perangkat ke IoT Platform menggunakan protokol WebSocket, lihat Membuat Koneksi MQTT melalui WebSocket.Topik ini menjelaskan cara menggunakan device Link SDK yang disediakan oleh IoT Platform untuk menghubungkan perangkat serta melakukan komunikasi upstream dan downstream.
Prosedur
- Buat file JavaScript, seperti iot_device.js, di komputer Anda untuk menyimpan contoh kode Node.js.Berikut adalah contoh kode Node.js yang digunakan:
const iot = require('alibabacloud-iot-device-sdk'); // Tentukan informasi sertifikat perangkat. const productKey = 'a1W***'; const deviceName = 'device2'; const deviceSecret = 'ff01e59d1a***'; // Tentukan ID instance dari instance publik versi baru atau instance Enterprise Edition. Jika Anda menggunakan instance publik versi lama, Anda tidak perlu menentukan ID instance. const instanceId = ''; // Tentukan ID wilayah tempat produk dan perangkat berada. const region = 'cn-shanghai'; const brokerUrl = instanceId ? `wss://${instanceId}.mqtt.iothub.aliyuncs.com:443` : `wss://${productKey}.iot-as-mqtt.${region}.aliyuncs.com:443`; const device = iot.device({ productKey: `${productKey}`, deviceName: `${deviceName}`, deviceSecret: `${deviceSecret}`, brokerUrl, tls: true, }); // Dengarkan acara koneksi: Hubungkan perangkat ke IoT Platform melalui koneksi MQTT, aktifkan perangkat untuk berlangganan topik khusus, dan gunakan topik khusus tersebut untuk mengirim pesan ke IoT Platform. device.on('connect', () => { device.subscribe(`/${productKey}/${deviceName}/user/get`); console.log('terhubung dengan sukses!'); device.publish(`/${productKey}/${deviceName}/user/update`, 'hello world!'); }); // Dengarkan acara pesan. device.on('message', (topic, payload) => { console.log(topic, payload.toString()); }); // Dengarkan acara kesalahan. device.on('error', (error) => { console.error(error); }); // Untuk memutuskan perangkat dari IoT Platform, hapus dua garis miring (//) di awal kode berikut dan panggil fungsi end. //device.end();Anda harus mengonfigurasi parameter yang dijelaskan dalam tabel berikut sesuai dengan kasus penggunaan aktual, seperti informasi perangkat.
Parameter Contoh Deskripsi productKey a1W*** Sertifikat perangkat yang tersisa setelah Anda menambahkan perangkat. Untuk informasi lebih lanjut, lihat Buat perangkat. Anda bisa mendapatkan informasi sertifikat device2 di halaman Device Details di Konsol IoT Platform.
deviceName device2 deviceSecret ff01e59d1a*** instanceId '' ID instance. Anda dapat melihat ID instance di halaman Overview di IoT Platform console. - Jika ID instance ditampilkan, Anda harus mengonfigurasi parameter ini.
- Jika halaman Overview atau ID instance tidak ditampilkan di konsol IoT Platform, tentukan string kosong (
iotInstanceId = "") untuk parameter ini.
Untuk informasi tentang instance IoT Platform, lihat Ikhtisar.
region cn-shanghai ID wilayah tempat instance IoT Platform Anda berada. Untuk informasi lebih lanjut tentang ID wilayah, lihat Wilayah. - Buka Command Prompt dan jalankan perintah cd untuk masuk ke direktori tempat file iot_device.js disimpan. Di direktori tersebut, jalankan perintah npm untuk mengunduh pustaka device Link SDK. Gambar berikut menunjukkan pustaka yang diunduh.
npm install alibabacloud-iot-device-sdk --save
- Di Command Prompt, masukkan perintah berikut untuk menjalankan file iot_device.js dan memulai perangkat.
node iot_device.jsTanggapan berikut menunjukkan bahwa perangkat terhubung ke IoT Platform dan pesan dipublikasikan.
Lihat log dan uji pesan downstream
- Masuk ke Konsol IoT Platform.
- Di sudut kiri atas konsol, pilih wilayah tempat IoT Platform berada. Di halaman Ikhtisar, klik instance that you want to manage.null Jika halaman Overview tidak ditampilkan, Anda akan dialihkan ke halaman Produk.
- Di panel navigasi di sebelah kiri, pilih .device2 ditampilkan di tab Device List, dan perangkat berada dalam status Online.

- Di kolom Aksi device2, klik View. Di halaman Device Details, klik tab Device Log lalu klik View.Lihat log perangkat di tab Cloud run log pada halaman Log Perangkat.

- Di daftar log, temukan pesan yang Jenis Beban Kerjanya adalah Device-to-cloud Messages dan klik View untuk melihat isi pesan.

- Uji pesan downstream dengan mengirim pesan dari IoT Platform ke perangkat.
- Pilih . Di tab Device List pada halaman Perangkat, temukan device2 dan klik View di kolom Aksi.
- Di halaman Device Details, klik tab Topic List, temukan topik
/a1W***/device2/user/getdi bagian Topik Berlangganan, dan klik Publish. - Masukkan pesan dan klik OK.

- Kembali ke Command Prompt dan periksa apakah perangkat menerima pesan. Jika pesan downstream bekerja dengan benar, pesan akan diterima.

Anda juga bisa kembali ke tab Cloud run log untuk melihat log pesan.
