MansTrein
Mans
Hallo
Ik heb vcc aangesloten op de 5v van de mega en gnd op de gnd,
Verder heb ik de TX van de ESP aangesloten op de RX van de mega en de RX op de TX.
Dit is het board wat ik gebruik is de Generic ESP8266 module.
Dit is de code die ik gebruik :
#include <ESP8266WiFi.h>
// WiFi network
const char* ssid = "XXXXXXXXX";
const char* password = "YYYYYYYYYY";
void setup() {
// Start serial
Serial.begin(9600);
delay(10);
// Connecting to a WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
}
En dit is de output
. Variables and constants in RAM (global, static), used 28216 / 80192 bytes (35%)
? SEGMENT BYTES DESCRIPTION
??? DATA 1504 initialized variables
??? RODATA 1000 constants
??? BSS 25712 zeroed variables
. Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 59747 / 65536 bytes (91%)
? SEGMENT BYTES DESCRIPTION
??? ICACHE 32768 reserved space for flash instruction cache
??? IRAM 26979 code in IRAM
. Code in flash (default, ICACHE_FLASH_ATTR), used 238816 / 1048576 bytes (22%)
? SEGMENT BYTES DESCRIPTION
??? IROM 238816 code in flash
"C:\Users\Mans\AppData\Local\Arduino15\packages\esp8266\tools\python3\3.7.2-post1/python3" -I "C:\Users\Mans\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/upload.py" --chip esp8266 --port "COM4" --baud "115200" "" --before default_reset --after hard_reset write_flash 0x0 "C:\Users\Mans\AppData\Local\arduino\sketches\6EFBA452BA484A65CDBF8C4B4A84A5E2/Uno_ESP8266.ino.bin"
esptool.py v3.0
Serial port COM4
Connecting........_____....._____....._____....._____....._____....._____....._____
A fatal esptool.py error occurred: Failed to connect to ESP8266: Timed out waiting for packet header
Ik ben al een paar dagen aan het zoeken wat hier mis gaat.
Heeft Iemand enig idee?
Mans
[Bericht gewijzigd door Sine op (0%)]
benleentje
Golden Member
Zou je AUB de code op een andere manier willen posten.
Bovenin het tekst invoer voer als je aan het typen ebnt zit een knop met <> erin. Seleceer dan de hele code in 1 keer en klick op de knop <> en dan kies je voor "C"
Dan ook daarna even kijken of al het inspringen goed staat en dat leest het voor iedereen een stuk makkelijker.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Dit lijkt code die op de ESP zou moeten draaien, niet op de Mega.
Het breakout board lijkt deze echter niet te kunnen programmeren, ik zie geen voorzieningen voor boot- en reset signalen. Dat kon met drukknopjes, als ik mij goed herinner. Maar ik heb indertijd maar 1 project gedaan met een ESP01.
Voor een eenvoudige start met de ESP8266 zou ik nu een Wemos D1 mini of soortgelijks aanraden.
[Bericht gewijzigd door Aart op (16%)]
Het probleem is dat je je ESP niet geprogrammeerd krijgt.
Dus of je code goed is is (nog) niet relevant: De code komt niet in de ESP, dus KAN nog niet fout gaan.
Je moet een ESP in programmeer-modus krijgen. Voor de ESP32 varianten is dat meestal pin0 aan massa leggen bij reset/power-on. Voor ESP8266 kan het iets anders zijn. En uiteraard moeten de RX/TX netjes aan de computer aangesloten zijn.
Maar de foutmelding die je nu krijgt is dat jouw PC/laptop de ESP8266 wil programmeren, maar geen verbinding krijgt.
Wat die Mega in het verhaal doet is onduidelijk, maar als je denkt de Mega als programmer te gebruiken (dus PC->Mega->ESP), dan is het op de PC niet goed ingesteld: esptool (het PC/laptop programma dat ESP chippies programmeert) praat tegen COM4 (een poort van je PC) en verwacht daar dus een ESP. Geen Mega.
De software buiten beschouwing gelaten.
Naar mijn weten is de esp01 een 3.3v pcb dus op 5volt komt dat niet goed.
De drager print heeft level converters.
Vermoedelijk niet wat TS zoekt; maar de drager lijkt bedoeld te zijn als oplossing om een ESP01 als AT modem te gebruiken.
Wat met deze opstelling zou kunnen werken:
- Open de seriële terminal.
- Stel de communicatie in op 115200 baud en Both NL and CR.
- Roep: "AT".
Als er dan: "OK" als reactie komt werkt de ESP en heeft hij een (default?) firmware die AT commando's verwerkt.
Hij is dan met AT commando's vanaf de Mega te gebruiken als Wifi modem. Daar is vast een library voor. Of dat handig is of niet hangt er vanaf wat het uiteindelijke doel is.
Alvorens je de ESP met de Mega kan verbinden moet je eerst die code in the ESP krijgen. Hiervoor moet je de ESP via een seriële poort op jouw computer met die Arduino IDE aansluiten.
In jouw log staat dat de Arduino IDE op seriële poort COM4 zoekt naar de ESP. Indien de ESP effectief op COM4 is aangesloten dan moet je, zoals Sine al aangaf, de ESP in programmeermodus zetten.
Pas wanneer dit programmeren goed is verlopen kan je de ESP aan de mega te gaan hangen. Uiteraard moet die MEGA dan ook al over code beschikken die kan spreken met de ESP.
marcob
Honourable Member
People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years
Hiermee kun je een ESP-01 flashen:
https://www.hobbyelectronica.nl/product/usb-esp8266-esp-01-ch340g-2/
MansTrein
Mans
Hallo,
Deze Usb Esp8266 Esp-01 CH340G had ik nog.
Dus ik kan de ESP nu flashen.
Ik heb de flashtool gedownload.
Wat ik uiteindelijk wil is via de ESP01 adapter aangesloten op een Mega de internet tijd ophalen.
Ik weet er eigenlijk als een 75e jarige te weinig van af om dit tot een goed einde te brengen.
Dus hoe nu verder?
Mans
benleentje
Golden Member
Mijn methode van een hobby programmeur is in kleine stapjes werken.
Dus nu eerst een proberen of het aan je wifi netwerk wil koppelen.
Dan zoeken hoe je via wifi de internet tijd kan binnen halen en dat in de ESP01 programmeren.
Het voorbeeld programma wat je nu hebt dat praat al over de com poort naar je PC.
De mega kan je dan zo programmeren dat hij net zoals een PC de com poort beluisterd.Echter in de mega gaat dat dan via de uart. Als dat lukt dan kan je in de mega iets maken dat zelf als het de tijd nodig heeft dat op de com poort / uart vraagt aan de ESP01 "geef me de tijd". De ESP laat je dan de hele tijd luisteren naar de mega en als "geef me de tijd" als bericht komt dan stuur je de tijd terug.
Dit is een voorbeeld, maar misschien zijn de stappen nog te groot en dan maak je ze kleiner. En wat ook belangrijk is dat als een volgende stap je in onverwachte problemen brengt die je niet zomaar opgelost krijgt je dan terug gaat naar het vorige wel werkende programma. Maar dat moet je wel zelf doen door dan de nieuwe Laatst toegevoegde regels even uit te zetten. Dus dat betekend ook niet teveel toevoegen aan het programma zodat je nog makkelijk weer terug kan.
[Bericht gewijzigd door benleentje op (19%)]