【问题标题】:Connecting to Wifi via python script - for Raspberry Pi3通过 python 脚本连接到 Wifi - 用于 Raspberry Pi3
【发布时间】:2019-03-04 22:15:39
【问题描述】:

您好,我目前正在为树莓派开发 Pyqt5,我需要在我的 ui_window 中建立 Wifi 连接

问题是,有一些库,但对于所有这些库,至少我得到 2 个错误。 像: 如果我尝试这个:https://github.com/emlid/pywificontrol 我收到一条消息:

文件“/home/pi/Desktop/pywificontrol-master/wificontrol/init.py”,第 1 行,在 从 wificontrol 导入 WiFiControl ImportError:无法导入名称“WiFiControl”

如果我尝试这个:https://pypi.org/project/python-wifi/

我收到一条消息说: init 中的文件“/home/pi/.local/lib/python3.5/site-packages/pythonwifi/iwlibs.py”,第 1228 行 TypeError: 不能使用 str 来初始化带有 typecode 'c

的数组

我确实尝试了其他一些库,但都没有成功。它们中的大多数都没有维护。

所以,伙计们,有人已经使用过类似的东西..你能给我一些建议吗?我真的陷入了这个问题,因为我必须让软件用户选择他想要使用的 Wifi 连接。他将使用触摸液晶显示器,并且需要选择连接方式。

【问题讨论】:

  • 你试过pip install wifi吗?这里有使用示例:stackoverflow.com/questions/20470626/…
  • 抱歉回复晚了。我需要使用 pip3,因为我目前正在使用 Python3。所以,我不能使用 pip install wifi。 @rassar
  • @Marco 只需使用pip3 install wifi 然后...无论如何,我尝试了这个 pip,它适用于扫描 wifi 但不适用于连接到 wifi,即使在 sudo 上...似乎它使用 @ 987654326@ 和 rpi 使用 ifconfig

标签: python python-3.x raspberry-pi wifi


【解决方案1】:

为此,您可以使用 os.system() 函数并通过执行以下 bash 命令连接到网络:

$ iwconfig wlan0 essid 名称密钥密码

替换wlan0 n'y游览网络接口,名称为网络名,密码为实际密码

所以python代码是:

import os
interface = 'wlan0'
name = ‘Wifi’
password = ‘password’
os.system('iwconfig ' + interface + ' essid ' + name + ' key ' + password)

【讨论】:

    【解决方案2】:

    如果你想为 python 3 安装 WiFi,你可以编写这个命令:

    sudo python3 -m pip install wifi
    

    它非常适合我的树莓派 pi3

    【讨论】:

    • 你能用这个 pip 实际连接到 wifi 吗?我只是让它用于扫描,当我尝试连接时(我以 root 身份运行它)它失败了。
    • 你试过 sudo iwlist wlan0 扫描吗?
    • 是的,我只是让它用于扫描,当我尝试连接时(我以 root 身份运行它)它失败了
    • 根据文档,这应该是一个命令,但是当我尝试运行它时找不到它。我可以将其作为模块导入。我不能使用 python3 -m wifi 并且文档提供了将其用作命令的方法,但没有参考将其用作 Python 代码中的库。你对在 Python 代码中使用它有什么看法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2017-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多