Setelah mendapatkan sertifikat perangkat (ProductKey, DeviceName, dan DeviceSecret), Anda dapat menghubungkan perangkat tersebut ke instans Enterprise Edition melalui Message Queuing Telemetry Transport (MQTT). Topik ini menjelaskan cara menggunakan Link SDK for C dari IoT Platform untuk mengonfigurasi perangkat simulasi dan mengirimkan data.
Prasyarat
Sebuah produk dan perangkat telah dibuat. Untuk informasi lebih lanjut, lihat Membuat Produk dan Perangkat.
Sebelum Anda Memulai
Dalam contoh ini, izin pengguna biasa digunakan untuk semua operasi. Jika diperlukan izin administrator untuk operasi tertentu, jalankan perintah sudo.
Menyiapkan Lingkungan Pengembangan
Contoh ini menggunakan Link SDK for C pada sistem operasi Linux. Kami sarankan menggunakan Ubuntu 20.04 versi 64-bit untuk mengompilasi SDK.
Sebagai contoh, instance Elastic Compute Service (ECS) dibeli dan digunakan sebagai perangkat simulasi yang dihubungkan ke IoT Platform untuk mengirimkan data. Untuk informasi lebih lanjut tentang pembelian instance ECS, lihat Membuat Instance.
Perangkat lunak berikut diperlukan untuk pengembangan dan kompilasi SDK:
make (versi 4.1 atau lebih baru) dan gcc (versi 5.4.0 atau lebih baru)
Jalankan perintah berikut untuk menginstal perangkat lunak:
sudo apt-get install -y build-essential make gcc
Memperoleh Link SDK for C
Unduh Paket Kompresi Link SDK for C V4.x dan ubah nama paket menjadi LinkSDK.zip.
Mengembangkan Program Contoh untuk Perangkat
Contoh ini menggunakan topik spesifik Thing Specification Language (TSL) untuk mengirimkan data. Anda juga dapat menggunakan topik kustom untuk mengirimkan data ke perangkat. Untuk informasi lebih lanjut, lihat Menggunakan Topik Kustom.
Login ke instance ECS. Untuk informasi lebih lanjut tentang cara login ke instance ECS, lihat Metode untuk Menghubungkan ke Instance ECS.
Jalankan perintah berikut untuk menginstal GCC dan Make:
sudo apt-get install -y build-essential make gccUnggah file
LinkSDK.zipdan ekstrak file tersebut.Jalankan perintah berikut untuk menginstal unzip:
apt update apt install unzipPergi ke direktori tempat file
LinkSDK.zipberada dan jalankan perintah berikut untuk mengekstrak file:unzip LinkSDK.zip
Pergi ke direktori
/LinkSDK/demos, buka filedata_model_basic_demo.c, lalu konfigurasikan parameter verifikasi perangkat./* TODO: Ganti variabel berikut dengan informasi tentang sertifikat perangkat Anda. */ char *product_key = "a2******"; char *device_name = "Device1"; char *device_secret = "8c684ef*************"; ...... char *mqtt_host = "iot-cn-******.mqtt.iothub.aliyuncs.com";Parameter
Contoh
Deskripsi
product_key
a2******Sertifikat perangkat yang digunakan untuk verifikasi. Sertifikat ini disimpan di server lokal setelah Anda menambahkan perangkat.
Anda juga dapat melihat sertifikat perangkat di halaman Device Details di konsol IoT Platform.
device_name
Device1device_secret
8c684ef*************mqtt_host
iot-cn-******.mqtt.iothub.aliyuncs.comTitik akhir MQTT. Di pojok kanan atas halaman Instance Details, klik View Development Configurations. Di panel Development Configurations, lihat titik akhir.
Untuk informasi lebih lanjut tentang instans, lihat Kelola Titik Akhir Instans.
Ubah kode contoh berikut untuk mengirimkan data suhu dan kelembaban:
/* Thread utama masuk mode tidur. */ while (1) { /* TODO: Kode contoh berikut menunjukkan cara mengirimkan properti dan acara. Anda dapat membuka komentar kode contoh untuk melihat hasilnya. */ demo_send_property_post(dm_handle, "{\"temperature\": 30,\"humidity\": 42}"); ...... sleep(5); }Ubah kode contoh berikut untuk berlangganan topik kustom. Topik kustom digunakan untuk menerima perintah dari IoT Platform.
aiot_mqtt_sub(mqtt_handle, "/a2******/Device1/user/get", NULL, 1, NULL);Di direktori root
/LinkSDK, jalankan perintah berikut untuk mengompilasi program contoh:make clean makeFile
data-model-basic-demoyang dihasilkan disimpan di direktori./output.Jalankan perintah berikut untuk mengeksekusi program contoh:
./output/data-model-basic-demoJika program contoh berjalan sesuai harapan, log berikut akan dihasilkan:
[1695199326.066][LK-0313] Pengguna MQTT memanggil api aiot_mqtt_connect, terhubung [1695199326.066][LK-032A] host mqtt: iot-cn-******.mqtt.iothub.aliyuncs.com [1695199326.066][LK-0317] nama pengguna: Device1&a2****** memulai koneksi tcp dengan server(host='iot-cn-******.mqtt.iothub.aliyuncs.com', port=[443]) berhasil memulai tcp, fd=3 port lokal: 36030 [1695199326.077][LK-1000] memulai koneksi mbedtls dengan server(host='iot-cn-******.mqtt.iothub.aliyuncs.com', port=[443]) [1695199326.122][LK-1000] berhasil memulai koneksi mbedtls, (menghabiskan 45382 byte secara total, maksimum digunakan 48350 byte) [1695199326.166][LK-0313] Koneksi MQTT berhasil dalam 92 ms AIOT_MQTTEVT_CONNECT [1695199326.166][LK-0309] sub: /a2******/Device1/user/get [1695199326.166][LK-0309] pub: /sys/a2******/Device1/thing/event/property/post [LK-030A] > 7B 22 69 64 22 3A 22 31 22 2C 22 76 65 72 73 69 | {"id":"1","versi [LK-030A] > 6F 6E 22 3A 22 31 2E 30 22 2C 22 70 61 72 61 6D | on":"1.0","param [LK-030A] > 73 22 3A 7B 22 74 65 6D 70 65 72 61 74 75 72 65 | s":{"temperature [LK-030A] > 22 3A 20 33 30 2C 22 68 75 6D 69 64 69 74 79 22 | ": 30,"humidity" [LK-030A] > 3A 20 34 32 7D 2C 22 73 79 73 22 3A 7B 22 61 63 | : 42},"sys":{"ac [LK-030A] > 6B 22 3A 31 7D 7D | k":1}} [1695199326.244][LK-0309] pub: /sys/a2******/Device1/thing/event/property/post_reply [LK-030A] < 7B 22 63 6F 64 65 22 3A 32 30 30 2C 22 64 61 74 | {"code":200,"dat [LK-030A] < 61 22 3A 7B 7D 2C 22 69 64 22 3A 22 31 22 2C 22 | a":{},"id":"1"," [LK-030A] < 6D 65 73 73 61 67 65 22 3A 22 73 75 63 63 65 73 | message":"succes [LK-030A] < 73 22 2C 22 6D 65 74 68 6F 64 22 3A 22 74 68 69 | s","method":"thi [LK-030A] < 6E 67 2E 65 76 65 6E 74 2E 70 72 6F 70 65 72 74 | ng.event.propert [LK-030A] < 79 2E 70 6F 73 74 22 2C 22 76 65 72 73 69 6F 6E | y.post","version [LK-030A] < 22 3A 22 31 2E 30 22 7D | ":"1.0"} [1695199326.244][LK-0A08] DM menerima balasan generik demo_dm_recv_handler, type = 0 demo_dm_recv_generic_reply msg_id = 1, code = 200, data = {}, message = successLogin ke Konsol IoT Platform, temukan instans Enterprise Edition yang ingin Anda kelola, lalu klik nama instans untuk masuk ke halaman Detail Instans. Di halaman Detail Instans, lihat status perangkat.
Di bilah navigasi sebelah kiri, pilih . Di halaman Perangkat, temukan Device1 dan lihat status perangkat. Nilai Online di kolom Device Status menunjukkan bahwa perangkat terhubung ke IoT Platform.

Klik View di kolom Actions. Di halaman detail perangkat, klik TSL Data. Di tab Data TSL, klik Status. Di tab Status, lihat status perangkat.
Dalam contoh ini, data suhu dan data kelembaban dikirimkan ke IoT Platform menggunakan kode contoh di file
data_model_basic_demo.c.