Inhoudsopgave:

ESP Iets: 6 stappen
ESP Iets: 6 stappen

Video: ESP Iets: 6 stappen

Video: ESP Iets: 6 stappen
Video: How-To Disable ESP [Read Comments/Description] 2024, November
Anonim
ESP Iets
ESP Iets
ESP Iets
ESP Iets
ESP Iets
ESP Iets
ESP Iets
ESP Iets

Mijn doel hier is om mijn ervaring met de ESP8266 te delen via de ESP-01-, ESP-12- en NodeMCU-modules.

Ik zal het uitleggen:

1. Hoe ESP-01 op uw computer aan te sluiten?

2. Laad de AT-firmware opnieuw

3. Gebruik Arduino IDE om de chip te programmeren

4. Node MCU-ervaring

5. DeepSleep of voed uw module met batterij

6. Pure ESP12 - Sluit hem aan op je computer en bereid je voor op embedded projecten

Stap 1: ESP-01 - Communicatietest

ESP-01 - Communicatietest
ESP-01 - Communicatietest
ESP-01 - Communicatietest
ESP-01 - Communicatietest
ESP-01 - Communicatietest
ESP-01 - Communicatietest

Jij hebt nodig:

  1. ESP-01-module natuurlijk
  2. Seriële USB-adapter
  3. Een 3.3V regelaar, ik gebruikte een LE33CZ (max 100mA), het werkt maar ik raad een model aan met 1A Max.

Volg het schema.

Opmerking: CH_PD moet worden aangesloten op +VCC, zoals vermeld in de datasheet van ESP8266.

Communiceer met de ESP:

Normaal gesproken wanneer u een dergelijke module koopt:

  • de AT-firmware zit al in het geheugen
  • de standaard seriële snelheid is 115200 bps

Theoretisch mag u alle software voor seriële communicatie gebruiken. Zorg ervoor dat u New Line & Carriage Return na elke opdracht toevoegt.

Ik heb geprobeerd om PutTTY te gebruiken om AT-commando's te verzenden, maar zonder succes, vanwege deze New Line & Carriage Return-tekens. Ik vond de manier niet om het te doen

Dus ik heb de seriële monitor van ARDUINO gebruikt, zorg ervoor dat je "Beide NL&CR" instelt, anders werkt het niet

Zodra je klaar bent:

  • Probeer te typen: AT
  • ESP zou moeten antwoorden: OK

Nu bent u binnen. Raadpleeg de Espressif-documentatie voor AT-opdrachten.

Met AT-commando's kunt u verbinding maken met WiFi en een HTTP-server maken. Maar je kunt GPIO niet bevelen.

Stap 2: ESP-01 - Laad de AT-firmware opnieuw

In het geval dat wanneer u de module ontvangt, er geen software in zit (maar normaal gesproken wel), leg ik hier uit hoe u deze opnieuw kunt laden met een multi-platformtool.

U kunt deze stap overslaan als de vorige goed voor u was.

Het eerste dat u moet weten:

  • Om in de programmeermodus te komen, moet je GPIO0 op 0V zetten en een RESET uitvoeren terwijl GPIO0 nog steeds op 0V staat.
  • Dan is de module klaar om firmware in het flashgeheugen te laden

Ga naar Espressif.com om de SDK te downloaden:

In de map bin/at, zal het README-bestand u vertellen welke bestanden in het geheugen moeten worden geladen en de startadressen

Voorbeeld:

# NIET-BOOTMODUS## downloaden

eagle.flash.bin 0x00000

eagle.irom0text.bin 0x10000

blanco.bin

Flitsgrootte 8 Mbit: 0x7e000 & 0xfe000

Flitsformaat 16Mbit: 0x7e000 & 0x1fe000

Flitsformaat 16Mbit-C1: 0xfe000 & 0x1fe000

Flitsformaat 32Mbit: 0x7e000 & 0x3fe000

Flitsformaat 32Mbit-C1: 0xfe000 & 0x3fe000

esp_init_data_default.bin (optioneel)

Flitsgrootte 8 Mbit: 0xfc000

Flitsgrootte 16 Mbit: 0x1fc000

Flitsformaat 16Mbit-C1: 0x1fc000

Flitsgrootte 32Mbit: 0x3fc000

Flitsformaat 32Mbit-C1: 0x3fc000

