Hast du das gemacht?
Danach musst du die Anwendung neu starten.
Ich habe gerade meinen Code « hochgeladen ». Das Ergebnis:
Ausführbare Segmentgrößen:
ICACHE : 32768 - Flash-Befehlscache
IROM : 249268 - Code im Flash (Standard oder ICACHE_FLASH_ATTR)
IRAM : 27369 / 32768 - Code im IRAM (IRAM_ATTR, ISRs…)
DATA : 1496 ) - initialisierte Variablen (global, statisch) im RAM/HEAP
RODATA : 1316 ) / 81920 - Konstanten (global, statisch) im RAM/HEAP
BSS : 25864 ) - nullgesetzte Variablen (global, statisch) im RAM/HEAPDer Sketch verwendet 279449 Bytes (26%) des Programmspeicherplatzes. Das Maximum beträgt 1044464 Bytes.
Globale Variablen verwenden 28676 Bytes (35%) des dynamischen Speichers, was 53244 Bytes für lokale Variablen übrig lässt. Das Maximum beträgt 81920 Bytes.
esptool.py v3.0
Serieller Port COM6
Verbindung wird hergestellt…
Chip ist ESP8266EX
Funktionen: WiFi
Kristall ist 26MHz
MAC: dc:4f:22:43:5b:f3
Hochladen des Stubs…
Ausführung des Stubs…
Stub läuft…
Baudrate wird auf 460800 geändert
Geändert.
Konfiguration der Flash-Größe…
Automatisch erfasste Flash-Größe: 4MB
283600 Bytes auf 207837 komprimiert…
Schreiben an 0x00000000… (7 %)
Schreiben an 0x00004000… (15 %)
Schreiben an 0x00008000… (23 %)
Schreiben an 0x0000c000… (30 %)
Schreiben an 0x00010000… (38 %)
Schreiben an 0x00014000… (46 %)
Schreiben an 0x00018000… (53 %)
Schreiben an 0x0001c000… (61 %)
Schreiben an 0x00020000… (69 %)
Schreiben an 0x00024000… (76 %)
Schreiben an 0x00028000… (84 %)
Schreiben an 0x0002c000… (92 %)
Schreiben an 0x00030000… (100 %)
283600 Bytes (207837 komprimiert) an 0x00000000 in 4,9 Sekunden geschrieben (effektiv 465,2 kbit/s)…
Hash der Daten verifiziert.
Verlassen…
Hard-Reset über RTS-Pin…
Ich sehe keine
![]()
Nach dem Flash muss der Arduino zurückgesetzt/neugestartet werden, damit der Code ausgeführt wird.
Hast du das im seriellen Monitor gesucht?
Suchst du das wirklich im Seriellen Monitor?
Ja, tatsächlich
Nach dem Flash muss der Arduino zurückgesetzt/neugestartet werden, damit der Code ausgeführt wird.
Okay, ich habe im Internet gesucht, wie man einen Reset/Neustart durchführt, und dies gefunden:
https://techtutorialsx.com/2017/12/29/esp8266-arduino-software-restart/
intcnt=10;
voidsetup() {
Serial.begin(115200);
}
voidloop() {
Serial.println(cnt);
if(cnt==0){
Serial.println("Reset..");
ESP.restart();
}
cnt--;
delay(1000);
}
Aber nichts ändert sich!
Ergebnis im « Serienmonitor »:
ets Jan 8 2013,rst cause:4, boot mode:(3,6)
wdt reset
load 0x4010f000, len 3460, room 16
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4
tail 4
chksum 0xc9
csum 0xc9
v000453d0
~ld
Eine Idee?
![]()
Du suchst kompliziert
, entweder du hast einen RST-Knopf und drückst darauf, oder du ziehst den Stecker raus und steckst ihn wieder rein.
Nachdem ich die RST-Taste im « Serienmonitor » gedrückt habe, erhalte ich dies:
rll�r$�n�l�b|���rb�b�nnlnn2bbp�$blrlp�n0�l�bn�n��b��nn’l�l
�nn$nr���nrr�p�n0r�bbn�nb��nn'l�nn$nr���nrlr��nrl�$�l��n�`
ets Jan ets Jan 8 2013,rst cause:4, boot mode:(3,6)wdt reset
load 0x4010f000, len 3460, room 16
tail 4
chksum 0xcc
etc …
Aber immer noch kein « Verbindung zu 192.168.XX.XX herstellen, dann Verbindung zu MQTT herstellen »
:fragezeichen:
Hast du den Reset in deinem Code entfernt und deine Baudrate auf 115200 gesetzt?
Bei der Geschwindigkeit habe ich tatsächlich 115200

