KAA Gagal membuat kaa_configuration_manager_set_root_receiver

Saya ingin mengontrol GPIO titik akhir (Raspberry pi 3).

Saya mencoba menggabungkan dua aplikasi demo KAA menjadi satu. ("Analisis data Cassandra" dan "Pengumpulan data")

Karena hanya ada satu demo untuk Raspberry Pi, saya memilih "Cassandra data analytic".

Dan saya telah menggunakan "Demo pengumpulan data" untuk mengontrol titik akhir dari server kaa.

Sekarang, saya ingin menerapkan kontrol GPIO titik akhir dari server kaa pada "Analisis data Cassandra".

Inilah prosedur saya:

  1. Pilih Aplikasi -> "Analisis data Cassandra" di WEB UI.
  2. Tambahkan skema baru (Skema konfigurasi) ikuti "Demo pengumpulan data" dan saya mengubah suhu menjadi GPIO_PIN_4 (tipe integer).
  3. Hasilkan SDK.
  4. Salin *tar.gz ke folder "libs".
  5. Ubah kaa_demo.c,

    1. tambahkan file tajuk

      #include "extensions/configuration/kaa_configuration_manager.h"
      #include "extensions/configuration/kaa_configuration_manager.c"
      
    2. Konfigurasikan pengelola notifikasi di main()

      kaa_configuration_root_receiver_t receiver = {
          .context = NULL,
          .on_configuration_updated = on_configuration_updated
      };
      
      error_code = kaa_configuration_manager_set_root_receiver(
          kaa_client_get_context(kaa_client)->configuration_manager,
          &receiver);
      

Di sini, saya mendapat error_code = -4

Adakah yang bisa memberi tahu saya cara mengatasi kesalahan ini? Terima kasih


c kaa
person Cloud Lee    schedule 07.07.2017    source sumber


Jawaban (1)


Kode kesalahan ditentukan di src/kaa/kaa_error.h. Kesalahan tertentu -4 didefinisikan sebagai KAA_ERR_BADPARAM, yang berarti salah satu parameternya salah.

Jika Anda memeriksa kode sumber untuk fungsi kaa_configuration_manager_set_root_receiver, menjadi jelas bahwa salah satu parameternya adalah NULL. &receiver dijamin bukan null, jadi parameter yang salah pasti kaa_client_get_context(kaa_client)->configuration_manager.

Hal ini kemungkinan disebabkan oleh ekstensi konfigurasi yang dinonaktifkan. -DWITH_EXTENSION_CONFIGURATION=ON harus diteruskan ke perintah cmake C SDK. Periksa file CMake Anda dan ubah nilai WITH_EXTENSION_CONFIGURATION menjadi ON.

person Alexey Shmalko    schedule 10.07.2017