Opmerking: u moet de grootte en het type geheugen weten dat u in uw module hebt. Dat is een punt dat we in een paar seconden zullen behandelen…

Gebruik esptool.py om de firmware te laden:

  • Espressif raadt aan om hun eigen software te gebruiken, maar het is op Windows
  • Dus https://github.com/espressif/esptool is een goed alternatief
  1. python esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash 0x00000./at/noboot/eagle.flash.bin
  2. python esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash 0x10000./at/noboot/eagle.irom0text.bin
  3. python esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash 0x7e000./bin/blank.bin
  4. python esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash 0xfc000./bin/esp_init_data_default.bin

Belangrijke notitie:

U kunt deze dingen niet doen als u niet weet wat voor soort geheugen u in uw module heeft.

Ik geef je een tip:

python esptool.py --port /dev/ttyUSB0 --baud 115200 flash_id

Bekijk dan de combo op

fabrikant c8 is GigaDevice en apparaat 4013 is GD25Q40, wat een 4Mbit=512KByte-apparaat is

fabrikant ef is Winbond (ex Nexcom) en apparaat 4016 is W25Q32, wat een 32Mbit=4MByte-apparaat is

Stap 3: Gebruik ARDUINO IDE

Gebruik ARDUINO IDE
Gebruik ARDUINO IDE

Voeg in de voorkeursinstellingen deze URL toe aan "Extra Boards Manager-URL's":

arduino.esp8266.com/stable/package_esp8266c…

Start ARDUINO daarna opnieuw op. Vervolgens kunt u in "TOOL->BOARD" de generieke ESP8266-module selecteren.

In Bestand->Voorbeelden vindt u voorbeelden van schetsen die u helpen om te beginnen met programmeren met ARDUINO.

Opmerkingen:

  • Wanneer u uw programma downloadt, vergeet dan niet om naar de programmeermodus te gaan (GPIO0=0V en RESET).
  • Zodra je een arduino-programma op de ESP hebt gedownload, is de AT-firmware niet meer beschikbaar, dus AT-commando's zijn dat ook niet.
  • Gebruik de optie: schets + wifi-instellingen

Stap 4: Knooppunt MCU

Knooppunt MCU
Knooppunt MCU

Als je zo'n module koopt, is dat erg handig:

  • ESP-12 binnen
  • Je hebt een flash + reset-knop om gemakkelijk in de programmeermodus te komen
  • Pinnen
  • Een geïntegreerde USB-poort…

Maar als je het in een project wilt integreren, is het misschien niet de beste. We zullen de "pure" ESP12 aan het einde van deze instructable zien.

Stap 5: DeepSleep of voed uw module met batterij

Het is cool om wifi te hebben, maar het kost stroom. Als u de module AAN laat staan, weet u niet zeker of u deze voor een lange tijd kunt inbedden in een batterijenproject.

Gelukkig kan de ESP in diepe slaapstand gaan. Het verbruikt dan weinig micro-ampères.

Het is mogelijk om dat te doen met AT-commando's.

Maar ik zal het laten zien door middel van arduino-programmering.

Verbind eerst WakeUpPin=GPIO16 met de RESET van de ESP. Want wanneer de ESP in de diepe slaapmodus gaat, wordt hij wakker door zichzelf te resetten via de GPIO16-pin.

Gebruik de code: ESP.deepSleep(, WAKE_RF_DEFAULT);

is in microseconden. De ESP slaapt tijdens ons voordat hij wordt gereset.

Stap 6: Pure ESP12 - sluit het aan op uw computer en bereid u voor op geïntegreerde projecten

Pure ESP12 - Sluit hem aan op uw computer en bereid u voor op geïntegreerde projecten
Pure ESP12 - Sluit hem aan op uw computer en bereid u voor op geïntegreerde projecten
Pure ESP12 - Sluit hem aan op uw computer en bereid u voor op geïntegreerde projecten
Pure ESP12 - Sluit hem aan op uw computer en bereid u voor op geïntegreerde projecten

Wees niet bang om de pure ESP12-module te kopen. Het is goedkoop, licht en klein.

Sluit het op dezelfde manier aan als de ESP-01-module, met een seriële USB-adapter.

Vergeet niet dat CH_PD op Vcc moet staan.

Dan kun je embedded projecten maken, op batterijen, met wifi en een krachtige microcontroller!!

Aanbevolen: