-1

ヘッドレス IoT デバイス (Raspberry Pi) を Wi-Fi ネットワークに接続する必要があります。YoctoProject を使用してビルドしたカスタム Linux があります。connmanまたはNetwork Managerがインストールされていません。WPA サプリカントのみがあります。私のサービスは Golang で書かれています。

wpa_cli の呼び出しはトリッキーすぎて信頼できません。利用可能ないくつかのパッケージを試してみた結果、自分で作成することにしました。以下の回答を参照してください。

4

1 に答える 1

2

私自身の質問に答える...

wpa-connect - Linux デバイスを Wi-Fi ネットワーク (Golang) に接続するための API

このパッケージは、ヘッドレス Raspberry Pi のようなデバイスに Wi-Fi 接続を追加するために、IoT プロジェクトの一部として開発されました。connmanまたはNetwork Managerをインストールする必要はありません。 wpa-connectは、D-Bus (Linux メッセージ バス システム) を介して WPA サプリカントと通信します。

Github リポジトリ https://github.com/mark2b/wpa-connect

例 Wi-Fi ネットワークに接続する

import wifi "github.com/mark2b/wpa-connect"

if conn, err := wifi.ConnectManager.Connect(ssid, password, time.Second * 60); err == nil {
    fmt.Println("Connected", conn.NetInterface, conn.SSID, conn.IP4.String(), conn.IP6.String())
} else {
    fmt.Println(err)
}

Wi-Fi ネットワークをスキャンする

import wifi "github.com/mark2b/wpa-connect"

if bssList, err := wifi.ScanManager.Scan(); err == nil {
    for _, bss := range bssList {
        print(bss.SSID, bss.Signal, bss.KeyMgmt)
    }
}

MIT ライセンスの下でリリースされたパッケージ。

于 2018-09-02T18:27:05.203 に答える