Skip to content

PopcornComputer/wifi-onboarding

Repository files navigation

Wifi Onboarding

Copyright (C) 2017 Next Thing Co. [email protected]

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/


API

Method Path Use
GET /ap/list Returns an array of Service structs.
GET /ap/status Returns a Status struct.
POST /ap/connect Accepts values from a urlencoded form or multipart form. Returns a Status struct.

Example Calls

Request access point list:

curl -H 'Accept: application/json' http://192.168.84.1:8080/ap/list
Protip: You can use any arbitrary address

Example Response:

[
  {
    "Path": "/net/connman/service/<example path>",
    "Name": "<example SSID>",
    "Type": "wifi",
    "State": "idle",
    "Error": "",
    ...
  }
]

Request a connection:

curl -X POST -H 'Accept: application/json' -F 'accessPointPath=<Path here>' -F 'accessPointPassKey=<Password here>' http://192.168.84.1:8080/ap/connect

Example Response:

{
  "has_credentials": true,
  "connecting": true,
  "connected": false,
  "error": nil,
}

Status Struct

  type Status struct {
  HasCredentials bool
  Connecting     bool
  Connected      bool
  Error          error
}

Flow