Forum: Mikrocontroller und Digitale Elektronik Merkwürdiges verhalten bei einem ESP8266 und dem RTOS SDK


von Johannes (Gast)


Angehängte Dateien:

Lesenswert?

Hallo, ich tue mich gerade schwer mit einem ESP8266 und dem ESP8266 RTOS 
SDK.

Zunächst versuche ich einfach nur mal alle WiFis zu scannen und 
auszugeben. Aber schon die Initialisierung funktioniert nicht richtig.

main:
1
void app_main()
2
{
3
    /* Print chip information */
4
    esp_chip_info_t chip_info;
5
    esp_chip_info(&chip_info);
6
    printf("This is ESP8266 chip with %d CPU cores, WiFi, ",
7
            chip_info.cores);
8
9
    printf("silicon revision %d, ", chip_info.revision);
10
11
    printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
12
            (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");
13
  
14
  
15
    wifiEventGroup = xEventGroupCreate();
16
17
    printf("start scanning WiFi\r\n");
18
  wifiScan();
19
  
20
    EventBits_t evBits;
21
  
22
  while(1)
23
  {
24
    evBits = xEventGroupWaitBits(wifiEventGroup, WAIT_BIT, true, false, portMAX_DELAY);
25
    printf("main Task called\r\n");
26
  }
27
  
28
    printf("end main\r\n");
29
}

Hier rufe ich wifiScan auf, und bleibe dann im Task, damit später andere 
Tasks laufen können.
1
void wifiScan(void)
2
{
3
    printf("init esp wiFi\r\n");
4
  wifi_init_config_t wifi_config = WIFI_INIT_CONFIG_DEFAULT();
5
  ESP_ERROR_CHECK(esp_wifi_init(&wifi_config));
6
}
hier passiert auch nicht viel, außer esp_wifi_init

Als ausgabe bekomme ich aber log im anhang
Man sieht, dass immer wieder die Funktion esp_wifi_init aufgerufen wird.
Und auch wifiScan() wird immer wieder aufgerufen "start scanning WiFi" 
ist öfters im Log zu finden.

Die Chip-Informationen, werden allerdings nur einmal geschrieben.
Also ein richtiger Reset ist das ja anscheinend nicht. Aber die Funktion 
wifiScan sollte trotzdem nur einmal aufgerufen werden.
Und woher kommt der ganze andere log?
So viel printf's habe ich gar nicht drinn.

von Johannes (Gast)


Lesenswert?

Also wenn ich die Fehlermeldung richtig verstehe, sagen diese mir, dass 
ich im Falschen zustand bin. Aber in der SDK beschreibung steht auch, 
dass esp_wifi_init mit wifi_config = WIFI_INIT_CONFIG_DEFAULT() immer 
zuerst gemacht werden soll

von Stefan F. (Gast)


Lesenswert?

Dein Mikrocontroller stürzt ab.

Bevor du dich tot suchst, kontrolliere die Stromversorgung.

- Du brauchst ein Netzteil das mindestens 500mA liefern kann.
- Falls es ein USB Kabel ist, versuche ein dickeres kürzeres mit 
unverbrauchten Steckern
- Direkt an die VCC/GND Anschlüsse des ESP Moduls gehört ein Kondensator 
mit 100 - 220µF. Ist beim NodeMCU Board bereits vorhanden.
- Die Kontakte von Steckbrettern sind zur Stromversorgung zu hochohmig
- Dupont Kabel sind auch häufig zu hochohmig, da aus Eisen oder 
Aluminium

Und dann würde ich dir empfehlen, ein älteres SDK (vor Version 2.0) zu 
versuchen.

Denn an dem Tag, als der ESP32 auf den Markt kam, begann eine Phase, in 
der Espressif die Software des ESP8266 stark vernachlässigte. Anfangs 
wollten sie noch die gleiche Features drin haben, wie beim ESP32 aber 
damit haben sie mehr kaputt als gut gemacht. Und auch das haben sie 
inzwischen aufgegeben.

Ich habe mit dem Arduino Core 2.3.0 gute Erfahrungen gemacht, der 
basiert auf dem SDK 1.5.4.

von Archivar (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ich habe mit dem Arduino Core 2.3.0 gute Erfahrungen gemacht

Das Jahr der Terroranschläge!
Zum Glück schon wieder vergessen, genau wie diese Core Version!

von Johannes (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> - Du brauchst ein Netzteil das mindestens 500mA liefern kann.
> - Falls es ein USB Kabel ist, versuche ein dickeres kürzeres mit
> unverbrauchten Steckern

Es ist ein USB-Kabel, damit ich nichts umstecken muss. Aber dick ist es 
eigentlich schon (zumindest von aussen).

Stefan ⛄ F. schrieb:
> - Direkt an die VCC/GND Anschlüsse des ESP Moduls gehört ein Kondensator
> mit 100 - 220µF. Ist beim NodeMCU Board bereits vorhanden.

Ist ein NodeMCU, habe nichts angeschlossen, bis auf das USB-Kabel

Stefan ⛄ F. schrieb:
> Denn an dem Tag, als der ESP32 auf den Markt kam, begann eine Phase, in
> der Espressif die Software des ESP8266 stark vernachlässigte. Anfangs
> wollten sie noch die gleiche Features drin haben, wie beim ESP32 aber
> damit haben sie mehr kaputt als gut gemacht. Und auch das haben sie
> inzwischen aufgegeben.

Ok, dass werde ich mir mal angucken.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.