renew workflow

This commit is contained in:
IrvingGao committed 2024-05-25 21:59:11 +08:00
1 parent 25d73178a6
commit bac826b237
2 files changed
+256 -101

No files matched your search

+111 -2
View File
@@ -6,13 +6,27 @@
Linux嵌入板卡发出热点供客户端连接,客户端通过浏览器访问热点,连接到Linux嵌入板卡的热点,并进行交互。
- 连接逻辑:
1. 检测 Wi-Fi 连接状态,若已连接,则退出程序
2. 扫描 Wi-Fi 网络并获取Wi-Fi列表
3. 关闭Wi-Fi,并启动热点和web服务器
4. 等待用户选择 Wi-Fi 网络并输入密码
5. 关闭热点并重新扫描 Wi-Fi,连接到用户选择的 Wi-Fi 网络
1. 扫描Wi-Fi,并将Wi-Fi list保存为json格式,存储在本地,命名为`scaned_wifi_list.json`;
2. 检查Wi-Fi连接状态,若已连接,则退出程序;
3. 关闭Wi-Fi,并启动热点和web服务器,web服务器监听80端口,并提供一个页面,页面中包含Wi-Fi列表;
4. 等待用户选择 Wi-Fi 网络并输入密码,并连接到用户选择的 Wi-Fi 网络;
5. 如果Wi-Fi连接成功,则显示Wi-Fi连接成功页面,并提供交互页面;
6. 如果Wi-Fi连接失败,则重新扫描Wi-Fi,并提示用户重新连接.
### 环境准备
#### (1) 安装依赖项:
```
sudo apt-get update
sudo apt-get install hostapd dnsmasq
sudo apt-get install -y hostapd dnsmasq
```
#### (2) 克隆项目到本地并安装依赖:
@@ -31,6 +45,62 @@ sudo pip install flask psutil
#### (4) 配置开机自启动服务项:
##### (4.1) 配置WiFi热点服务项:
1. 创建一个service文件:
```
sudo vim /etc/systemd/system/hotspot.service
```
2. 在打开的文件中,添加以下内容:
```
[Unit]
Description=Hotspot Service
After=network.target
[Service]
ExecStart=create_ap wlan0 eth0 Takway-Toys --no-virt
User=root
[Install]
WantedBy=multi-user.target
```
请确保将`wlan0`替换为你的无线网卡接口,将`eth0`替换为你的有线网卡接口,`Takway-Toys`替换为你想要设置的热点名称。
3. 保存并关闭文件。
4. 重新加载systemd配置:
```
sudo systemctl daemon-reload
```
5. 启用并启动Hotspot service:
```
# sudo systemctl enable hotspot.service
sudo systemctl start hotspot.service
```
6. 如果需要停止Hotspot service,可以使用以下命令:
```
sudo systemctl stop hotspot.service
```
7. 如果需要查看Hotspot service的状态:
```
sudo systemctl status hotspot.service
```
##### (4.2) 配置WiFi热点管理服务项:
- 编辑
```
@@ -76,4 +146,43 @@ sudo systemctl status wifi_hotspot.service
- 手动连接`http://192.168.12.1/`
- 连接成功后,输入用户名密码,即可进入交互界面。
- 连接成功后,输入用户名密码,即可进入交互界面。
## 其他参考命令
- 创建热点:
```
sudo systemctl start hotspot.service
```
- 关闭热点:
```
sudo systemctl stop hotspot.service
```
- 开启Wi-Fi连接:
```
nmcli dev wifi connect Innoxsz-Public password innox2023
```
- 断开Wi-Fi连接:
```
nmcli dev disconnect iface wlan0
```
- 扫描Wi-Fi:
```
nmcli dev wifi
```
- 检查Wi-Fi连接状态:
```
nmcli dev status
```