Gunakan kode sampel Node.js dalam topik ini untuk menghubungkan perangkat ke IoT Platform melalui channel MQTT-WebSocket.
Prasyarat
Buat sebuah Produk dan Perangkat, misalnya device2, di IoT Platform console untuk instans Anda. Dapatkan sertifikat perangkat yang berisi ProductKey, DeviceName, dan DeviceSecret. Untuk informasi selengkapnya, lihat:
Informasi latar belakang
Untuk informasi selengkapnya tentang koneksi perangkat berbasis WebSocket, lihat Koneksi MQTT-WebSocket.
Contoh ini menggunakan Link SDK sisi perangkat IoT Platform untuk mensimulasikan koneksi dan pengiriman pesan perangkat.
Link SDK sisi perangkat telah mengaktifkan enkripsi TLS. Tidak diperlukan konfigurasi tambahan.
Prosedur
-
Masuk ke IoT Platform console.
-
Pada halaman Instance Overview, temukan instans tipe data yang sesuai dan klik instans tersebut untuk membuka halaman Instance Details.
-
Di komputer lokal Anda, buat file JavaScript, misalnya iot_device.js, untuk menyimpan kode sampel Node.js.
Gunakan kode sampel Node.js berikut:
const iot = require('alibabacloud-iot-device-sdk'); // Informasi sertifikat perangkat. const productKey = 'a1W***'; const deviceName = 'device2'; const deviceSecret = 'ff01e59d1a***'; // Anda harus menentukan ID instans untuk instans publik baru dan Enterprise instances. Anda tidak perlu menentukan ID instans untuk instans publik lama. const instanceId = ''; // 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 event 'connect' untuk membuat koneksi MQTT, berlangganan topik kustom, dan mengirim pesan ke IoT Platform melalui topik kustom tersebut. device.on('connect', () => { device.subscribe(`/${productKey}/${deviceName}/user/get`); console.log('connect successfully!'); device.publish(`/${productKey}/${deviceName}/user/update`, 'hello world!'); }); // Dengarkan event 'message'. device.on('message', (topic, payload) => { console.log(topic, payload.toString()); }); // Dengarkan event 'error'. device.on('error', (error) => { console.error(error); }); // Jika Anda ingin memutus koneksi dari IoT Platform, hapus simbol komentar pada baris berikut dan panggil fungsi end(). //device.end();Ganti nilai parameter dengan informasi perangkat aktual Anda seperti yang dijelaskan dalam tabel berikut.
Parameter
Contoh
Deskripsi
productKey
a1W***
Informasi sertifikat perangkat yang disimpan saat Anda membuat perangkat. Untuk informasi selengkapnya, lihat Dapatkan sertifikat perangkat.
Anda juga dapat menemukan informasi ini di halaman Device Details untuk perangkat device2 di console.
deviceName
device2
deviceSecret
ff01e59d1a***
instanceId
''
ID instans, yang dapat Anda temukan di halaman Instance Overview di IoT Platform console.
-
Jika ID ditampilkan, Anda harus menentukannya.
-
Jika halaman Instance Overview tidak ada atau tidak tersedia ID, biarkan parameter ini kosong. Misalnya,
iotInstanceId = ''.
Untuk informasi selengkapnya tentang instans, lihat Ikhtisar instans.
region
cn-shanghai
Kode wilayah tempat perangkat IoT Platform Anda berada. Untuk daftar kode wilayah yang didukung, lihat Daftar wilayah.
-
-
Buka jendela Command Prompt dan arahkan ke direktori tempat file iot_device.js disimpan. Jalankan perintah berikut untuk menginstal library Alibaba Cloud IoT SDK.
npm install alibabacloud-iot-device-sdk --save
-
Di jendela Command Prompt, jalankan perintah berikut untuk mengeksekusi file iot_device.js dan menjalankan perangkat.
node iot_device.jsOutput menunjukkan bahwa perangkat telah terhubung dan telah menerbitkan pesan.

Lihat log operasional dan uji komunikasi downstream
-
Masuk ke IoT Platform console.
-
Di pojok kiri atas console, pilih wilayah tempat instans Anda berada. Lalu, pada halaman Instance Overview, klik instans target.
CatatanJika halaman Instance Overview tidak muncul, halaman fitur IoT Platform akan ditampilkan sebagai gantinya.
-
Di panel navigasi sebelah kiri, pilih .
Di tab Device List, status perangkat device2 adalah Online.

-
Di kolom Actions untuk perangkat device2, klik View. Di halaman Device Details, klik tab Log Service, lalu klik View Log.
Di tab IoT Platform Logs, lihat pesan log.

-
Di daftar log, temukan Device-to-Cloud Message dan klik View untuk melihat informasi yang dikirim perangkat ke IoT Platform.

-
Uji komunikasi downstream dengan mengirim pesan dari IoT Platform ke perangkat.
-
Kembali ke halaman . Di tab Device List, klik View di kolom Actions untuk device2
-
Di halaman Device Details, klik tab Topic List. Temukan topik yang telah berlangganan
/a1W***/device2/user/getdan klik Publish Message. -
Masukkan pesan dan klik Confirm.
-
Kembali ke jendela Command Prompt tempat perangkat sedang berjalan. Perangkat menerima pesan tersebut, yang menunjukkan bahwa komunikasi berhasil.

Anda juga dapat kembali ke tab IoT Platform Logs untuk melihat log komunikasi secara detail.

-