Aber ich verstehe nicht, was „Du hast deinen Reset im Code entfernt“ bedeutet! Entschuldigung
Okay, ich habe im Internet nach einer Anleitung für einen Reset/Neustart gesucht und das hier gefunden:
ESP8266 Arduino: Software restart - techtutorialsx
intcnt=10;
voidsetup() {
Serial.begin(115200);
}
voidloop() {
Serial.println(cnt);
if(cnt==0){
Serial.println("Reset..");
ESP.restart();
}
cnt--;
delay(1000);
}Aber nichts ändert sich!
Ich spreche davon
Ja (ersetzte ESP.restart(); durch ESP.reset();
Aber nichts ändert sich
Gefunden hier: https://www.pieterverhees.nl/sparklesagarbage/esp8266/130-difference-between-esp-reset-and-esp-restart
ESP.reset()ist ein Hardware-Reset und kann einige Register im alten Zustand belassen, was zu Problemen führen kann, es ist so etwas wie der Reset-Knopf am PC.
ESP.restart()weist das SDK an, neu zu starten, also ist es ein sauberer Neustart, verwenden Sie diesen, wenn möglich.das
boot mode:(1,7)Problem ist bekannt und tritt nur beim ersten Neustart nach dem seriellen Flashen auf.
wenn Sie einen manuellen Neustart durch Strom oder den RST-Pin durchführen, funktioniert alles, weitere Informationen siehe: # 1017
Ich bin ein bisschen verwirrt…
Schick deinen Code wie im Tutorial zurück, du brauchst die Zeilen, die du hinzugefügt/verändert hast, nicht für den Reset.
Für die Geschwindigkeit schalte auf 9600.
Das steht im Code
void setup() { /* Initialisiert den seriellen Port */ Serial.begin(9600); //Optional für den Debug-Modus
Für die Geschwindigkeit setze dich auf 9600.
Ich bin bereits auf 9600 im Code
Aber im „Serienmonitor“ wenn ich 9600 Baud einstelle, bekomme ich dies:
������������������������
Wenn ich 115200 Baud einstelle, bekomme ich dies:
ets Jan 8 2013,rst cause:4, boot mode:(3,6)
wdt reset
load 0x4010f000, len 3460, room 16
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4
tail 4
chksum 0xc9
csum 0xc9
v000453d0
~ld
![]()
Gut, ich komme ein bisschen weiter
Nach einigen Recherchen zu Tester ESP8266 habe ich dies gefunden
https://www.emi.ac.ma/oumnad/ESP8266/ESP8266.html
Hier ist der Code:
// Programme connect_IP_auto.ino A. Oumnad
//==============================================================
#include <ESP8266WiFi.h>
// Nach Ihrem WLAN-Zugangspunkt anpassen
const char* mySSID = « Txxxx-xxxx-xxxx »;
const char* mypassword = « xxxxxxxxxxxxxxx »;void setup() {
Serial.begin(115200); // für den seriellen Monitor
Serial.println(« \r\n\r\n============================================ »);
// Verbindung zum Zugangspunkt
Serial.print(" Verbindung zu « );
Serial.println(mySSID);
WiFi.disconnect();
WiFi.mode(WIFI_STA);
WiFi.begin(mySSID, mypassword);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print( ».« );
}
Serial.println();
Serial.print( » Verbunden mit « );
Serial.println(mySSID);
// Anzeige der IP-Adresse, die vom Zugangspunkt zugewiesen wurde
Serial.print( » Die IP-Adresse des ESP8266 ist: « );
Serial.println(WiFi.localIP());
Serial.println( »==================================================");
}
void loop() {
}
Ergebnis:
…
Verbunden mit Txxxxx-xxxx-xxxx
Die IP-Adresse des ESP8266 ist: 192.168.1.59==========================================================
Also, die WiFi-Verbindung funktioniert!
Ist dein Sensor angeschlossen, wenn du diesen Testcode ausführst?
Falls ja, scheint das Problem vom Anfang des Codes zu kommen?
Falls nein, Problem mit der Stromversorgung?
Nein, der Sensor ist nicht angeschlossen
int distance_mm = measure / 2.0 * SOUND_SPEED;
@GBoulvin
Wenn der Sensor nicht angeschlossen ist, stürzt das Programm dann nicht ab?
0 geteilt durch 2 * Schallgeschwindigkeit
