2017-07-07 105 views
0

我想控制端點(Raspberry Pi 3)的GPIO。KAA無法創建kaa_configuration_manager_set_root_receiver

我嘗試將兩個KAA演示應用程序合併到一個。 (「Cassandra數據分析」和「數據收集」)

由於Raspberry Pi只有一個演示,因此我選擇「Cassandra數據分析」。

我已經使用「數據收集演示」來控制kaa服務器的端點。

現在,我想在「Cassandra數據分析」中實現從kaa服務器端控制端點GPIO。

這裏是我的方法:

  1. 選擇應用程序 - >上WEB UI 「卡桑德拉數據分析」。
  2. 按照「數據收集演示」 添加新模式(配置模式),並將溫度修改爲GPIO_PIN_4(整數類型)。
  3. 生成SDK。
  4. 複製*的tar.gz到 「庫」 文件夾
  5. 修改kaa_demo.c,

    1. 附加頭文件

      #include "extensions/configuration/kaa_configuration_manager.h" 
      #include "extensions/configuration/kaa_configuration_manager.c" 
      
    2. 配置通知經理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); 
      

在這裏,我得到了error_code = -4

有沒有人能告訴我怎麼解決這個問題? 謝謝

回答

0

錯誤代碼在src/kaa/kaa_error.h文件中定義。特定錯誤-4被定義爲KAA_ERR_BADPARAM,這意味着其中一個參數是錯誤的。

如果您檢查source code for kaa_configuration_manager_set_root_receiver函數,很明顯其中一個參數是NULL&receiver保證是非空的,所以錯誤的參數必須是kaa_client_get_context(kaa_client)->configuration_manager

這可能是由於配置擴展被禁用。 -DWITH_EXTENSION_CONFIGURATION=ON必須傳遞給C SDK cmake命令。檢查您的CMake文件並將WITH_EXTENSION_CONFIGURATION的值更改爲ON

+0

這個答案是正確的,tks –