【问题标题】:KAA Failed to create kaa_configuration_manager_set_root_receiverKAA 无法创建 kaa_configuration_manager_set_root_receiver
【发布时间】:2017-07-07 09:25:11
【问题描述】:

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

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

由于树莓派只有一个演示,我选择“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);
      

这里,我收到了error_code = -4

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

【问题讨论】:

    标签: c kaa


    【解决方案1】:

    错误代码在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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-20
      • 1970-01-01
      相关资源
      最近更新 更多