gpt4 book ai didi

node.js - 如何使用 Node.js 将 wifi 凭据添加到 wpa_supplicant?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:22:44 25 4
gpt4 key购买 nike

我想将 Wifi 凭证添加到 /etc/wpa_supplicant/wpa_supplicant.conf。 (debian linux) 使用 Node.js

配置文件看起来像

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
ssid="homewifi"
psk="homepassword"
key_mgmt=WPA-PSK
}

我想添加另一个网络,比如

ssid="anotherwifi"
psk="anotherpsk"

<强>1。如何使用Node.js代码添加网络?

//maybe like this?
var original = exec("sudo cat wpa_supplicant.conf");
var new_network = {ssid: "anotherwifi", psk: "anotherpsk"};
exec("sudo save ? original + network?)

<强>2。是网络配置中的 key_mgmt,这是必不可少的 key 吗?如果我不知道怎么办?

(事实上,我想使用 wifi 接入点将 wifi 凭据保存到 headless (headless)物联网设备 - 用户通过网络服务器将信息发送到设备)

最佳答案

我写了一个示例代码供您引用,希望对您有所帮助。

const exec = require('child_process').exec;
const async = require('async');

const SSID = "MyWifiAP";
const PSK = "12345678";

exec('wpa_cli add_network', function(error, stdout, stderr)
{
if(error !== null) {
console.log('error: ' + error);
}
else {
let net_id = stdout.substr((stdout.indexOf('wlan') + 7)).trim();

async.series([
function(callback) {
exec('wpa_cli set_network ' + net_id + ' ssid \'\"' + SSID + '\"\'', function(error, stdout)
{
if(error) {
console.error(error);
}
else {
console.log('SSID result: ' + stdout);
callback();
}
});
},
function(callback) {
exec('wpa_cli set_network ' + net_id + ' psk \'\"' + PSK + '\"\'', function(error, stdout)
{
if(error) {
console.error(error);
}
else {
console.log('PSK result: ' + stdout);
callback();
}
});
},
function(callback) {
exec('wpa_cli save_config', function(error, stdout)
{
if(error) {
console.error(error);
}
else {
console.log('select_network result: ' + stdout);
callback();
}
});
}
], function(errs, results) {
if(errs) throw errs; // errs = [err1, err2, err3]
console.log('results: ' + results); // results = [result1, result2, result3]
});
}
});

关于node.js - 如何使用 Node.js 将 wifi 凭据添加到 wpa_supplicant?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40458023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com