全部产品
Search
文档中心

IoT Platform:Menghubungkan Perangkat ke IoT Platform dan Mengirimkan Data

更新时间:Jul 02, 2025

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

Catatan

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.

  1. Login ke instance ECS. Untuk informasi lebih lanjut tentang cara login ke instance ECS, lihat Metode untuk Menghubungkan ke Instance ECS.

  2. Jalankan perintah berikut untuk menginstal GCC dan Make:

    sudo apt-get install -y build-essential make gcc
  3. Unggah file LinkSDK.zip dan ekstrak file tersebut.

    1. Unggah File Lokal ke Instance ECS.

    2. Jalankan perintah berikut untuk menginstal unzip:

      apt update
      apt install unzip
    3. Pergi ke direktori tempat file LinkSDK.zip berada dan jalankan perintah berikut untuk mengekstrak file:

      unzip LinkSDK.zip
  4. Pergi ke direktori /LinkSDK/demos, buka file data_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

    Device1

    device_secret

    8c684ef*************

    mqtt_host

    iot-cn-******.mqtt.iothub.aliyuncs.com

    Titik 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.

  5. 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);
        }
  6. 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);
  7. Di direktori root /LinkSDK, jalankan perintah berikut untuk mengompilasi program contoh:

    make clean
    make

    File data-model-basic-demo yang dihasilkan disimpan di direktori ./output.

  8. Jalankan perintah berikut untuk mengeksekusi program contoh:

    ./output/data-model-basic-demo

    Jika 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 = success
  9. Login 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.

    1. Di bilah navigasi sebelah kiri, pilih Devices > Devices. Di halaman Perangkat, temukan Device1 dan lihat status perangkat. Nilai Online di kolom Device Status menunjukkan bahwa perangkat terhubung ke IoT Platform.

      image.png

    2. 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.

      image.png

Apa yang Harus Dilakukan Selanjutnya

Teruskan Data ke OTS