您好我一直有這個問題在過去的幾天,試圖連接到使用DBUS受保護的WiFi網絡。所以到目前爲止,我已經開發的代碼是:節點DBUS本地 - 傳遞口令,同時連接到WiFi服務使用康曼
註冊代理
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
連接到WiFi服務
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']
輸出fropm康曼日誌
connmand[1899]: src/agent.c:agent_receive_message() agent 0x55640fe8 req 0x55644378
connmand[1899]: src/service.c:request_input_cb() RequestInput return, 0x55649ad0
connmand[1899]:src/service.c:request_input_cb()error:org.freedesktop.DBus.Error.UnknownService
connmand[1899]: src/service.c:__connman_service_return_error() service 0x55649ad0 error 22 user_data (nil)
connmand[1899]: src/service.c:__connman_service_set_hidden_data() service 0x55649ad0 pending (nil)
connmand[1899]: src/service.c:service_save() service 0x55649ad0 new 1
connmand[1899]: src/connection.c:update_order()
connmand[1899]: src/service.c:__connman_service_get_order() service 0x55640a08 name Wired order 1 split 0
connmand[1899]: src/connection.c:find_default_gateway() default 0x5563b250 order 1
connmand[1899]: src/connection.c:__connman_connection_update_gateway() default 0x5563b250
connmand[1899]: src/service.c:connman_service_unref_debug() 0x55649ad0 ref 1 by src/service.c:6945:agent_context_unref()
所以基本上,如果有人能告訴我如何傳回包含WiFi網絡密碼的用戶數據,我將不勝感激。
任何幫助將不勝感激? (康曼版本1.20)
感謝
看起來像你需要先註冊代理:https://pythonhosted.org/pyconnman/demo.html#setting-up-an-agent-to-connect-to-new-network-services – 2014-11-22 01:03:10
也複查路徑拼寫正確 - connmand [1899]:SRC/service.c:request_input_cb()錯誤:org.freedesktop.DBus.Error.UnknownService是可疑 – 2014-11-22 01:04:19
退房https://github.com/cfsghost/jsdx-connman它使用DBUS而不是dbus-native,但應該是一個好開始 – 2014-11-22 01:32:14