我想控制端点的GPIO(Raspberry pi 3)。
我尝试将两个KAA演示应用程序合并为一个。 (“Cassandra数据分析”和“数据收集”)
由于Raspberry Pi只有一个演示版,我选择“Cassandra数据分析”。
我使用“数据收集演示”来控制来自kaa服务器的端点。
现在,我想在“Cassandra数据分析”中从kaa服务器实现端点的控制GPIO。
这是我的程序:
修改kaa_demo.c,
添加标题文件
#include "extensions/configuration/kaa_configuration_manager.h"
#include "extensions/configuration/kaa_configuration_manager.c"
在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 :(得分: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
。