Untuk menghubungkan perangkat ke IoT Platform menggunakan Message Queuing Telemetry Transport (MQTT) gateway, Anda harus terlebih dahulu membuat gateway MQTT. Topik ini menjelaskan langkah-langkah pembuatan gateway MQTT.
Prasyarat
Pastikan telah membeli instance Exclusive Enterprise Edition. Untuk panduan pembelian instance, lihat Beli Instance Enterprise Edition.
Informasi latar belakang
Untuk informasi lebih lanjut tentang penggunaan gateway, lihat Gunakan Gateway MQTT untuk Menghubungkan Perangkat ke IoT Platform.
Buat gateway
Masuk ke Konsol IoT Platform.
Pada tab Overview, klik instance Exclusive Enterprise Edition yang ingin dikelola.
Di panel navigasi sisi kiri, pilih . Pada halaman yang muncul, klik Add Gateway.
Pada langkah Basic Information, konfigurasikan parameter yang diperlukan dan klik Next. Tabel berikut menjelaskan parameter tersebut.
Parameter
Deskripsi
Nama Gateway
Nama dari gateway. Nama harus unik dalam instance. Nama harus memiliki panjang 4 hingga 30 karakter dan dapat berisi huruf, angka, serta garis bawah (_).
Protokol
Pilih MQTT.
Nomor Port Kustom
Nilai valid: 1024 hingga 65535. Nilai default: 1883.
Aktifkan Penguraian Data
Tentukan apakah akan mengaktifkan fitur penguraian data untuk perangkat gateway.
IoT Platform meneruskan data dari perangkat gateway. Anda dapat mengaktifkan fitur penguraian data sesuai dengan kebutuhan bisnis Anda. Anda dapat mengimplementasikan metode
transformPayload()dalam skrip penguraian data untuk mengonversi data mentah yang dikirim oleh perangkat menjadi data dalam format JSON standar atau format data yang didefinisikan dalam protokol Alink untuk model Thing Specification Language (TSL). Untuk informasi lebih lanjut tentang fitur penguraian data, lihat Penguraian Pesan.Jenis Otentikasi
Verifikasi Satu Pihak
Jika Anda memilih opsi ini, Anda harus mengimpor informasi verifikasi perangkat ke IoT Platform. Informasi verifikasi mencakup nama pengguna, kata sandi, dan nomor seri (SN) perangkat. IoT Platform memverifikasi perangkat berdasarkan informasi verifikasi.
Sertifikasi Pihak Ketiga
Jika Anda memilih opsi ini, Anda harus menentukan layanan verifikasi pihak ketiga yang ingin Anda gunakan. Anda dapat memilih Alibaba Cloud Function Compute atau layanan verifikasi perangkat berbasis HTTPS. Untuk informasi lebih lanjut tentang Alibaba Cloud Function Compute, lihat Apa itu Function Compute?
Alibaba Cloud Function Compute: Jika Anda memilih opsi ini, Anda harus mengonfigurasi parameter Device-verified FC Service, Device-verified FC Function, dan Authorize. Anda dapat memilih fungsi Function Compute yang ada atau membuat fungsi baru untuk verifikasi perangkat. Parameter input dan output dari fungsi yang Anda buat harus valid. Anda dapat menentukan nama fungsi kustom. Untuk informasi tentang persyaratan untuk parameter input dan output dari fungsi verifikasi perangkat, lihat Parameter Fungsi Function Compute untuk verifikasi perangkat.
Klik Create Service untuk pergi ke konsol Function Compute dan membuat layanan. Untuk informasi tentang layanan Function Compute, lihat Kelola layanan.
Klik Create Function untuk pergi ke konsol Function Compute dan membuat fungsi. Untuk informasi tentang fungsi Function Compute, lihat Kelola fungsi.
Jika peran
AliyunIOTAccessingFCRoletidak tersedia, klik Create RAM Role untuk pergi ke konsol RAM dan membuat peran tersebut. Untuk informasi tentang cara membuat peran RAM dan memberikan izin kepada peran tersebut, lihat Buat peran RAM.
External HTTPS: Jika Anda memilih opsi ini, Anda harus mengonfigurasi parameter HTTPS URL for Device Verification. Parameter Custom Device Verification Parameters bersifat opsional.
URL untuk verifikasi perangkat harus dimulai dengan
https://. IoT Platform mengirimkan permintaan HTTPS untuk memanggil layanan verifikasi perangkat kustom. Parameter input dan output dari permintaan HTTP harus valid. Untuk informasi tentang persyaratan parameter, lihat Parameter Permintaan HTTPS untuk verifikasi perangkat.Anda dapat mengonfigurasi hingga 10 parameter verifikasi perangkat kustom dalam format pasangan kunci-nilai.
Parameter Key: nama parameter yang dapat memiliki panjang hingga 64 karakter.
Parameter Value: nilai parameter yang dapat memiliki panjang hingga 64 karakter. Anda dapat menetapkan bidang Nilai Parameter sebagai variabel dalam format
${Nama Variabel}. Variabel berikut didukung:${username}: nama pengguna yang dikirimkan oleh perangkat untuk membentuk koneksi MQTT.${password}: kata sandi yang dikirimkan oleh perangkat untuk membentuk koneksi MQTT.${clientId}: ID klien yang dikirimkan oleh perangkat untuk membentuk koneksi MQTT.${cert.***}: sertifikat perangkat.***dapat berupacn,serial, atauissuer.${userProperties.***}: dataUserPropertykustom dalam paket CONNECT.***adalah bidang kustom.
Aktifkan Verifikasi Perangkat Berbasis Sertifikat X.509
Aktifkan verifikasi perangkat berbasis sertifikat X.509
Nilai valid untuk parameter Enable OCSP:
Disabled
OCSP Verification for Server Certificate
OCSP Verification for Client Certificate
Client and Server-side OCSP Verification
CatatanOnline Certificate Status Protocol (OCSP) adalah protokol Internet yang digunakan oleh otoritas sertifikat (CA) untuk memeriksa status pencabutan sertifikat.
Ketika klien mengirim pesan ke server, server melakukan verifikasi OCSP pada sertifikat klien. Jika sertifikat klien dicabut, server menutup koneksi.
Waktu hidup (TTL) default untuk informasi OCSP yang di-cache berkisar antara 5 menit hingga 1 jam. Setelah informasi OCSP yang di-cache kedaluwarsa, stapling OCSP sisi server tidak berlaku sampai informasi OCSP diperoleh kembali.
Nonaktifkan verifikasi perangkat berbasis sertifikat X.509
Nilai valid untuk parameter Enable OCSP:
Disabled
OCSP Verification for Server Certificate
CatatanOnline Certificate Status Protocol (OCSP) adalah protokol Internet yang digunakan oleh otoritas sertifikat (CA) untuk memeriksa status pencabutan sertifikat.
Ketika klien mengirim pesan ke server, server melakukan verifikasi OCSP pada sertifikat klien. Jika sertifikat klien dicabut, server menutup koneksi.
Waktu hidup (TTL) default untuk informasi OCSP yang di-cache berkisar antara 5 menit hingga 1 jam. Setelah informasi OCSP yang di-cache kedaluwarsa, stapling OCSP sisi server tidak berlaku sampai informasi OCSP diperoleh kembali.
Tabel 1 Parameter Fungsi Function Compute untuk Verifikasi Perangkat
Tipe
Parameter
Tipe data
Diperlukan
Deskripsi
Parameter permintaan
userName
String
Ya
Nama pengguna yang diperlukan untuk menghubungkan perangkat ke IoT Platform melalui MQTT.
Nama pengguna harus memiliki panjang 4 hingga 32 karakter, dan dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), at (@), titik (.), dan titik dua (:). Nama pengguna harus unik dalam produk.
password
String
Ya
Kata sandi yang diperlukan untuk menghubungkan perangkat ke IoT Platform melalui MQTT.
Kata sandi harus memiliki panjang 1 hingga 32 karakter, dan dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), at (@), titik (.), dan titik dua (:).
clientId
String
Ya
ID klien yang diperlukan untuk menghubungkan perangkat ke IoT Platform melalui MQTT.
certificateCommonName
String
Tidak
Bidang commonName dalam spesifikasi sertifikat X.509. Jika Anda menggunakan sertifikat X.509 untuk memverifikasi identitas perangkat, Anda harus mengonfigurasi parameter ini.
Parameter respons
result
String
Ya
Hasil verifikasi. Nilai true menunjukkan bahwa verifikasi berhasil. Nilai false menunjukkan bahwa verifikasi gagal.
message
String
Tidak
Pesan kesalahan yang dikembalikan jika verifikasi gagal.
deviceName
String
Tidak
DeviceName yang sesuai dengan nama pengguna yang dikembalikan jika verifikasi berhasil.
Pertama kali Anda menghubungkan perangkat ke IoT Platform, IoT Platform membuat perangkat berdasarkan nilai balik parameter deviceName.
Contoh respons Fungsi Function Compute untuk verifikasi perangkat:
{ "result":"true", "deviceName":"device_TH", "message":"" }Tabel 2 Parameter Permintaan HTTPS untuk Verifikasi Perangkat
Tipe
Parameter
Tipe data
Diperlukan
Deskripsi
Contoh
Metode permintaan
Method
String
Ya
Tetapkan nilainya ke POST.
POST Content-Type: application/json body:{ "username": "UN001", "password": "PW001", "certificateCommonName": "CN001" }Header
Content-Type
String
Ya
Format pengkodean data yang didefinisikan dalam header HTTPS. Hanya
application/jsonyang valid.Jika format pengkodean lain ditentukan, terjadi kesalahan.
Body permintaan
username
String
Ya
Nama pengguna yang diperlukan untuk menghubungkan perangkat ke IoT Platform melalui MQTT.
Nama pengguna harus memiliki panjang 4 hingga 32 karakter, dan dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), at (@), titik (.), dan titik dua (:). Nama pengguna perangkat harus unik dalam produk.
password
String
Ya
Kata sandi yang diperlukan untuk menghubungkan perangkat ke IoT Platform melalui MQTT.
Kata sandi harus memiliki panjang 1 hingga 32 karakter, dan dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), at (@), titik (.), dan titik dua (:).
certificateCommonName
String
Tidak
Bidang commonName dalam spesifikasi sertifikat X.509. Jika Anda menggunakan sertifikat X.509 untuk memverifikasi identitas perangkat, Anda harus mengonfigurasi parameter ini.
Body respons
deviceName
String
Ya
DeviceName yang sesuai dengan nama pengguna yang dikembalikan jika verifikasi berhasil.
Pertama kali Anda menghubungkan perangkat ke IoT Platform, IoT Platform membuat perangkat berdasarkan nilai balik parameter deviceName.
body:{ "deviceName": "device_TH" }Selesaikan langkah Certificate Configuration dan klik OK.
Konfigurasikan sertifikat
CatatanSertifikat yang dikonfigurasi pada langkah ini harus dalam format PEM.
Anda harus mengonfigurasi parameter Server Certificate dan Private Key of Server Certificate.
Perangkat yang terhubung ke IoT Platform menggunakan gateway MQTT hanya mendukung Transport Layer Security (TLS). Untuk memastikan keamanan bisnis, Anda harus menentukan sertifikat CA dan kunci privat dari server asli tempat perangkat terhubung.
Sebagai contoh, rantai sertifikat Anda berisi sertifikat yang diurutkan dalam urutan berikut: sertifikat root server, sertifikat perantara server, dan sertifikat server. Sertifikat perantara server dapat mencakup beberapa tingkat sertifikat perantara, seperti Sertifikat Perantara A dan Sertifikat Perantara B. Dalam hal ini, Anda harus mengonfigurasi parameter pada langkah ini berdasarkan instruksi berikut:
Server Certificate: Tentukan sertifikat dalam rantai sertifikat dalam urutan terbalik. Tentukan sertifikat server terlebih dahulu, kemudian tentukan sertifikat perantara server (Sertifikat Perantara B dan Sertifikat Perantara A).
Private Key of Server Certificate: Tentukan kunci privat dari sertifikat server.
Jika Anda telah mengaktifkan verifikasi perangkat berbasis sertifikat X.509, Anda harus mengonfigurasi parameter Device Root Certificate.
Sebagai contoh, rantai sertifikat Anda berisi sertifikat yang diurutkan dalam urutan berikut: sertifikat root perangkat, sertifikat perantara perangkat, dan sertifikat perangkat. Sertifikat perantara perangkat dapat mencakup beberapa tingkat sertifikat perantara, seperti Sertifikat Perantara A dan Sertifikat Perantara B. Dalam hal ini, Anda harus mengonfigurasi parameter pada langkah ini berdasarkan instruksi berikut:
Device Root Certificate: Tentukan sertifikat dalam rantai sertifikat dalam urutan terbalik. Tentukan sertifikat perantara perangkat (Sertifikat Perantara B dan Sertifikat Perantara A) terlebih dahulu, kemudian tentukan sertifikat root perangkat.
Jika Anda mengatur parameter Aktifkan OCSP pada langkah sebelumnya ke OCSP Verification for Server Certificate atau Client and Server-side OCSP Verification, Anda harus menetapkan parameter Trusted Certificate ke sertifikat root server pada langkah ini.
Lihat informasi tentang gateway yang Anda buat di halaman Gateway, termasuk nama, ID, URL gateway, status, dan produk terkait.
PentingSimpan URL gateway. Saat menghubungkan perangkat ke IoT Platform melalui MQTT, Anda harus mengganti titik akhir MQTT dengan URL gateway. Anda dapat menentukan URL gateway sebagai titik akhir MQTT atau mengonfigurasi catatan CNAME untuk menyelesaikan titik akhir MQTT ke URL gateway.

