Golang API для WPA соискателя - PullRequest
       34

Golang API для WPA соискателя

0 голосов
/ 02 сентября 2018

Мне нужно подключить безголовое устройство IoT (Raspberry Pi) к сети Wi-Fi. У меня есть собственный Linux, созданный с использованием YoctoProject. У меня не установлено connman или Network Manager . Есть только WPA Supplicant. Мои услуги написаны на Голанге.

Звоните wpa_cli слишком сложно и ненадежно. Пробуя несколько доступных пакетов, я решил написать свой. Смотри ниже в ответе.

1 Ответ

0 голосов
/ 02 сентября 2018

Отвечая на мой вопрос ...

wpa-connect - API для подключения устройства Linux к сети Wi-Fi (Golang)

Этот пакет был разработан в рамках проекта IoT, чтобы добавить подключение Wi-Fi к безголовым Raspberry Pi-подобным устройствам. Нет необходимости устанавливать connman или Network Manager . wpa-connect связывается с соискателем WPA через D-Bus (система шины сообщений linux).

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.

...