如何使用Javascript和PHP从浏览器连接到WIFI


How to connect to WIFI from a browser with Javascript and PHP?

我正在创建一个Linux数字看板盒,我的客户可以购买它,并选择在上面显示什么。目前,它在Firefox中启动,检查是否有互联网,查询我的服务器,并获得一个Firefox更改为的唯一URL。如果它没有任何互联网连接,我会显示一个页面"你没有互联网,请连接以太网电缆或连接到WIFI。"

我的问题是,让我的客户端从Firefox连接无线热点的最佳方式是什么?目前我的想法是:

我添加了一个"连接无线"按钮,它用一些javascript调用一个php脚本,该脚本通过SSH连接到BOX(localhost),并使用connmanctl首先找到所有WIFI热点,如果他们需要密码。然后Javascript显示这一点,并再次通过SSH进行连接等等。

你知道一个开源系统吗?还是更好的方法?

这就是我要做的。
您可以使用函数shell_exec运行系统代码。在PHP脚本中使用此函数可以执行Linux发行版的本地WiFi连接可能性。如何为您的发行版做到这一点最有可能在这里得到答案
祝你好运!

我在我的项目中使用php wifi。它为您提供了扫描、连接和断开无线网络连接的接口。基于嵌入式操作系统实用程序。以下是控制器和web表单的示例:

使用PHP连接到无线网络-屏幕

<?php
use Sanchescom'WiFi'WiFi;
class Example
{
    public $device;
    /**
     * @throws Exception
     */
    public function getAllNetworks()
    {
        $allNetworks = WiFi::scan()->getAll();
        if (count($allNetworks) > 0) {
            foreach ($allNetworks as $network) {
                echo $network . "'n";
            }
        }
    }
    /**
     * @param $ssid
     * @param $password
     * @throws Exception
     */
    public function connect($ssid, $password)
    {
        $networks = WiFi::scan()
            ->getBySsid($ssid);
        if (count($networks) > 0) {
            $networks[0]->connect($password, $this->device);
        } else {
            echo "Network $ssid wasn't found!'r'n";
        }
    }
    /**
     * @throws Exception
     */
    public function disconnect()
    {
        $connectedNetworks = WiFi::scan()->getConnected();
        foreach ($connectedNetworks as $network) {
            $network->disconnect($this->device);
        }
    }
}
$example = new Example();
try {
    $example->device = 'en1';
    $example->getAllNetworks();
    $example->connect('Redmi', '12345');
    $example->disconnect();
} catch (Exception $e) {
    //
}