ESP32 E-Papier-Thermometer

OP #6808349
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.
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
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
Hallo,

Olaf H. schrieb:
> mmmmmm zu früh gefreut ich bekomme keine anzeige
> Michael hat es bei dir angezeigt ?
ich habe die Hardware nicht aufgebaut, nur den Sketch durch den Compiler 
geschickt.
Ich müßte schauen, ob ich das passende Display in meiner Sammlung habe, 
die werden ja in mehreren Varianten ausgeliefert...

Gruß aus Berlin
Michael

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.