簡體   English   中英

如何使用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 它為您提供掃描,連接和斷開連接到wifi的接口。 基於嵌入式OS實用程序。 以下是控制器和Web表單的示例:

用PHP連接到wi-fi - 屏幕

<?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) {
    //
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM