Browse Source

e-paper display working

split_files
Hendrik Langer 5 years ago
parent
commit
09329824c6
  1. 7
      platformio.ini
  2. 28
      src/main.cpp

7
platformio.ini

@ -15,8 +15,9 @@ framework = arduino
board = lolin_d32_pro board = lolin_d32_pro
build_flags = build_flags =
-DLOG_DEFAULT_LEVEL=ESP_LOG_DEBUG -DLOG_DEFAULT_LEVEL=ESP_LOG_VERBOSE
# -DLOG_LOCAL_LEVEL=ESP_LOG_DEBUG -DLOG_LOCAL_LEVEL=ESP_LOG_VERBOSE
-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE
-DBOARD_HAS_PSRAM -DBOARD_HAS_PSRAM
-mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-issue
-DWIFI_SSID="\"${sysenv.WIFI_SSID}\"" -DWIFI_SSID="\"${sysenv.WIFI_SSID}\""
@ -29,12 +30,14 @@ build_flags =
lib_deps = lib_deps =
GxEPD2 GxEPD2
; https://github.com/wemos/LOLIN_EPD_Library
Adafruit GFX Library Adafruit GFX Library
Adafruit BME680 Library Adafruit BME680 Library
Adafruit Unified Sensor Adafruit Unified Sensor
; ArduinoJSON ; ArduinoJSON
monitor_speed = 115200 monitor_speed = 115200
upload_speed = 115200
extra_scripts = extra_scripts =
pre:script/autoversioning.py pre:script/autoversioning.py

28
src/main.cpp

@ -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);
} }

Loading…
Cancel
Save