{"id":15658097,"url":"https://github.com/muka/pi-wifi","last_synced_at":"2025-05-05T16:41:55.232Z","repository":{"id":57588211,"uuid":"287814015","full_name":"muka/pi-wifi","owner":"muka","description":"Simple WIFI setup over network manager","archived":false,"fork":false,"pushed_at":"2020-11-05T06:20:02.000Z","size":91,"stargazers_count":18,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-25T13:56:14.999Z","etag":null,"topics":["first-boot","network-manager","raspberry-pi","wifi-setup"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/muka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-15T19:44:24.000Z","updated_at":"2025-02-13T17:45:15.000Z","dependencies_parsed_at":"2022-09-21T14:29:11.240Z","dependency_job_id":null,"html_url":"https://github.com/muka/pi-wifi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muka%2Fpi-wifi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muka%2Fpi-wifi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muka%2Fpi-wifi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muka%2Fpi-wifi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muka","download_url":"https://codeload.github.com/muka/pi-wifi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242756738,"owners_count":20180196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["first-boot","network-manager","raspberry-pi","wifi-setup"],"created_at":"2024-10-03T13:10:57.989Z","updated_at":"2025-03-09T21:30:59.203Z","avatar_url":"https://github.com/muka.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pi-wifi\n\nSimple WIFI setup over bluetooth\n\nThis servie uses network manager API to connect to a WIFI network.\n\nThe implementation offers two interfaces\n\n- a bluetooth service\n- a rest API for local(host) usage by other services\n\n## Example\n\nYou can use `go run main.go` on a linux machine to start the software.\n\nThen point your browser to http://localhost:9099/ to see an example usage.\n\n## Implementation \n\n### Bluetooth\n\nThe BLE server exposes one service `12342233-0000-1000-8000-00805f9b34fb` with two characteristics\n\n1. `0x3344` that supports\n   - read - return the connectivity status as enum with values connected, limited, unknown, disconnected\n   - write - accept a UTF8 string in the format WIFI:T:WPA;S:\u003cssid\u003e;P:\u003cpassword\u003e;H:false; (if ssid or password contains : or ; they must be backslashed eg \\;\n2. `0x4455` that support read and list the available APs the wifi device found. The response is in the format `SSID;strength\\n` a double \\n indicates the end of the list\n\n### HTTP API\n\nThe service exposes also an HTTP API to intereact with WIFI connections\n\n- `/connect` connect to a WIFI connection. Expects a body in the format `{ \"payload\": \"WIFI:T:WPA;S:your ssid;P:your password;H:false;;\" }`\n- `/status` return the connection status with format `{\"status\": \"connected\"}`\n- `/listap` list the reachable APs in format `{\"accessPoints\": [ { \"ssid\": \"example\", \"strength\": 54 } ]}`\n\n\nThe connection string format is based on https://github.com/zxing/zxing/wiki/Barcode-Contents#wi-fi-network-config-android-ios-11","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuka%2Fpi-wifi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuka%2Fpi-wifi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuka%2Fpi-wifi/lists"}