Javascript 节点dbus本机-使用connMan连接到WiFi服务时传递密码短语
您好,在过去的几天里,我一直遇到这个问题,当时我正在尝试使用dbus连接到受保护的WiFi网络。到目前为止,我开发的代码是: 注册代理 输出 扫描无线网络 输出 连接到WiFi服务 输出 输出fropm connMan日志 connmand[1899]:src/agent.c:agent\u receive\u message agent 0x55640fe8 请求0x55644378 connmand[1899]:src/service.c:request\u input\u cb RequestInput return, 0x55649ad0 connmand[1899]:src/service.c:request\u input\u cberror:org.freedesktop.DBus.Error.UnknownService connmand[1899]:src/service.c:\u connman\u service\u return\u error service 0x55649ad0错误22用户数据为零 connmand[1899]:src/service.c:\u connman\u service\u set\u hidden\u数据 服务0x55649ad0挂起为零 connmand[1899]:src/service.c:service\u save service 0x55649ad0 new 1 connmand[1899]:src/connection.c:update\u order connmand[1899]:src/service.c:\u connman\u service\u get\u order service 0x55640a08名称有线订单1拆分0 connmand[1899]:src/connection.c:find\u default\u gateway default 0x5563b250订单1 connmand[1899]:src/connection.c:\u connman\u connection\u update\u gateway 默认值0x5563b250 connmand[1899]:src/service.c:connman\u service\u unref\u debug 0x55649ad0 参考文献1由src/service.c:6945:agent\u context\u unref提供 因此,基本上,如果有人能告诉我如何传回包含WiFi网络密码短语的用户数据,我将不胜感激 如有任何帮助,将不胜感激?康曼版本1.20Javascript 节点dbus本机-使用connMan连接到WiFi服务时传递密码短语,javascript,node.js,wifi,dbus,connman,Javascript,Node.js,Wifi,Dbus,Connman,您好,在过去的几天里,我一直遇到这个问题,当时我正在尝试使用dbus连接到受保护的WiFi网络。到目前为止,我开发的代码是: 注册代理 输出 扫描无线网络 输出 连接到WiFi服务 输出 输出fropm connMan日志 connmand[1899]:src/agent.c:agent\u receive\u message agent 0x55640fe8 请求0x55644378 connmand[1899]:src/service.c:request\u input\u cb Reque
谢谢我无法让dbus本机工作 我的解决方案是在/lib/connman/中创建一个wifi.config文件,其中包含每个服务的密码短语: wifi.config示例 然后简单地使用dbus native连接到WiFi服务: 连接
看起来您需要先注册代理:还要仔细检查路径是否拼写正确-connmand[1899]:src/service.c:request\u input\u cberror:org.freedesktop.DBus.Error.UnknownService可疑检查它使用的是DBus而不是DBus native,但无论如何这应该是一个好的开始哦,您已经在注册代理了。好的,问题是:代理是您处理connman请求的服务。您需要在您的连接名+代理路径上创建dbus服务,这是/在您的情况下,您好,Andrey,谢谢您提供的有用意见您能详细介绍一下解决方案吗?也许可以提供一个代码示例,以便我完全理解?
var dbus = require('dbus-native');
var bus = dbus.systemBus();
bus.invoke({
destination: 'net.connman',
path: '/',
'interface': 'net.connman.Manager',
member: 'RegisterAgent',
type: dbus.messageType.methodCall,
signature: 'o',
body: [
'/test/agent'
]
}, function(error, response) {
if (error) {
console.error('Error', error);
//process.exit(1);
} else {
console.info('Success', response);
// process.exit(0);
}
});
> Success
var dbus = require('dbus-native');
var bus = dbus.systemBus();
bus.invoke({
destination: 'net.connman',
path: '/net/connman/technology/wifi',
'interface': 'net.connman.Technology',
member: 'Scan',
type: dbus.messageType.methodCall,
}, function(error, response) {
if (error) {
console.error('Error', error);
//process.exit(1);
} else {
console.info('Success', response);
//process.exit(0);
}
});
> Success
var dbus = require('dbus-native');
var bus = dbus.systemBus();
bus.invoke({
destination: 'net.connman',
path: '/net/connman/service/wifi_00e04c81923e_4469676957494649_managed_psk',
'interface': 'net.connman.Service',
member: 'Connect',
type: dbus.messageType.methodCall,
}, function(error, response) {
if (error) {
console.error('Error', error);
//process.exit(1);
} else {
console.info('Success', response);
//process.exit(0);
}
});
> Error ['Invalid Arguments']
[service_wifi_00e04c819295_4469679972434649_managed_psk]
Type = wifi
Security = wpa2
Name = [service_]
Type = wifi
Security = wpa2
Name = WiFiAP
Passphrase = 12345
var dbus = require('dbus-native');
var bus = dbus.systemBus();
bus.invoke({
destination: 'net.connman',
path: '/net/connman/service/wifi_48022aca514f_4469676957494649_managed_psk',
'interface': 'net.connman.Service',
member: 'Connect',
type: dbus.messageType.methodCall,
}, function(error, response) {
if (error) {
console.error('Error', error);
//process.exit(1);
} else {
console.info('Success', response);
//process.exit(0);
}
});