私自身の質問に答える...
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 ライセンスの下でリリースされたパッケージ。