Expand description
An implementation of the Improv Wi-Fi BLE peripheral protocol for Linux.
This crate provides the device side of the Improv Wi-Fi configuration protocol via BlueZ’s D-Bus API. It is intended for embedded Linux devices that need to be provisioned onto a Wi-Fi network without a display or input peripherals.
Modules§
- rpc
- Improv-Wi-Fi RPC packet types and parsing.
Structs§
- Auth
Handle - Cloneable handle for triggering authorisation from another task.
- Capabilities
- Capabilities bitfield, as transmitted on the Capabilities characteristic.
- Connection
- A D-Bus connection.
- Device
Info - Information returned by the Device Info command (
0x03). - Improv
Wifi - Improv-Wi-Fi service handle. Construct via
ImprovWifi::install, then callImprovWifi::runto drive advertising, the authorisation timeout, and the shutdown-on-Provisionedbehaviour. - Improv
Wifi Config - Top-level configuration for the Improv-Wi-Fi service.
- Network
- One Wi-Fi network discovered by
WifiConfigurator::scan. - Owned
Object Path - Owned
ObjectPath
Enums§
- Authorize
Mode - Whether the device requires explicit user authorisation before accepting credentials.
- Error
- Improv Wi-Fi error codes, as transmitted on the Error State characteristic.
- Status
- Improv Wi-Fi service state, as transmitted on the Current State characteristic.
Constants§
- ADVERTISEMENT_
SERVICE_ DATA_ UUID - 16-bit Service Data UUID used in BLE advertisements (
0x4677). - CHARACTERISTIC_
UUID_ CAPABILITIES - CHARACTERISTIC_
UUID_ CURRENT_ STATE - CHARACTERISTIC_
UUID_ ERROR_ STATE - CHARACTERISTIC_
UUID_ RPC_ COMMAND - CHARACTERISTIC_
UUID_ RPC_ RESULT - SERVICE_
UUID
Traits§
- Wifi
Configurator - A backend that knows how to talk to the host’s network stack.
Functions§
- find_
adapter - Resolve a BlueZ adapter object path. Pass
Nonefor the first adapter found. - power_
on_ adapter - Power on the BlueZ adapter at
adapter_path(sets thePoweredproperty totrue).