KAA无法创建kaa_configuration_manager_set_root_receiver

时间:2017-07-07 09:25:11

标签: c kaa

我想控制端点的GPIO(Raspberry pi 3)。

我尝试将两个KAA演示应用程序合并为一个。 (“Cassandra数据分析”和“数据收集”)

由于Raspberry Pi只有一个演示版,我选择“Cassandra数据分析”。

我使用“数据收集演示”来控制来自kaa服务器的端点。

现在,我想在“Cassandra数据分析”中从kaa服务器实现端点的控制GPIO。

这是我的程序:

  1. 选择应用程序 - > WEB UI上的“Cassandra数据分析”。
  2. 添加新架构(配置架构),请按照“数据收集演示” 我将温度修改为GPIO_PIN_4(整数类型)。
  3. 生成SDK。
  4. 将* tar.gz复制到“libs”文件夹
  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);
      
  6. 在这里,我得到了error_code = -4

    有人能告诉我如何解决这个错误吗? 感谢

1 个答案:

答案 0 :(得分: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