deebot / python-wifi-connect

Easy WiFi setup for Linux devices from your mobile phone or laptop

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

python-wifi-connect

An application that displays a wifi configuration UI for embedded Linux devices.

Inspired by the wifi-connect project written by balena.io.

Install and Run

Please read the INSTALL.md then the RUN.md files.

How it works

How it works

WiFi Connect interacts with NetworkManager, which should be the active network manager on the device's host OS.

1. Advertise: Device Creates Access Point

WiFi Connect detects available WiFi networks and opens an access point with a captive portal. Connecting to this access point with a mobile phone or laptop allows new WiFi credentials to be configured.

2. Connect: User Connects Phone to Device Access Point

Connect to the opened access point on the device from your mobile phone or laptop. The access point SSID is, by default, PFC_EDU-<name> where "name" is something random like "shy-lake" or "green-frog".

3. Portal: Phone Shows Captive Portal to User

After connecting to the access point from a mobile phone, it will detect the captive portal and open its web page. Opening any web page will redirect to the captive portal as well.

4. Credentials: User Enters Local WiFi Network Credentials on Phone

The captive portal provides the option to select a WiFi SSID from a list with detected WiFi networks and enter a passphrase for the desired network.

5. Connected!: Device Connects to Local WiFi Network

When the network credentials have been entered, WiFi Connect will disable the access point and try to connect to the network. If the connection fails, it will enable the access point for another attempt. If it succeeds, the configuration will be saved by NetworkManager.

Details

About

Easy WiFi setup for Linux devices from your mobile phone or laptop

License:GNU General Public License v3.0


Languages

Language:Python 79.2%Language:Shell 8.8%Language:HTML 7.8%Language:JavaScript 4.2%