|
@ -14,6 +14,7 @@ |
|
|
#include <GxEPD2_BW.h> |
|
|
#include <GxEPD2_BW.h> |
|
|
#include <Fonts/FreeMonoBold9pt7b.h> |
|
|
#include <Fonts/FreeMonoBold9pt7b.h> |
|
|
#include "bitmaps/Bitmaps128x250.h" |
|
|
#include "bitmaps/Bitmaps128x250.h" |
|
|
|
|
|
#include <Adafruit_GFX.h> |
|
|
|
|
|
|
|
|
#include <Adafruit_Sensor.h> |
|
|
#include <Adafruit_Sensor.h> |
|
|
#include "Adafruit_BME680.h" |
|
|
#include "Adafruit_BME680.h" |
|
@ -24,11 +25,12 @@ |
|
|
static const char* TAG = "MAIN"; |
|
|
static const char* TAG = "MAIN"; |
|
|
|
|
|
|
|
|
WiFiMulti wifiMulti; |
|
|
WiFiMulti wifiMulti; |
|
|
GxEPD2_BW<GxEPD2_213_B72, GxEPD2_213_B72::HEIGHT> display(GxEPD2_213_B72(/*CS=TFT_CS*/ SS, /*DC=*/ TFT_DC, /*RST=*/ TFT_RST, /*BUSY=*/ -1)); // GDEH0213B72
|
|
|
GxEPD2_BW<GxEPD2_213_B72, GxEPD2_213_B72::HEIGHT> display(GxEPD2_213_B72(/*CS=SS*/ TFT_CS, /*DC=*/ TFT_DC, /*RST=*/ TFT_RST, /*BUSY=*/ -1)); // GDEH0213B72
|
|
|
Adafruit_BME680 bme; // I2C (also available: hardware SPI
|
|
|
Adafruit_BME680 bme; // I2C (also available: hardware SPI
|
|
|
|
|
|
|
|
|
XD0MQTT mqtt; |
|
|
XD0MQTT mqtt; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void helloWorld() |
|
|
void helloWorld() |
|
|
{ |
|
|
{ |
|
|
const char HelloWorld[] = "Hello World!"; |
|
|
const char HelloWorld[] = "Hello World!"; |
|
@ -53,6 +55,7 @@ void helloWorld() |
|
|
//Serial.println("helloWorld done");
|
|
|
//Serial.println("helloWorld done");
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void setup() |
|
|
void setup() |
|
|
{ |
|
|
{ |
|
|
Serial.begin(115200); |
|
|
Serial.begin(115200); |
|
@ -60,21 +63,32 @@ void setup() |
|
|
// initialize LED digital pin as an output.
|
|
|
// initialize LED digital pin as an output.
|
|
|
pinMode(LED_BUILTIN, OUTPUT); |
|
|
pinMode(LED_BUILTIN, OUTPUT); |
|
|
|
|
|
|
|
|
|
|
|
Serial.println("setup"); |
|
|
|
|
|
|
|
|
|
|
|
// initialize e-paper display
|
|
|
|
|
|
SPI.begin(18, 19, 23, TFT_CS); |
|
|
|
|
|
delay(200); // todo
|
|
|
display.init(115200); |
|
|
display.init(115200); |
|
|
|
|
|
|
|
|
|
|
|
Serial.println("display init done"); Serial.flush(); |
|
|
|
|
|
|
|
|
|
|
|
display.clearScreen(); |
|
|
|
|
|
display.refresh(); |
|
|
|
|
|
|
|
|
helloWorld(); |
|
|
helloWorld(); |
|
|
display.powerOff(); |
|
|
display.powerOff(); |
|
|
|
|
|
|
|
|
if (!bme.begin()) { |
|
|
if (!bme.begin()) { |
|
|
ESP_LOGE(TAG, "Could not find a valid BME680 sensor, check wiring!"); |
|
|
ESP_LOGE(TAG, "Could not find a valid BME680 sensor, check wiring!"); |
|
|
} |
|
|
} |
|
|
|
|
|
/*
|
|
|
// Set up oversampling and filter initialization
|
|
|
// Set up oversampling and filter initialization
|
|
|
bme.setTemperatureOversampling(BME680_OS_8X); |
|
|
bme.setTemperatureOversampling(BME680_OS_8X); |
|
|
bme.setHumidityOversampling(BME680_OS_2X); |
|
|
bme.setHumidityOversampling(BME680_OS_2X); |
|
|
bme.setPressureOversampling(BME680_OS_4X); |
|
|
bme.setPressureOversampling(BME680_OS_4X); |
|
|
bme.setIIRFilterSize(BME680_FILTER_SIZE_3); |
|
|
bme.setIIRFilterSize(BME680_FILTER_SIZE_3); |
|
|
bme.setGasHeater(320, 150); // 320*C for 150 ms
|
|
|
bme.setGasHeater(320, 150); // 320*C for 150 ms
|
|
|
|
|
|
*/ |
|
|
wifiMulti.addAP(WIFI_SSID, WIFI_PASSWD); |
|
|
wifiMulti.addAP(WIFI_SSID, WIFI_PASSWD); |
|
|
wifiMulti.addAP(WIFI_SSID2, WIFI_PASSWD2); |
|
|
wifiMulti.addAP(WIFI_SSID2, WIFI_PASSWD2); |
|
|
|
|
|
|
|
@ -85,15 +99,18 @@ void setup() |
|
|
Serial.println("IP address: "); |
|
|
Serial.println("IP address: "); |
|
|
Serial.println(WiFi.localIP()); |
|
|
Serial.println(WiFi.localIP()); |
|
|
} |
|
|
} |
|
|
|
|
|
/*
|
|
|
XD0OTA ota("esp32-weatherstation"); |
|
|
XD0OTA ota("esp32-weatherstation"); |
|
|
ota.update(); |
|
|
ota.update(); |
|
|
|
|
|
|
|
|
mqtt.begin(); |
|
|
mqtt.begin(); |
|
|
|
|
|
*/ |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void loop() |
|
|
void loop() |
|
|
{ |
|
|
{ |
|
|
|
|
|
Serial.println("loop"); |
|
|
|
|
|
/*
|
|
|
unsigned long endTime = bme.beginReading(); |
|
|
unsigned long endTime = bme.beginReading(); |
|
|
if (! bme.performReading()) { |
|
|
if (! bme.performReading()) { |
|
|
ESP_LOGE(TAG, "BME680: Failed to perform reading :("); |
|
|
ESP_LOGE(TAG, "BME680: Failed to perform reading :("); |
|
@ -111,11 +128,12 @@ void loop() |
|
|
|
|
|
|
|
|
Serial.print("Gas = "); Serial.print(bme.gas_resistance / 1000.0); Serial.println(" KOhms"); |
|
|
Serial.print("Gas = "); Serial.print(bme.gas_resistance / 1000.0); Serial.println(" KOhms"); |
|
|
display.print("Gas: "); display.print(bme.gas_resistance / 1000.0); display.println(" KOhms"); |
|
|
display.print("Gas: "); display.print(bme.gas_resistance / 1000.0); display.println(" KOhms"); |
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
if(wifiMulti.run() != WL_CONNECTED) { |
|
|
if(wifiMulti.run() != WL_CONNECTED) { |
|
|
Serial.println("WiFi not connected!"); |
|
|
Serial.println("WiFi not connected!"); |
|
|
delay(1000); |
|
|
delay(1000); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
delay(1000); |
|
|
delay(2000); |
|
|
} |
|
|
} |
|
|