Commit 78f9907c authored by waterword's avatar waterword

feat(factory): 优化 WiFi 连接功能

- 添加加密模式检测和处理
- 优化 WiFi 扫描和连接流程
- 增加系统信息更新功能
- 调整工厂测试列表页面布局
- 移除冗余代码和注释
parent a3d3dfb0
File added
......@@ -323,6 +323,7 @@
title_TEXT: "WIFI",
initWifissid: "Midea_WifiBT",
initWifipwd: "",
initencryptedMode:"",
Reminder_TEXT: "请配置SSID为Midea_WifiBT,密码为空的WIFI路由器,且确保路由器能连上外网",
wifiInfo_TEXT: "Midea_WifiBT",
wifiInfoWarn_TEXT: "Midea_WifiBT信号强度需要大于-38dB",
......@@ -1143,8 +1144,8 @@
InterValTime: function () {
console.log("=========================InterValTime====================");
wifiEventJS.connect_wifi(this.initWifissid, this.initWifipwd);
wifiEventJS.enableWLANSwitch();
wifiEventJS.connect_wifi(this.initWifissid, this.initWifipwd,this.initencryptedMode);
this.$setY("id_hide", 0)
......@@ -1194,8 +1195,8 @@
this.$setOpacity("id_hide", 0.5)
document.setAttribute('id_enableWLANPageList', 'list-set-edge-flash', false);
wifiEventJS.connect_wifi(this.initWifissid, this.initWifipwd);
wifiEventJS.enableWLANSwitch();
wifiEventJS.connect_wifi(this.initWifissid, this.initWifipwd,this.initencryptedMode);
// wifiEventJS.enableWLANSwitch();
this.testTimer = this.$setTimeout(this.InterValTime, 5000, [], this);
if (this.firstLoadInit == 1) {
......@@ -1288,6 +1289,8 @@
});
},
touchedscanWifiList: function (node, topNode, x, y) {
console.log("================touchedscanWifiList===============");
wifiEventJS.enableWLANSwitch();
factoryDivPageJump.movePage("id_enableWLANChooseOnDiv");
},
//touchedStartScanWifiButton: function (node, topNode, x, y) {
......@@ -1317,7 +1320,7 @@
console.log("touchedStartScanWifiButton");
console.log("====================================================");
this.hideShowConnectbutton(0);
wifiEventJS.connect_wifi(this.initWifissid, this.initWifipwd);
wifiEventJS.connect_wifi(this.initWifissid, this.initWifipwd,this.initencryptedMode);
setTimeout(() => {
this.hideShowConnectbutton(1);
}, 10000);
......
......@@ -27,6 +27,8 @@
// var systemCtrl = require("systemCtrl.js");
var systemCtrl = require("systemCtrl.js");
var yesJumpPage = require("factoryYesJumpPage.js");
var onestart = 1;
// var _userdata = require("userdata.js");
// var userData = _userdata.userData;
export default {
......@@ -142,15 +144,15 @@
en: 1,
index: 0,
},
{
id: "id_factoryTestTp",
name: "tp",
startup: "factoryTestTp",
top: 370,
left: 350,
en: 1,
index: 0,
},
//{
// id: "id_factoryTestTp",
// name: "tp",
// startup: "factoryTestTp",
// top: 370,
//left: 350,
// en: 1,
// index: 0,
// },
],
},
......@@ -229,12 +231,18 @@
onShow: function () {
console.log(this.$uri + "===========onShow=============");
if(userData.factoryFlag != 1){
if (userData.factoryFlag != 1) {
userData.factoryFlag = 1;
}
var process = require("@system.process")
if (process.platform == "win32") {
console.log("wifiEventJS.enableWLANScanValue()================================================1");
if (onestart) {
var wifiEventJS = require("factory_testWifi.js");
wifiEventJS.enableWLANScanValue();
console.log("wifiEventJS.enableWLANScanValue()================================================2");
onestart = 0;
}
var process = require("@system.process")
if (process.platform == "win32") {
globalThat.$FontPath = "./../re860a-v1.0/GothamMedium.ttf";
} else {
globalThat.$FontPath = "./../RE860A/GothamMedium.ttf";
......
......@@ -177,6 +177,7 @@ function startSystemInfoTimer(obj) {
if (systemInfoTimer != null) {
clearInterval(systemInfoTimer);
}
updateSystemInfo();
systemInfoTimer = setInterval(() => {
updateSystemInfo();
}, 5000);
......
This diff is collapsed.
# WiFi连接脚本
# 用法: ./connect_wifi.sh <SSID> <PSK>
#!/bin/sh
if [ $# -ne 2 ]; then
echo "用法: $0 <SSID> <PSK>"
exit 1
fi
echo "==================connect wifi ================"
set -e
SSID=$1
PSK=$2
# 终止现有的udhcpc进程
killall -9 udhcpc
if [ -z "$SSID" ]; then
echo "Usage: $0 <SSID> [PSK]"
exit 1
fi
echo "ssid :$SSID pwd :$PSK"
# 配置WiFi网络
wpa_cli -p /tmp/wpa_supplicant/sockets -i wlan0 set_network 0 ssid '\"'$SSID'\"'
usleep 10000 # 10ms缓冲
killall hostapd dnsmasq udhcpc wpa_supplicant 2>/dev/null || true
sleep 1
wpa_cli -p /tmp/wpa_supplicant/sockets -i wlan0 set_network 0 psk '\"'$PSK'\"'
usleep 10000 # 10ms缓冲
wifi_down 2>/dev/null || true
wifi_up 2>/dev/null || true
wpa_cli -p /tmp/wpa_supplicant/sockets -i wlan0 save_config
usleep 10000 # 10ms缓冲
for i in $(seq 10); do
[ -d /sys/class/net/wlan0 ] && break
echo "wait wlan0 ... $i"
sleep 0.5
done
[ -d /sys/class/net/wlan0 ] || { echo "wlan0 not found"; exit 1; }
wpa_cli -p /tmp/wpa_supplicant/sockets -i wlan0 reconfigure
usleep 200000 # 200ms缓冲设置和执行
# 重新启用网络连接
wpa_cli -p /tmp/wpa_supplicant/sockets -i wlan0 disable_network 0
usleep 10000 # 10ms缓冲
if [ -n "$PSK" ]; then
cat > /tmp/wpa_supplicant.conf <<EOF
ctrl_interface=/var/run/wpa_supplicant
update_config=1
network={
ssid="$SSID"
psk="$PSK"
key_mgmt=WPA-PSK
scan_ssid=1
}
EOF
else
cat > /tmp/wpa_supplicant.conf <<EOF
ctrl_interface=/var/run/wpa_supplicant
update_config=1
network={
ssid="$SSID"
key_mgmt=NONE
}
EOF
fi
wpa_cli -p /tmp/wpa_supplicant/sockets -i wlan0 enable_network 0
usleep 500000 # 500ms缓冲联网状态
# 启动DHCP客户端
udhcpc -b -i wlan0 -t 1 -A 1 -R -H test
echo "WiFi连接命令已执行"
wpa_supplicant -Dnl80211,wext -iwlan0 -c /tmp/wpa_supplicant.conf -B
sleep 3
if wpa_cli -iwlan0 status | grep -q "wpa_state=COMPLETED"; then
udhcpc -i wlan0 -n -q -t 5 -T 5
echo "[DONE] IP ok"
else
echo "[FAIL]"
exit 1
fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment