ESP32 E-Papier-Thermometer

OP #6808349
Lesenswert?

Hallo Mein name ist Olaf und ich spiele zur zeit mit den ESP32 rum
mein erstes Projekt war ein 
https://github.com/G6EJD/ESP32-e-Paper-Weather-Display das läuft seit 
zwei wochen problemlos
nun wolte ich noch ein ESP32 E-Papier-Thermometer realisieren
https://www-instructables-com.translate.goog/ESP32-E-Paper-Thermometer/?_x_tr_sl=en&_x_tr_tl=de&_x_tr_hl=de&_x_tr_pto=ajax,sc,elem
bekomme aber immer eine fehler meldung meim hochladen und komme nicht 
weiter
und hoffe jemand kann mir helfen
das ist der Sketch und unten der fehler

FG Olaf
1
    /////////////////////////////////////////////////////////////////
2
   //       ESP32 E-PAPER THERMOMETER       10/22/2020  v1.01     //
3
  //       Get the latest version of the code here:              //
4
 //        http://educ8s.tv/esp32-e-paper-thermometer           //
5
/////////////////////////////////////////////////////////////////
6

7
#include <GxEPD.h>
8
#include <GxGDEP015OC1/GxGDEP015OC1.h>
9
#include <GxIO/GxIO_SPI/GxIO_SPI.h>
10
#include <GxIO/GxIO.h>
11

12
#include <OneWire.h>
13
#include <DallasTemperature.h>
14
#include "BitmapGraphics.h"
15

16
#include <Fonts/FreeSansBold24pt7b.h>
17

18
#define ONE_WIRE_BUS 15
19

20
boolean METRIC = true;    //Set true for metric system; false for imperial
21
float previousTemperature = -100.0;
22
float temperature = 0;
23

24
OneWire oneWire(ONE_WIRE_BUS);
25
DallasTemperature sensors(&oneWire);
26

27
GxIO_Class io(SPI, SS, 22, 21);
28
GxEPD_Class display(io, 16, 4);
29

30
void setup() {
31
  
32
  Serial.begin(9600);
33
  display.init();
34
  sensors.begin();
35
  
36
  display.drawExampleBitmap(gImage_splash, 0, 0, 200, 200, GxEPD_BLACK);
37
  display.update();
38
  delay(3000);
39

40
  if(METRIC)
41
  {
42
    display.drawExampleBitmap(gImage_gui, 0, 0, 200, 200, GxEPD_BLACK);
43
  }else
44
  {
45
    display.drawExampleBitmap(gImage_gui_f, 0, 0, 200, 200, GxEPD_BLACK);
46
  }
47
  
48
  display.update();
49

50
  if(METRIC)
51
  {
52
    display.drawExampleBitmap(gImage_gui, sizeof(gImage_gui), GxEPD::bm_default | GxEPD::bm_partial_update);
53
  }else
54
  {
55
    display.drawExampleBitmap(gImage_gui_f, sizeof(gImage_gui_f), GxEPD::bm_default | GxEPD::bm_partial_update);
56
  }
57
}
58

59
void loop() 
60
{
61
  previousTemperature = temperature;
62
  temperature = getTemperatureFromSensor();
63
  
64
  if(previousTemperature!=temperature)
65
  {
66
    showPartialUpdate(temperature);
67
  }
68
  
69
  printTemperatureToSerial();
70
  delay(5000);
71
}
72

73
float getTemperatureFromSensor()
74
{
75
  float temperature = 0;
76
  sensors.requestTemperatures();
77
  if(METRIC)
78
  {
79
    temperature = sensors.getTempCByIndex(0);
80
  }else
81
  {
82
    temperature = sensors.getTempFByIndex(0);
83
  }
84
  temperature = round(temperature * 10) / 10;
85
  return temperature;
86
}
87

88
void showPartialUpdate(float temperature)
89
{
90
  Serial.println("Updating display ...");
91
  String temperatureString = String(temperature,1);
92
  const char* name = "FreeSansBold24pt7b";
93
  const GFXfont* f = &FreeSansBold24pt7b;
94
  
95
  uint16_t box_x = 60;
96
  uint16_t box_y = 60;
97
  uint16_t box_w = 90;
98
  uint16_t box_h = 100;
99
  uint16_t cursor_y = box_y + 16;
100

101
  display.setRotation(45);
102
  display.setFont(f);
103
  display.setTextColor(GxEPD_BLACK);
104

105
  display.fillRect(box_x, box_y, box_w, box_h, GxEPD_WHITE);
106
  display.setCursor(box_x, cursor_y+38);
107
  display.print(temperatureString); 
108
  display.updateWindow(box_x, box_y, box_w, box_h, true);
109
}
110

111
void printTemperatureToSerial()
112
{
113
  Serial.print(temperature);
114
  Serial.print(" C");
115
  Serial.print("\n");
116
}

1
In file included from C:\Users\ich\Documents\Arduino\libraries\OneWire-master\OneWire.cpp:144:
2
C:\Users\ich\Documents\Arduino\libraries\OneWire-master\util/OneWire_direct_gpio.h: In function 'void directModeInput(uint32_t)':
3
C:\Users\ich\Documents\Arduino\libraries\OneWire-master\util/OneWire_direct_gpio.h:161:26: error: 'rtc_gpio_desc' was not declared in this scope
4
         uint32_t rtc_reg(rtc_gpio_desc[pin].reg);
5
                          ^~~~~~~~~~~~~
6
C:\Users\ich\Documents\Arduino\libraries\OneWire-master\util/OneWire_direct_gpio.h:161:26: note: suggested alternative: 'rtc_io_desc'
7
         uint32_t rtc_reg(rtc_gpio_desc[pin].reg);
8
                          ^~~~~~~~~~~~~
9
                          rtc_io_desc
10
C:\Users\ich\Documents\Arduino\libraries\OneWire-master\util/OneWire_direct_gpio.h: In function 'void directModeOutput(uint32_t)':
11
C:\Users\ich\Documents\Arduino\libraries\OneWire-master\util/OneWire_direct_gpio.h:189:26: error: 'rtc_gpio_desc' was not declared in this scope
12
         uint32_t rtc_reg(rtc_gpio_desc[pin].reg);
13
                          ^~~~~~~~~~~~~
14
C:\Users\ich\Documents\Arduino\libraries\OneWire-master\util/OneWire_direct_gpio.h:189:26: note: suggested alternative: 'rtc_io_desc'
15
         uint32_t rtc_reg(rtc_gpio_desc[pin].reg);
16
                          ^~~~~~~~~~~~~
17
                          rtc_io_desc
18
exit status 1
19
Fehler beim Kompilieren für das Board WEMOS LOLIN32.
#6808713
Lesenswert?

Hallo,

Jan H. schrieb:
> Warum nicht?

- er benutzt die ArduinoIDE und nicht das Esüressif-IDF...

@TO: welche Version der IDE und welche Version der ESP32 Erweiterung 
hast DU installiert?
Ich schau dann nachher mal nach, Espressif hat da bei der 2.0.0 so 
einiges geändert.
Gerade mal schnell probiert: mit ESP32 v1.0.4 läßt es sich hier noch 
kompilieren. Kannst Du ja mal testen:
Boardmanager ESP32 entfernen, Version 1.0.4 auswählen und installieren.

Gruß aus Berlin
Michael
#6808863
Lesenswert?

Hallo,

Olaf H. schrieb:
> und siehe da mit der Version 1.0.4 geht es
> besten Dank

Danke für die Rückmeldung, die 1.0.6 wird wohl auch noch gehen, die 
Änderungen sind erst mit der 2.0.0 gekommen.
Da Du E-Paper Wetter erwähnt hast: was hast Du für ein Display benutzt?
Ich bin auch gerade mal wieder auf dem "E-Paper Trip", im Moment läuft 
hier "Wetter" auf einem 2,13" und einem 2,9", die lagen gerade noch 
rum...

Gruß aus Berlin
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren