Skip to content

Latest commit

 

History

History
executable file
·
158 lines (103 loc) · 4.31 KB

ImprovWiFiLibrary.md

File metadata and controls

executable file
·
158 lines (103 loc) · 4.31 KB

This document was generated from file ImprovWiFiLibrary.h at 3/30/2023, 7:34:30 PM

ImprovWiFi

class ImprovWiFi /* line 37 */

Improv WiFi class

Description

Handles the Improv WiFi Serial protocol (https://www.improv-wifi.com/serial/)

Example

Simple example of using ImprovWiFi lib. A complete one can be seen in examples/ folder.

#include <ImprovWiFiLibrary.h>

ImprovWiFi improvSerial(&Serial);

void setup() {
  improvSerial.setDeviceInfo(ImprovTypes::ChipFamily::CF_ESP32, "My-Device-9a4c2b", "2.1.5", "My Device");
}

void loop() {
  improvSerial.handleSerial();
}

Constructors

💡 ImprovWiFi(Stream *serial)

ImprovWiFi(Stream *serial) /* line 75 */

Create an instance of ImprovWiFi

Parameters

  • serial - Pointer to stream object used to handle requests, for the most cases use Serial

Type definition

🔘 typedef void(OnImprovError)(ImprovTypes::Error)

typedef void(OnImprovError)(ImprovTypes::Error) /* line 87 */

Callback function called when any error occurs during the protocol handling or wifi connection.

🔘 typedef void(OnImprovConnected)(const char *ssid, const char *password)

typedef void(OnImprovConnected)(const char *ssid, const char *password) /* line 92 */

Callback function called when the attempt of wifi connection is successful. It informs the SSID and Password used to that, it's a perfect time to save them for further use.

🔘 typedef bool(CustomConnectWiFi)(const char *ssid, const char *password)

typedef bool(CustomConnectWiFi)(const char *ssid, const char *password) /* line 97 */

Callback function to customize the wifi connection if you needed. Optional.

Methods

Ⓜ️ void handleSerial()

void handleSerial() /* line 107 */

Check if a communication via serial is happening. Put this call on your loop().

Ⓜ️ void setDeviceInfo(ImprovTypes::ChipFamily chipFamily, const char *firmwareName, const char *firmwareVersion, const char *deviceName, const char *deviceUrl)

void setDeviceInfo(ImprovTypes::ChipFamily chipFamily, const char *firmwareName, const char *firmwareVersion, const char *deviceName, const char *deviceUrl) /* line 122 */

Set details of your device.

Parameters

  • chipFamily - Chip variant, supported are CF_ESP32, CF_ESP32_C3, CF_ESP32_S2, CF_ESP32_S3, CF_ESP8266. Consult ESP Home docs for more information.
  • firmwareName - Firmware name
  • firmwareVersion - Firmware version
  • deviceName - Your device name
  • deviceUrl- The local URL to access your device. A placeholder called {LOCAL_IPV4} is available to form elaboreted URLs. E.g. http://{LOCAL_IPV4}?name=Guest. There is overloaded method without deviceUrl, in this case the URL will be the local IP.

Ⓜ️ void onImprovError(OnImprovError *errorCallback)

void onImprovError(OnImprovError *errorCallback) /* line 128 */

Method to set the typedef OnImprovError callback.

Ⓜ️ void onImprovConnected(OnImprovConnected *connectedCallback)

void onImprovConnected(OnImprovConnected *connectedCallback) /* line 133 */

Method to set the typedef OnImprovConnected callback.

Ⓜ️ void setCustomConnectWiFi(CustomConnectWiFi *connectWiFiCallBack)

void setCustomConnectWiFi(CustomConnectWiFi *connectWiFiCallBack) /* line 138 */

Method to set the typedef CustomConnectWiFi callback.

Ⓜ️ bool tryConnectToWifi(const char *ssid, const char *password)

bool tryConnectToWifi(const char *ssid, const char *password) /* line 145 */

Default method to connect in a WiFi network. It waits DELAY_MS_WAIT_WIFI_CONNECTION milliseconds (default 500) during MAX_ATTEMPTS_WIFI_CONNECTION (default 20) until it get connected. If it does not happen, an error ERROR_UNABLE_TO_CONNECT is thrown.

Ⓜ️ bool isConnected()

bool isConnected() /* line 151 */

Check if connection is established using WiFi.status() == WL_CONNECTED