(Opsional) Modifikasi gateway
Setelah membuat gateway, temukan gateway di halaman Gateway dan klik Edit di kolom Tindakan. Anda dapat memodifikasi nama, informasi sertifikat, dan fungsi Function Compute dari gateway.

Hasil
Setelah membuat gateway, IoT Platform akan membuat dan mengaitkan produk dengan gateway tersebut. Nama produk berada dalam format Gateway+${Gateway ID}. Untuk melihat produk baru, pilih . Produk baru ditampilkan di halaman Produk.
Klik View di kolom Actions produk. Di halaman product details, Anda dapat melihat detail produk, seperti yang ditunjukkan pada gambar berikut.

Apa yang harus dilakukan selanjutnya
Setelah membuat gateway dengan parameter Jenis Otentikasi diatur ke Third-party Certification dan menggunakan gateway untuk menghubungkan perangkat ke IoT Platform untuk pertama kalinya, IoT Platform secara otomatis menggunakan nilai balik dari parameter deviceName sebagai nama perangkat untuk membuat perangkat.
Anda dapat menggunakan MQTT.fx untuk mensimulasikan perangkat dan menghubungkan perangkat ke IoT Platform menggunakan gateway untuk memungkinkan komunikasi. Untuk informasi lebih lanjut, lihat Gunakan MQTT.fx untuk Menghubungkan Perangkat (Function Compute untuk Verifikasi Perangkat).
Setelah membuat gateway dengan parameter Jenis Otentikasi diatur ke One-party Verification, Anda harus mengimpor informasi verifikasi perangkat untuk menambahkan perangkat ke produk gateway terkait. Untuk informasi lebih lanjut, lihat Tambahkan Beberapa Perangkat.