INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
ESP32 Dev Kit
23.08.2020, 19:06 (Dieser Beitrag wurde zuletzt bearbeitet: 23.08.2020 19:29 von 4711engel.)
Beitrag #1
ESP32 Dev Kit
Hallo,
ich starte gerade mein erstes kleines Projekt mit einem ESP32 Dev Kit , wie er von az-delivery angeboten wird. Verbunden habe ich diesen mit einem Display ILI9341 2,4" um Daten, die ich aus dem Internet empfange, anzuzeigen. Im Anhang habe ich zum Wiring und zu ESP32-Typ ein Word-DOC abgelegt.

Leider erfolgt noch keine Ausgabe aufs Display. Dieses bleibt schwarz.
Ich finde aber eine Fehler-Ausgabe auf den Serial Monitor, die fgür mich unverständlich ist. Im Anhang habe ich diese angefügt.
Das Kompilieren und Hochladen des Sketch erfolgt problemlos. Ich musste nur mit einem Jumperkabel Pin D2 auf GND legen.

Den Sketch habe ich im Anhang abgelegt.

Hat jemand eine Idee woran es liegen könnte?
Falls mehr Infos benötigt werden, schicke ich diese.

Gruß Ulli


Angehängte Datei(en)
.doc  Wiring.doc (Größe: 409,5 KB / Downloads: 19)
.doc  Ausgabe Serial Monitor.doc (Größe: 25,5 KB / Downloads: 20)
.ino  COVID19-Tracker.ino (Größe: 10,71 KB / Downloads: 19)

---------------------------------------------------------------------------------------
Wer Rechtschreibfehler findet, darf sie behalten!
---------------------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.08.2020, 19:25 (Dieser Beitrag wurde zuletzt bearbeitet: 23.08.2020 19:26 von Tommy56.)
Beitrag #2
RE: ESP32 Dev Kit
Doc wird wohl kaum einer öffnen. Ich auf alle Fälle nicht.

Hänge Texte (Sketch und Fehlermeldung) direkt in den Beitrag. Benutze dazu bitte Codetags. Wie das geht, steht hier.
Das kannst Du auch noch nachträglich ändern.

Bilder als Anhang, alles andere zur Not als PDF.

Gruß Tommy

Edit: Warun meinst Du, hat man ein extra Unterforum für die ESP eingerichtet?

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.08.2020, 19:33 (Dieser Beitrag wurde zuletzt bearbeitet: 23.08.2020 19:37 von 4711engel.)
Beitrag #3
RE: ESP32 Dev Kit
Wiring:
Code:
ILI9341    ESP32
T_IRQ    D2
T_DO    
T_DIN    
T_CS    D14
T_CLK    
    
MISO    D19
LED            D15
SCK            D18
MOSI    D23
DC            D4
RESET    D22
CS            D5
GND            GND
VCC             3,3V  (5V)

Ausgabe Serial Monitor:
Code:
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x1b (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
ets Jun  8 2016 00:22:57

rst:0x3 (SW_RESET),boot:0x1b (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
SETUP ...
Init TFT ...
Guru Meditation Error: Core  1 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x400d4fbc: 1b0c3502 00000000 00000000
Core 1 register dump:
PC      : 0x400d4fc0  PS      : 0x00060330  A0      : 0x800d56ea  A1      : 0x3ffb1f30  
A2      : 0x3ffc10a4  A3      : 0x00000001  A4      : 0x00000000  A5      : 0x00000062  
A6      : 0xffffffff  A7      : 0x00000000  A8      : 0x800d4fbb  A9      : 0x3ffb1f10  
A10     : 0x00000016  A11     : 0x00000001  A12     : 0x0000000f  A13     : 0x000000ff  
A14     : 0x000000ff  A15     : 0xff000000  SAR     : 0x0000000a  EXCCAUSE: 0x00000000  
EXCVADDR: 0x00000000  LBEG    : 0x400d6ef4  LEND    : 0x400d6f56  LCOUNT  : 0x00000002  

Backtrace: 0x400d4fc0:0x3ffb1f30 0x400d56e7:0x3ffb1f50 0x400d1839:0x3ffb1f70 0x400d783b:0x3ffb1fb0 0x40088ddd:0x3ffb1fd0

Rebooting...

---------------------------------------------------------------------------------------
Wer Rechtschreibfehler findet, darf sie behalten!
---------------------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.08.2020, 19:39 (Dieser Beitrag wurde zuletzt bearbeitet: 23.08.2020 19:40 von Tommy56.)
Beitrag #4
RE: ESP32 Dev Kit
Und der Code? Nutzer mobiler Geräte werden den Anhang nicht öffnen.

Du konntest das aber alles schon mal.

Gruß Tommy

Edit: Illegal Instruction heißt Fehler des Compilers. Probiere mal eine andere Version des ESP-Core.

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.08.2020, 19:41
Beitrag #5
RE: ESP32 Dev Kit
Und nun noch der Sketch-Code:
Code:
/*
*  Application note: Covid 19 tracker for AZ-Touch and ESP32 DEV KIT 3
*  Version 1.1
*  Copyright (C) 2020  Hartmut Wendt  www.zihatec.de
*  
*  ================================================================
*  HINWEIS: Beim Hochladen muss PIN D2 mit GND verbunden werden
*  ================================================================
*  
*
*  This program is free software: you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation, either version 3 of the License, or
*  (at your option) any later version.
*
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
/*
ILI9341_BLACK        0x0000     0,   0,   0
ILI9341_NAVY         0x000F     0,   0, 123
ILI9341_DARKGREEN    0x03E0     0, 125,   0
ILI9341_DARKCYAN     0x03EF     0, 125, 123
ILI9341_MAROON       0x7800   123,   0,   0
ILI9341_PURPLE       0x780F   123,   0, 123
ILI9341_OLIVE        0x7BE0   123, 125,   0
ILI9341_LIGHTGREY    0xC618   198, 195, 198
ILI9341_DARKGREY     0x7BEF   123, 125, 123
ILI9341_BLUE         0x001F     0,   0, 255
ILI9341_GREEN        0x07E0     0, 255,   0
ILI9341_CYAN         0x07FF     0, 255, 255
ILI9341_RED          0xF800   255,   0,   0
ILI9341_MAGENTA      0xF81F   255,   0, 255
ILI9341_YELLOW       0xFFE0   255, 255,   0
ILI9341_WHITE        0xFFFF   255, 255, 255
ILI9341_ORANGE       0xFD20   255, 165,   0
ILI9341_GREENYELLOW  0xAFE5   173, 255,  41
ILI9341_PINK         0xFC18   255, 130, 198
*/

/*______Import Libraries_______*/
#include <SPI.h>
#include <WiFi.h>
#include <WiFiClientSecure.h>  
#include <ArduinoHttpClient.h>
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"
/*______End of Libraries_______*/

/*__Pin definitions for the Arduino MKR__*/
#define TFT_CS   5
#define TFT_RST  22
#define TFT_DC   4
#define TFT_MOSI 23
#define TFT_CLK  18
#define TFT_LED  15
#define TFT_MISO 19
#define HAVE_TOUCHPAD
#define TOUCH_CS 14
#define TOUCH_IRQ 2
/*_______End of definitions______*/

/*____Calibrate Touchscreen_____*/
#define MINPRESSURE 10      // minimum required force for touch event
#define TS_MINX 370
#define TS_MINY 470
#define TS_MAXX 3700
#define TS_MAXY 3600
/*______End of Calibration______*/


/*____Wifi _____________________*/
///////please enter your sensitive data in the Secret tab/arduino_secrets.h
#define WIFI_SSID "UE"                      // Enter your SSID here
#define WIFI_PASS "73918465865812313454"    // Enter your WiFi password here

// Number of milliseconds to wait without receiving any data before we give up
const int kNetworkTimeout = 30*1000;
// Number of milliseconds to wait if no data is available before trying again
const int kNetworkDelay = 2000;
/*______End of Wifi______*/


int status = WL_IDLE_STATUS;
int infected=0;
int recovered=0;
int deaths=0;


WiFiClientSecure client;
HttpClient http(client,"www.worldometers.info", 443);

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);


void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(115200);
  Serial.println("SETUP ...");
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  // init GPIOs
  pinMode(TFT_LED, OUTPUT); // define as output for backlight control

  // initialize the TFT
  Serial.println("Init TFT ...");
  tft.begin();          
  tft.setRotation(3);   // landscape mode  
  tft.fillScreen(ILI9341_BLACK);// clear screen

  tft.setCursor(70,110);
  tft.setTextColor(ILI9341_WHITE);
  tft.setTextSize(2);
  tft.print("Connecting...");
  digitalWrite(TFT_LED, LOW);    // LOW to turn backlight on;


// Set WiFi to station mode and disconnect from an AP if it was Previously
  // connected
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);

  // Attempt to connect to Wifi network:
  Serial.print("Connecting Wifi: ");
  Serial.println(WIFI_SSID);
  WiFi.begin(WIFI_SSID, WIFI_PASS);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  IPAddress ip = WiFi.localIP();
  Serial.println(ip);


}

void loop() {
check_country("Germany ");
delay(2000);
check_country("France");
delay(2000);
check_country("Italy");
delay(2000);
check_country("Netherlands");
delay(2000);
check_country("Spain");
delay(2000);
check_country("Poland");
delay(2000);
check_country("Austria");
delay(2000);
}


void draw_country_screen(String sCountry){
  tft.fillScreen(ILI9341_BLACK);// clear screen

  // headline
  tft.setCursor(10,10);
  tft.setTextColor(ILI9341_WHITE);
  tft.setTextSize(3);
  tft.print(sCountry + ":");

  // infected
  tft.setCursor(5,70);
  tft.setTextColor(ILI9341_RED);
  tft.print("Infected:");
  tft.setCursor(190,70);
  tft.print(infected);

  // recovered
  tft.setCursor(5,130);
  tft.setTextColor(ILI9341_GREEN);
  tft.print("Recovered:");
  tft.setCursor(190,130);
  tft.print(recovered);

  // deaths
  tft.setCursor(5,190);
  tft.setTextColor(ILI9341_LIGHTGREY);
  tft.print("Deaths:");
  tft.setCursor(190,190);
  tft.print(deaths);
      
}

void check_country(String sCountry) {
  int err =0;
  int readcounter = 0;
  int read_value_step = 0;
  String s1 = "";
  String s2 = "";
  
  err = http.get("/coronavirus/country/" + sCountry +"/");
  if (err == 0)
  {
    Serial.println("startedRequest ok");

    err = http.responseStatusCode();
    if (err >= 0)
    {
      Serial.print("Got status code: ");
      Serial.println(err);

      // Usually you'd check that the response code is 200 or a
      // similar "success" code (200-299) before carrying on,
      // but we'll print out whatever response we get

      // If you are interesting in the response headers, you
      // can read them here:
      //while(http.headerAvailable())
      //{
      //  String headerName = http.readHeaderName();
      //  String headerValue = http.readHeaderValue();
      //}

      Serial.print("Request data for ");
      Serial.println(sCountry);
    
      // Now we've got to the body, so we can print it out
      unsigned long timeoutStart = millis();
      char c;
      // Whilst we haven't timed out & haven't reached the end of the body
      while ( (http.connected() || http.available()) &&
             (!http.endOfBodyReached()) &&
             ((millis() - timeoutStart) < kNetworkTimeout) )
      {
          if (http.available())
          {
              c = http.read();
              s2 = s2 + c;
              if (readcounter < 300) {
                readcounter++;
              } else {
                readcounter = 0;
                String tempString = "";
                tempString.concat(s1);
                tempString.concat(s2);
                // check infected first
                if (read_value_step == 0) {                              
                  int place = tempString.indexOf("Coronavirus Cases:");
                  if ((place != -1) && (place < 350)) {
                    read_value_step = 1;
                    s2 = tempString.substring(place + 15);
                    tempString = s2.substring(s2.indexOf("#aaa") + 6);
                    s1 = tempString.substring(0, (tempString.indexOf("</")));
                    s1.remove(s1.indexOf(","),1);  
                    s1.remove(s1.indexOf(","),1); // for large 7 digit numbers
                    Serial.print("Coronavirus Cases: ");
                    Serial.println(s1);
                    infected = s1.toInt();
                  }
                  
                }
                // check deaths              
                if (read_value_step == 1) {
                  int place = tempString.indexOf("Deaths:");
                  if ((place != -1) && (place < 350)) {
                    read_value_step = 2;
                    s2 = tempString.substring(place + 15);
                    tempString = s2.substring(s2.indexOf("<span>") + 6);
                    s1 = tempString.substring(0, (tempString.indexOf("</")));
                    s1.remove(s1.indexOf(","),1);  
                    s1.remove(s1.indexOf(","),1); // for large 7 digit numbers
                    Serial.print("Deaths: ");
                    Serial.println(s1);
                    deaths = s1.toInt();
                  }
                }                
                // check recovered              
                if (read_value_step == 2) {
                  int place = tempString.indexOf("Recovered:");
                  if ((place != -1) && (place < 350)) {                  
                    s2 = tempString.substring(place + 15);
                    tempString = s2.substring(s2.indexOf("<span>") + 6);
                    s1 = tempString.substring(0, (tempString.indexOf("</")));
                    s1.remove(s1.indexOf(","),1);  
                    s1.remove(s1.indexOf(","),1); // for large 7 digit numbers
                    Serial.print("Recovered: ");
                    Serial.println(s1);
                    recovered = s1.toInt();
                    draw_country_screen(sCountry);
                    http.stop();
                    return;
                  }
                }                
      
                s1 = s2;
                s2 = "";
              }              
              
              // We read something, reset the timeout counter
              timeoutStart = millis();
          }
          else
          {
              // We haven't got any data, so let's pause to allow some to
              // arrive
              delay(kNetworkDelay);
          }
      }
    }
    else
    {    
      Serial.print("Getting response failed: ");
      Serial.println(err);
    }
  }
  else
  {
    Serial.print("Connect failed: ");
    Serial.println(err);
  }
  http.stop();
  
}


void printWiFiStatus() {
  // print the SSID of the network you're attached to:
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

  // print your board's IP address:
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  // print the received signal strength:
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
}

---------------------------------------------------------------------------------------
Wer Rechtschreibfehler findet, darf sie behalten!
---------------------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.08.2020, 19:47
Beitrag #6
RE: ESP32 Dev Kit
Wie bereits geschrieben, Illegal Instruction heißt Fehler des Compilers. Probiere mal eine andere Version des ESP-Core. Hier hat also der Compiler einen Code erzeugt, den der Prozessor nicht ausführen kann.
Evtl. könnte der ESP-Exceptiondecoder hier noch detailierte Infos liefern.
Ansonsten mal eine andere Core-Version probieren. Evtl. in einer portablen IDE.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.08.2020, 20:12
Beitrag #7
RE: ESP32 Dev Kit
Ich habe nun statt des Boards "ESP DEV Module" das Board "ESP Wrover Module" ausgewählt.
Kompilieren und Hochladen ok.

Ferhlermeldung Serial Monitor:

Code:
Guru Meditation Error: Core  0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40161fd0: ffffffff ffffffff ffffffff
Core 0 register dump:
PC      : 0x40161fd4  PS      : 0x00060730  A0      : 0x80056500  A1      : 0x3ffe3430  
A2      : 0x3ffe34d0  A3      : 0x3ffe3500  A4      : 0x3ffe3528  A5      : 0x40161fd4  
A6      : 0x3ffe34d0  A7      : 0x3ffe34d0  A8      : 0x800563e9  A9      : 0x3ffe3c70  
A10     : 0x3ffe34d0  A11     : 0x3ffe3500  A12     : 0x0032ffff  A13     : 0x00000020  
A14     : 0x000000c0  A15     : 0x00400000  SAR     : 0x00000010  EXCCAUSE: 0x00000000  
EXCVADDR: 0x00000000  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0x00000000  

Backtrace: 0x40161fd4:0x3ffe3430 0x400564fd:0x3ffe3450 0x401238fd:0x3ffe34a0 0x401239f5:0x3ffe34d0 0x40121951:0x3ffe3840 0x40082509:0x3ffe3c20 0x4007906f:0x3ffe3c40 0x400790d5:0x3ffe3c70 0x400790e0:0x3ffe3ca0 0x400792a9:0x3ffe3cc0 0x400806ea:0x3ffe3df0 0x40007c31:0x3ffe3eb0 0x4000073d:0x3ffe3f20

Rebooting...

---------------------------------------------------------------------------------------
Wer Rechtschreibfehler findet, darf sie behalten!
---------------------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.08.2020, 20:41
Beitrag #8
RE: ESP32 Dev Kit
Ich habe nun den ESP-Exceptiondecoder installiert.

Infos:
Code:
PC: 0x400d4fc0: Adafruit_SPITFT::initSPI(unsigned int, unsigned char) at C:\Users\uengel\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_SPITFT​.cpp line 647
EXCVADDR: 0x00000000

Decoding stack results
0x400d4fc0: Adafruit_SPITFT::initSPI(unsigned int, unsigned char) at C:\Users\uengel\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_SPITFT​.cpp line 647
0x400d56e7: Adafruit_ILI9341::begin(unsigned int) at C:\Users\uengel\Documents\Arduino\libraries\Adafruit_ILI9341-master\Adafruit_ILI9341.cpp line 191
0x400d1839: setup() at D:\3_ESP8266 und ESP32\Tutorials\COVID19-Tracker\COVID19-Tracker/COVID19-Tracker.ino line 114
0x400d783b: loopTask(void*) at C:\Users\uengel\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\core​s\esp32\main.cpp line 14
0x40088ddd: vPortTaskWrapper at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c line 143

Liegt es an der Adafruit_ILI9341 library?

---------------------------------------------------------------------------------------
Wer Rechtschreibfehler findet, darf sie behalten!
---------------------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  ESP32 Schieberegler Woolli 13 242 Gestern 13:37
Letzter Beitrag: Tommy56
  Max. Eingangsspannung ESP32 Devkit V1 Gerdchen03 4 128 Gestern 00:45
Letzter Beitrag: Bitklopfer
  ESP32 BLE - Wie kann ich die UUID aus INI-WiFiManger übernehmen ? Stargazer 0 96 18.10.2020 16:26
Letzter Beitrag: Stargazer
  AZ-Touch ESP32 Grafiktest ckuehnel 0 154 13.10.2020 17:34
Letzter Beitrag: ckuehnel
  ESP32: Filesystem uploader tool findet mklittlefs.exe nicht ultralex 6 101 12.10.2020 22:07
Letzter Beitrag: hotsystems
  ESP32+SIM808 Gpsdaten auf Display und SMS reinhard-adam 0 172 06.10.2020 16:49
Letzter Beitrag: reinhard-adam
  ESP32+SIM808 GPS Daten auslesen und auf LCD reinhard-adam 2 338 21.09.2020 18:25
Letzter Beitrag: georg01
  Fehler bei Board AI Thinker ESP32-CAM Manny 4 725 30.08.2020 16:37
Letzter Beitrag: Manny
  ESP32 Ethernet shrimps 33 24.189 27.08.2020 15:05
Letzter Beitrag: biologist
  Esp32 FIFO-Problem miq19 7 912 22.08.2020 14:33
Letzter Beitrag: miq19

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste