- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Bluez-5.43 并使用 dbus API。
尝试使用 WriteValue 方法将值写入特征时,出现以下错误:
GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Method "WriteValue" with signature "ay" on interface "org.bluez.GattCharacteristic1" doesn't exist.
如果有人帮助我解决这个问题,我将不胜感激:)
这是导致此问题的代码:
GVariant *char_value = g_variant_new_from_data(G_VARIANT_TYPE ("ay"), buffer, *buffer_len, TRUE, NULL, NULL);
if (char_value == NULL){
printf("converting value error\n");
return -1;
}
else{
printf("converting value succeed\n");
g_dbus_proxy_call_sync (char_write_proxy, "WriteValue", g_variant_new ("(@ay)", char_value), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
printf("lign 154\n");
if (error != NULL){
printf("write failed: %s\n", error->message);
return -1;
}
else
break;
}
}
最佳答案
WriteValue() 签名实际上是“aya{sv}”,换句话说,您需要一个(通常为空)字典作为第二个参数。
文档非常好:https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/gatt-api.txt
构建字典的方法有多种,我更喜欢 Variantbuilder。像这样的事情:
GVariantBuilder builder;
g_variant_builder_init (&builder, G_VARIANT_TYPE("a{sv}"));
write_value_argument = g_variant_new ("(@aya{sv})", char_value, &builder);
关于c - org.bluez.GattCharacteristic1 WriteValue 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44135462/
我正在尝试使用 Adafruit Bluefruit LE(蓝牙 4 模块)与 arduino 通信,一切都已设置并配对等等,但我在 GattCharacteristic 上遇到了 ValueChan
我正在尝试连接到 BLE 设备,然后保持连接状态(因为我必须每秒写入大约 1 次特性。虽然我可以成功连接到设备,正如能够看到此日志 System.out.println("dev connected.
This question和我的问题类似。但在我的情况下,我有不止一台设备想要为他们捕获更改事件。在字段级创建 GattCharacteristic 和 GattDeviceService 对象的实例
我在获取特征的描述符时遇到问题,它总是返回 null。我的代码有一小段: public static final String CHARACTERISTIC_UPDATE_NOTIFICATION_D
我是一名优秀的程序员,十分优秀!