All Products
Search
Document Center

IoT Platform:C Link SDK

Last Updated:Jun 21, 2026

Topik ini menjelaskan cara menggunakan C Link SDK untuk menghubungkan perangkat simulasi (dalam contoh ini, sakelar lampu malam) ke IoT Platform melalui MQTT dan memublikasikan data ke topik kustom.

Prasyarat

IoT Platform telah diaktifkan.

Buat produk dan perangkat

  1. Login ke IoT Platform console dan klik kartu instans target.

  2. Di panel navigasi sebelah kiri, pilih Devices > Products, lalu klik Create Product.

  3. Di halaman Create Product, atur parameter Product Name menjadi NightLightSwitch dan parameter Category menjadi Custom Category. Gunakan nilai default untuk parameter lainnya, lalu klik OK.

  4. Di halaman Create Product, klik Add pada bagian Add Device.

  5. Di halaman Devices, klik Add Device.

  6. Di kotak dialog Add Device, masukkan nama perangkat, misalnya LightSwitch, lalu klik OK.

    Untuk Nickname, masukkan Quick Start.

  7. Di kotak dialog The devices have been added., klik Copy Device Certificate, lalu simpan informasi sertifikat perangkat ke server lokal. Untuk informasi selengkapnya, lihat Device certificates.

Persiapkan lingkungan pengembangan

Dalam contoh ini, lingkungan pengembangan adalah Ubuntu 16.04, dan alat pengembangan yang digunakan adalah gcc dan make. Untuk informasi selengkapnya, lihat Project configurations.

  1. Instal Ubuntu 16.04.

    Untuk informasi selengkapnya, lihat Ubuntu.

  2. Jalankan perintah berikut untuk menginstal gcc dan make:

    sudo apt-get -y install gcc make

