全部产品
Search
文档中心

IoT Platform:C Link SDK

更新时间:Jul 02, 2025

Topik ini menjelaskan cara menggunakan Link SDK untuk C guna menghubungkan perangkat ke IoT Platform dan mengaktifkan komunikasi.

Prasyarat

IoT Platform telah diaktifkan.

Informasi latar belakang

Anda dapat mengonfigurasi Link SDK untuk C guna menghubungkan perangkat simulasi ke IoT Platform melalui Message Queuing Telemetry Transport (MQTT). Dalam contoh ini, digunakan perangkat bernama LightSwitch yang dapat mengirimkan data ke IoT Platform menggunakan topik kustom.

Untuk informasi lebih lanjut, lihat Apa itu IoT Platform?.

Buat produk dan perangkat

  1. Masuk ke Konsol IoT Platform. Kemudian, klik kartu public instance.

  2. Di panel navigasi sisi kiri, pilih Devices > Products. Di halaman Produk, klik Create Product.

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

    创建产品

  4. Di halaman Buat Produk, klik Add di bagian Tambah Perangkat.

  5. Di halaman Devices, klik Add Device.

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

    添加设备

  7. Di kotak dialog The devices have been added., klik Copy Device Certificate. Lalu, simpan informasi sertifikat perangkat ke server lokal. Untuk informasi lebih lanjut, lihat Sertifikat Perangkat.

Persiapkan lingkungan pengembangan

Dalam contoh ini, lingkungan pengembangan adalah Ubuntu 16.04, dengan alat pengembangan gcc dan make. Untuk informasi lebih lanjut, lihat Konfigurasi Proyek.

  1. Instal Ubuntu 16.04.

    Untuk informasi lebih lanjut, 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 File Demo ke lingkungan pengembangan, lalu ekstrak paket tersebut.

    IoT Platform memungkinkan Anda mengembangkan fitur kustom untuk Link SDK. Untuk informasi lebih lanjut, lihat Dapatkan Link SDK untuk C.

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

    • Konfigurasikan parameter yang digunakan untuk menentukan informasi koneksi perangkat guna menghubungkan perangkat 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 tempat Anda ingin menghubungkan perangkat.

      • Jika Anda menggunakan instans publik versi sebelumnya, titik akhir instans publik tersebut dalam format ${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com.

      product_key

      a18wP******

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

      Anda dapat melihat sertifikat perangkat di halaman Device Details di Konsol IoT Platform. Untuk informasi lebih lanjut, lihat Dapatkan informasi verifikasi perangkat.

      device_name

      LightSwitch

      device_secret

      uwMTmVAMnGGHaAkqmeDY6cHxxB******

    • Tentukan topik yang ingin diikuti oleh perangkat untuk menerima pesan dari IoT Platform. Contoh: /a18wP******/LightSwitch/user/get. Contoh kode:

      Catatan

      Jika Anda ingin menggunakan fitur ini, hapus komentar pada kode yang diapit oleh 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 gagal, res: -0x%04X\n", -res);
                  return -1;
              }
          }

      Parameter

      Contoh

      Deskripsi

      sub_topic

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

      Topik yang memiliki izin Subscribe. Perangkat dapat menerima pesan dari IoT Platform menggunakan topik ini.

      Anda dapat melihat topik kustom di Konsol IoT Platform. Di halaman Product Details, klik tab Topic Categories. Pada tab yang muncul, klik Topic Category. Untuk informasi lebih lanjut, lihat Topik.

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

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

      • LightSwitch menunjukkan DeviceName perangkat.

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

      Catatan

      Jika Anda ingin menggunakan fitur ini, hapus komentar pada kode yang diapit oleh 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 gagal, res: -0x%04X\n", -res);
                  return -1;
              }
          }

      Parameter

      Contoh

      Deskripsi

      pub_topic

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

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

      Anda dapat melihat topik kustom di Konsol IoT Platform. Di halaman Product Details, klik tab Topic Categories. Pada tab yang muncul, klik Topic Category. Untuk informasi lebih lanjut, lihat Topik.

      Dalam contoh ini, topik kustom default digunakan. Deskripsi 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 sampel yang dapat dieksekusi ./output/mqtt-basic-demo akan 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 Anda berlangganan topik, Anda dapat kembali ke Konsol IoT Platform. Di tab Topics halaman Device Details, temukan topik dan klik Publish Notification di kolom Aksi. Di kotak dialog Publish Notification, masukkan pesan, seperti Ini adalah pesan uji dari Alibaba IoT Platform.. Lalu, kirim 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 masuk ke Konsol IoT Platform untuk melihat status perangkat dan log operasi.

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

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

Jika terjadi kesalahan selama debugging, perbaiki kesalahan sesuai petunjuk. Untuk informasi lebih lanjut, lihat Kode Kesalahan Perangkat.

Apa yang harus dilakukan selanjutnya

  • Setelah perangkat terhubung ke IoT Platform, Anda dapat mengelola dan memantau perangkat. Untuk informasi lebih lanjut tentang fitur IoT Platform, lihat Fitur.

  • Untuk informasi lebih lanjut tentang cara menggunakan Link SDK untuk C guna mengonfigurasi fitur lanjutan, lihat Ikhtisar.