mirror of
https://github.com/airgradienthq/arduino.git
synced 2025-12-22 23:12:36 +01:00
Fix esp8266 compile error
This commit is contained in:
@@ -2,19 +2,21 @@
|
|||||||
#include "Arduino.h"
|
#include "Arduino.h"
|
||||||
#include "Libraries/WiFiManager/WiFiManager.h"
|
#include "Libraries/WiFiManager/WiFiManager.h"
|
||||||
#include "Libraries/Arduino_JSON/src/Arduino_JSON.h"
|
#include "Libraries/Arduino_JSON/src/Arduino_JSON.h"
|
||||||
|
|
||||||
|
#ifdef ESP32
|
||||||
#include "WiFiType.h"
|
#include "WiFiType.h"
|
||||||
#include "esp32-hal.h"
|
#include "esp32-hal.h"
|
||||||
|
|
||||||
#define WIFI_CONNECT_COUNTDOWN_MAX 180
|
|
||||||
#define WIFI_HOTSPOT_PASSWORD_DEFAULT "cleanair"
|
|
||||||
|
|
||||||
|
|
||||||
#define BLE_SERVICE_UUID "acbcfea8-e541-4c40-9bfd-17820f16c95c"
|
#define BLE_SERVICE_UUID "acbcfea8-e541-4c40-9bfd-17820f16c95c"
|
||||||
#define BLE_CRED_CHAR_UUID "703fa252-3d2a-4da9-a05c-83b0d9cacb8e"
|
#define BLE_CRED_CHAR_UUID "703fa252-3d2a-4da9-a05c-83b0d9cacb8e"
|
||||||
#define BLE_SCAN_CHAR_UUID "467a080f-e50f-42c9-b9b2-a2ab14d82725"
|
#define BLE_SCAN_CHAR_UUID "467a080f-e50f-42c9-b9b2-a2ab14d82725"
|
||||||
|
|
||||||
#define BLE_CRED_BIT (1 << 0)
|
#define BLE_CRED_BIT (1 << 0)
|
||||||
#define BLE_SCAN_BIT (1 << 1)
|
#define BLE_SCAN_BIT (1 << 1)
|
||||||
|
#endif // ESP32
|
||||||
|
|
||||||
|
#define WIFI_CONNECT_COUNTDOWN_MAX 180
|
||||||
|
#define WIFI_HOTSPOT_PASSWORD_DEFAULT "cleanair"
|
||||||
|
|
||||||
#define WIFI() ((WiFiManager *)(this->wifi))
|
#define WIFI() ((WiFiManager *)(this->wifi))
|
||||||
|
|
||||||
@@ -527,8 +529,44 @@ bool WifiConnector::hasConfigurated(void) {
|
|||||||
*/
|
*/
|
||||||
bool WifiConnector::isConfigurePorttalTimeout(void) { return connectorTimeout; }
|
bool WifiConnector::isConfigurePorttalTimeout(void) { return connectorTimeout; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set wifi connect to default WiFi
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void WifiConnector::setDefault(void) {
|
||||||
|
WiFi.begin("airgradient", "cleanair");
|
||||||
|
}
|
||||||
|
|
||||||
|
void WifiConnector::setupProvisionByPortal(WiFiManagerParameter *disableCloudParam, WiFiManagerParameter *disableCloudInfo) {
|
||||||
|
WIFI()->setConfigPortalBlocking(false);
|
||||||
|
WIFI()->setConnectTimeout(15);
|
||||||
|
WIFI()->setTimeout(WIFI_CONNECT_COUNTDOWN_MAX);
|
||||||
|
WIFI()->setBreakAfterConfig(true);
|
||||||
|
|
||||||
|
WIFI()->setAPCallback([this](WiFiManager *obj) { _wifiApCallback(); });
|
||||||
|
WIFI()->setSaveConfigCallback([this]() { _wifiSaveConfig(); });
|
||||||
|
WIFI()->setSaveParamsCallback([this]() { _wifiSaveParamCallback(); });
|
||||||
|
WIFI()->setConfigPortalTimeoutCallback([this]() {_wifiTimeoutCallback();});
|
||||||
|
if (ag->isOne() || (ag->isPro4_2()) || ag->isPro3_3() || ag->isBasic()) {
|
||||||
|
disp.setText("Connecting to", "WiFi", "...");
|
||||||
|
} else {
|
||||||
|
logInfo("Connecting to WiFi...");
|
||||||
|
}
|
||||||
|
ssid = "airgradient-" + ag->deviceId();
|
||||||
|
|
||||||
|
// ssid = "AG-" + String(ESP.getChipId(), HEX);
|
||||||
|
WIFI()->setConfigPortalTimeout(WIFI_CONNECT_COUNTDOWN_MAX);
|
||||||
|
|
||||||
|
WIFI()->addParameter(disableCloudParam);
|
||||||
|
WIFI()->addParameter(disableCloudInfo);
|
||||||
|
|
||||||
|
WIFI()->autoConnect(ssid.c_str(), WIFI_HOTSPOT_PASSWORD_DEFAULT);
|
||||||
|
|
||||||
|
logInfo("Wait for configure portal");
|
||||||
|
}
|
||||||
|
|
||||||
void WifiConnector::bleNotifyStatus(int status) {
|
void WifiConnector::bleNotifyStatus(int status) {
|
||||||
|
#ifdef ESP32
|
||||||
if (!bleServerRunning) {
|
if (!bleServerRunning) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -547,15 +585,10 @@ void WifiConnector::bleNotifyStatus(int status) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif // ESP32
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
#ifdef ESP32
|
||||||
* @brief Set wifi connect to default WiFi
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void WifiConnector::setDefault(void) {
|
|
||||||
WiFi.begin("airgradient", "cleanair");
|
|
||||||
}
|
|
||||||
|
|
||||||
int WifiConnector::scanAndFilterWiFi(WiFiNetwork networks[], int maxResults) {
|
int WifiConnector::scanAndFilterWiFi(WiFiNetwork networks[], int maxResults) {
|
||||||
Serial.println("Scanning for Wi-Fi networks...");
|
Serial.println("Scanning for Wi-Fi networks...");
|
||||||
@@ -705,34 +738,6 @@ void WifiConnector::handleBleScanRequest() {
|
|||||||
Serial.println("All WiFi scan pages sent successfully");
|
Serial.println("All WiFi scan pages sent successfully");
|
||||||
}
|
}
|
||||||
|
|
||||||
void WifiConnector::setupProvisionByPortal(WiFiManagerParameter *disableCloudParam, WiFiManagerParameter *disableCloudInfo) {
|
|
||||||
WIFI()->setConfigPortalBlocking(false);
|
|
||||||
WIFI()->setConnectTimeout(15);
|
|
||||||
WIFI()->setTimeout(WIFI_CONNECT_COUNTDOWN_MAX);
|
|
||||||
WIFI()->setBreakAfterConfig(true);
|
|
||||||
|
|
||||||
WIFI()->setAPCallback([this](WiFiManager *obj) { _wifiApCallback(); });
|
|
||||||
WIFI()->setSaveConfigCallback([this]() { _wifiSaveConfig(); });
|
|
||||||
WIFI()->setSaveParamsCallback([this]() { _wifiSaveParamCallback(); });
|
|
||||||
WIFI()->setConfigPortalTimeoutCallback([this]() {_wifiTimeoutCallback();});
|
|
||||||
if (ag->isOne() || (ag->isPro4_2()) || ag->isPro3_3() || ag->isBasic()) {
|
|
||||||
disp.setText("Connecting to", "WiFi", "...");
|
|
||||||
} else {
|
|
||||||
logInfo("Connecting to WiFi...");
|
|
||||||
}
|
|
||||||
ssid = "airgradient-" + ag->deviceId();
|
|
||||||
|
|
||||||
// ssid = "AG-" + String(ESP.getChipId(), HEX);
|
|
||||||
WIFI()->setConfigPortalTimeout(WIFI_CONNECT_COUNTDOWN_MAX);
|
|
||||||
|
|
||||||
WIFI()->addParameter(disableCloudParam);
|
|
||||||
WIFI()->addParameter(disableCloudInfo);
|
|
||||||
|
|
||||||
WIFI()->autoConnect(ssid.c_str(), WIFI_HOTSPOT_PASSWORD_DEFAULT);
|
|
||||||
|
|
||||||
logInfo("Wait for configure portal");
|
|
||||||
}
|
|
||||||
|
|
||||||
void WifiConnector::setupProvisionByBLE(const char *modelName) {
|
void WifiConnector::setupProvisionByBLE(const char *modelName) {
|
||||||
NimBLEDevice::init("AirGradient");
|
NimBLEDevice::init("AirGradient");
|
||||||
NimBLEDevice::setPower(3); /** +3db */
|
NimBLEDevice::setPower(3); /** +3db */
|
||||||
@@ -860,3 +865,4 @@ void WifiConnector::CharacteristicCallbacks::onWrite(NimBLECharacteristic *pChar
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // ESP32
|
||||||
|
|||||||
@@ -8,12 +8,15 @@
|
|||||||
#include "AgConfigure.h"
|
#include "AgConfigure.h"
|
||||||
#include "Libraries/WiFiManager/WiFiManager.h"
|
#include "Libraries/WiFiManager/WiFiManager.h"
|
||||||
#include "Main/PrintLog.h"
|
#include "Main/PrintLog.h"
|
||||||
#include "esp32-hal.h"
|
|
||||||
|
|
||||||
|
#ifdef ESP32
|
||||||
|
#include "esp32-hal.h"
|
||||||
#include <NimBLEDevice.h>
|
#include <NimBLEDevice.h>
|
||||||
#include "NimBLECharacteristic.h"
|
#include "NimBLECharacteristic.h"
|
||||||
#include "NimBLEService.h"
|
#include "NimBLEService.h"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
// Provisioning Status Codes
|
// Provisioning Status Codes
|
||||||
#define PROV_WIFI_CONNECT 0 // WiFi Connect
|
#define PROV_WIFI_CONNECT 0 // WiFi Connect
|
||||||
#define PROV_CONNECTING_TO_SERVER 1 // Connecting to server
|
#define PROV_CONNECTING_TO_SERVER 1 // Connecting to server
|
||||||
@@ -45,9 +48,10 @@ private:
|
|||||||
OledDisplay &disp;
|
OledDisplay &disp;
|
||||||
StateMachine &sm;
|
StateMachine &sm;
|
||||||
Configuration &config;
|
Configuration &config;
|
||||||
|
#ifdef ESP32
|
||||||
NimBLEServer *pServer;
|
NimBLEServer *pServer;
|
||||||
|
|
||||||
EventGroupHandle_t bleEventGroup;
|
EventGroupHandle_t bleEventGroup;
|
||||||
|
#endif // ESP32
|
||||||
|
|
||||||
String ssid;
|
String ssid;
|
||||||
void *wifi = NULL;
|
void *wifi = NULL;
|
||||||
@@ -62,6 +66,7 @@ private:
|
|||||||
|
|
||||||
bool wifiClientConnected(void);
|
bool wifiClientConnected(void);
|
||||||
bool isBleClientConnected();
|
bool isBleClientConnected();
|
||||||
|
#ifdef ESP32
|
||||||
int scanAndFilterWiFi(WiFiNetwork networks[], int maxResults);
|
int scanAndFilterWiFi(WiFiNetwork networks[], int maxResults);
|
||||||
String buildPaginatedWiFiJSON(WiFiNetwork networks[], int totalCount,
|
String buildPaginatedWiFiJSON(WiFiNetwork networks[], int totalCount,
|
||||||
int page, int batchSize, int totalPages);
|
int page, int batchSize, int totalPages);
|
||||||
@@ -89,6 +94,7 @@ private:
|
|||||||
WifiConnector *parent;
|
WifiConnector *parent;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif // ESP32
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void setAirGradient(AirGradient *ag);
|
void setAirGradient(AirGradient *ag);
|
||||||
@@ -96,9 +102,11 @@ public:
|
|||||||
WifiConnector(OledDisplay &disp, Stream &log, StateMachine &sm, Configuration &config);
|
WifiConnector(OledDisplay &disp, Stream &log, StateMachine &sm, Configuration &config);
|
||||||
~WifiConnector();
|
~WifiConnector();
|
||||||
|
|
||||||
void setupProvisionByPortal(WiFiManagerParameter *disableCloudParam, WiFiManagerParameter *disableCloudInfo);
|
#ifdef ESP32
|
||||||
void setupProvisionByBLE(const char *modelName);
|
void setupProvisionByBLE(const char *modelName);
|
||||||
void stopBLE();
|
void stopBLE();
|
||||||
|
#endif // ESP32
|
||||||
|
void setupProvisionByPortal(WiFiManagerParameter *disableCloudParam, WiFiManagerParameter *disableCloudInfo);
|
||||||
bool connect(String modelName = "");
|
bool connect(String modelName = "");
|
||||||
void disconnect(void);
|
void disconnect(void);
|
||||||
void handle(void);
|
void handle(void);
|
||||||
@@ -116,7 +124,6 @@ public:
|
|||||||
bool hasConfigurated(void);
|
bool hasConfigurated(void);
|
||||||
bool isConfigurePorttalTimeout(void);
|
bool isConfigurePorttalTimeout(void);
|
||||||
|
|
||||||
|
|
||||||
void bleNotifyStatus(int status);
|
void bleNotifyStatus(int status);
|
||||||
|
|
||||||
const char *defaultSsid = "airgradient";
|
const char *defaultSsid = "airgradient";
|
||||||
|
|||||||
Reference in New Issue
Block a user