如何通过Python代码让行空板连接WiFi?

2023-01-091.2万
AI 快速预览详细 收起
本文介绍了如何通过Python代码让行空板连接指定的WiFi。首先,可以通过requests库发送HTTP请求,利用/wifi/scan、/wifi/connect和/wifi/status三个接口来实现WiFi的扫描、连接和状态查看。其次,还可以使用nmcli工具,通过os.system运行终端命令来连接WiFi。这两种方法都可以避免手动配置WiFi的繁琐步骤,适用于需要自动配置WiFi的场景。


问题来源
根据行空板的官方文档,行空板连接wifi是通过访问板载的网页来配置的:
如何通过Python代码让行空板连接WiFi?图1

如果不用浏览器,是否可以通过板子上运行的python程序来让行空板连接指定的wifi呢?

解决问题
根据这个页面在扫描、连接和查看ip的时候的信息,可以看到它提供了三个接口,分别是:
/wifi/scan      扫描周围的wifi,GET请求
/wifi/connect?ssid=xxx&password=xxx    连接对应wifi,传入wifi的名字和密码,GET请求
/wifi/status    查看wifi状态 ,GET请求

那么我们就可以通过网络通信中最常用的requests库进行请求即可,测试代码如下:

注:其中ssid和password改成需要连接的wifi名字和密码。
  1. import requests
  2. print("扫描WIFI:")
  3. my_variable = requests.get("http://10.1.2.3/wifi/scan")
  4. print(my_variable.text)
  5. print("连接WiFi:")
  6. my_variable = requests.get("http://10.1.2.3/wifi/connect?ssid=yourSSID123&password=yourPASSWD") # ssid和password后面改为需要连接的wifi名字密码
  7. print(my_variable.text)
  8. print("查看WiFi连接情况:")
  9. my_variable = requests.get("http://10.1.2.3/wifi/status")
  10. print(my_variable.text)
复制代码





查看结果:
可以看到ip就是连接成功了,如果一次运行不行就多运行几次,如果需要更稳定,可以根据返回的结果来判断多次运行。
如何通过Python代码让行空板连接WiFi?图2
图形化也可以加载request库实现:
如何通过Python代码让行空板连接WiFi?图3



完。



---------------------------------------------------------------



方法二:
以上方法使用的是行空板的web服务接口,比较麻烦,还可以直接使用其他wifi配置工具,例如nmcli进行配置,更加灵活,例如可以配置无密码的wifi。




终端指令:
扫描周围的wifi
  1. nmcli dev wifi
复制代码


连接WiFi热点,其中给你wifi_name和wifi_password改为需要连接的
  1. nmcli dev wifi connect "wifi_name" password "wifi_password" ifname wlan0
复制代码
断开当前连接的WiFi热点
  1. nmcli dev disconnect iface wlan0
复制代码


Python代码:
在Python中可以使用os.system来运行终端命令
  1. #  -*- coding: UTF-8 -*-
  2. import os
  3. # 让行空板连接yourSSID123的热点,密码是yourPASSWD
  4. os.system('nmcli dev wifi connect "yourSSID123" password "yourPASSWD" ifname wlan0')
复制代码




如何通过Python代码让行空板连接WiFi?图4如何通过Python代码让行空板连接WiFi?图5
















创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(8)
耘想
66666666666666666
怀若谷
干货,学习了
花生编程
赞!!!
花生编程
感谢分享
rzegkly
喜欢,收藏了
三春牛-创客
不错,懂了。
三春牛-创客
厉害厉害
云天
好分享,收藏了
- 没有更多了 -