Konfigurasikan SDK

  1. Unduh paket demo dari Demo file ke lingkungan pengembangan, lalu ekstrak paket tersebut.

    IoT Platform memungkinkan Anda mengembangkan fitur kustom untuk Link SDK. Untuk informasi selengkapnya, lihat Obtain Link SDK for C.

  2. Buka file ./LinkSDK/demos/mqtt_basic_demo.c dan konfigurasikan parameter terkait.

    • Konfigurasikan parameter yang digunakan untuk menentukan informasi koneksi perangkat agar perangkat dapat terhubung ke IoT Platform. Tabel berikut menjelaskan parameter tersebut. Contoh kode:

      char *product_key       = "a18wP******";
      char *device_name       = "LightSwitch";
      char *device_secret     = "uwMTmVAMnGGHaAkqmeDY6cHxxB******";
      char  *mqtt_host = "a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com";

      Parameter

      Contoh

      Deskripsi

      mqtt_host

      a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com

      Titik akhir (endpoint) tempat perangkat akan terhubung.

      • Untuk instans Edisi Perusahaan dan instans publik baru: Temukan endpoint di panel Development Configuration pada halaman Instance Details.

      • Jika Anda menggunakan instans publik versi sebelumnya, endpoint instans publik memiliki format ${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com.

      Untuk informasi selengkapnya tentang instans dan endpoint, lihat View instance endpoints.

      product_key

      a18wP******

      Informasi sertifikat perangkat. Sertifikat perangkat disimpan di server lokal Anda setelah perangkat dibuat.

      Anda dapat melihat sertifikat perangkat di halaman Device Details di IoT Platform console. Untuk informasi selengkapnya, lihat Obtain device verification information.

      device_name

      LightSwitch

      device_secret

      uwMTmVAMnGGHaAkqmeDY6cHxxB******

    • Tentukan topik tempat perangkat akan berlangganan untuk menerima pesan dari IoT Platform. Contoh: /a18wP******/LightSwitch/user/get. Contoh kode:

      Catatan

      Jika ingin menggunakan fitur ini, hapus komentar pada kode yang diapit oleh pasangan kombinasi garis miring dan tanda bintang (/**/).

          {
              char *sub_topic = "/a18wP******/LightSwitch/user/get";
              res = aiot_mqtt_sub(mqtt_handle, sub_topic, NULL, 1, NULL);
              if (res < 0) {
                  printf("aiot_mqtt_sub failed, res: -0x%04X\n", -res);
                  return -1;
              }
          }

      Parameter

      Contoh

      Deskripsi

      sub_topic

      /a18wP******/LightSwitch/user/get

      Topik tempat perangkat memiliki izin Subscribe. Perangkat dapat menerima pesan dari IoT Platform melalui topik ini.

      Anda dapat melihat topik kustom di IoT Platform console. Di halaman Product Details, klik tab Topic Categories. Di tab yang muncul, klik Topic Category. Untuk informasi selengkapnya, lihat What is a topic.

      Dalam contoh ini, topik kustom default digunakan. Penjelasan parameter:

      • a1oGs****** menunjukkan ProductKey perangkat.

      • LightSwitch menunjukkan DeviceName perangkat.

    • Tentukan topik yang dapat digunakan perangkat untuk mengirim pesan. Contoh: /a18wP******/LightSwitch/user/update. Lalu, tentukan konten pesan yang ingin dikirim. Contoh kode:

      Catatan

      Jika ingin menggunakan fitur ini, hapus komentar pada kode yang diapit oleh pasangan kombinasi garis miring dan tanda bintang (/**/).

           {
              char *pub_topic = "/a18wP******/LightSwitch/user/update";
              char *pub_payload = "{\"id\":\"1\",\"version\":\"1.0\",\"params\":{\"LightSwitch\":0}}";
              res = aiot_mqtt_pub(mqtt_handle, pub_topic, (uint8_t *)pub_payload, (uint32_t)strlen(pub_payload), 0);
              if (res < 0) {
                  printf("aiot_mqtt_sub failed, res: -0x%04X\n", -res);
                  return -1;
              }
          }

      Parameter

      Contoh

      Deskripsi

      pub_topic

      /a18wP******/LightSwitch/user/update

      Topik tempat perangkat memiliki izin Publish. Perangkat dapat menggunakan topik ini untuk mengirim pesan ke IoT Platform.

      Anda dapat melihat topik kustom di IoT Platform console. Di halaman Product Details, klik tab Topic Categories. Di tab yang muncul, klik Topic Category. Untuk informasi selengkapnya, lihat What is a topic.

      Dalam contoh ini, topik kustom default digunakan. Penjelasan parameter:

      • a1oGs****** menunjukkan ProductKey perangkat.

      • LightSwitch menunjukkan DeviceName perangkat.

      pub_payload

      {\"id\":\"1\",\"version\":\"1.0\",\"params\":{\"LightSwitch\":0}}

      Pesan yang dikirim ke IoT Platform.

      Dalam contoh ini, topik kustom digunakan. Anda dapat menggunakan format pesan kustom.

  3. Di direktori root SDK, jalankan perintah make.

    File kode contoh yang dapat dieksekusi ./output/mqtt-basic-demo dihasilkan.

Hasil eksekusi

Di direktori root SDK, jalankan perintah berikut untuk menjalankan file yang dapat dieksekusi:

./output/mqtt-basic-demo
  • Anda dapat melihat hasil eksekusi di perangkat.

    • Data log berikut menunjukkan bahwa perangkat LightSwitch terhubung ke IoT Platform.

      [1619768570.433][LK-0313] MQTT user calls aiot_mqtt_connect api, connect
      [1619768570.433][LK-0317] LightSwitch&a18wP******
      [1619768570.433][LK-0318] 933FE333F78F42E2AAD384F629C771277E06D459577942EA1F04ACFDFE******
      core_sysdep_network_establish host a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com port 8883, type 0
      establish tcp connection with server(host='a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[8883])
      success to establish tcp, fd=3
      local port: 49122
      [1619768570.599][LK-1000] establish mbedtls connection with server(host='a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[8883])
      [1619768570.600][LK-1000] success to establish mbedtls connection, (cost 45134 bytes in total, max used 47870 bytes)
      [1619768570.644][LK-0313] MQTT connect success in 212 ms
      AIOT_MQTTEVT_CONNECT
    • Data log berikut menunjukkan bahwa perangkat LightSwitch berlangganan topik /a18wP******/LightSwitch/user/get.

      [1620373302.144][LK-0309] sub: /a18wP******/LightSwitch/user/get

      Setelah perangkat berhasil berlangganan topik, Anda dapat kembali ke IoT Platform console. Di tab Topics pada halaman Device Details, temukan topik tersebut dan klik Publish Message di kolom Actions. Di kotak dialog Publish Message, masukkan pesan, misalnya, This is a test message from Alibaba Iot Platform., untuk mensimulasikan pengiriman pesan dari IoT Platform ke perangkat.

    • Data log berikut menunjukkan bahwa perangkat LightSwitch menggunakan topik /a18wP******/LightSwitch/user/update untuk mengirimkan pesan ke IoT Platform.

      [1619768570.644][LK-0309] pub: /a18wP******/LightSwitch/user/update
      [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 4C 69 67  68 74 53 77 69 74 63 68 | s":{"LightSwitch
      [LK-030A] > 22 3A 30 7D 7D       
  • Anda dapat login ke IoT Platform console untuk melihat status perangkat dan log operasi.

    • Di panel navigasi sebelah kiri, pilih Devices > Devices. Lalu, temukan perangkat dan lihat status perangkat tersebut. Jika nilai di kolom State/Enabled adalah Online, berarti perangkat telah terhubung ke IoT Platform.

    • Di panel navigasi sebelah kiri, pilih Maintenance > Device Log. Di halaman Device Log, pilih produk NightLightSwitch. Anda dapat melihat log yang mencatat saat perangkat produk tersebut online, berlangganan topik, dan mengirimkan pesan.

Jika terjadi error selama debugging, perbaiki error tersebut sesuai petunjuk yang diberikan. Untuk informasi selengkapnya, lihat Error codes received by devices.

Langkah selanjutnya

  • Setelah perangkat terhubung ke IoT Platform, Anda dapat mengelola dan memantau perangkat tersebut. Untuk informasi selengkapnya tentang fitur-fitur IoT Platform, lihat Features.

  • Untuk informasi selengkapnya tentang cara menggunakan Link SDK for C untuk mengonfigurasi fitur lanjutan, lihat Overview.