Indholdsfortegnelse:

3 enkle måder at programmere et ESP8266 12X -modul på: 5 trin (med billeder)
3 enkle måder at programmere et ESP8266 12X -modul på: 5 trin (med billeder)

Video: 3 enkle måder at programmere et ESP8266 12X -modul på: 5 trin (med billeder)

Video: 3 enkle måder at programmere et ESP8266 12X -modul på: 5 trin (med billeder)
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, November
Anonim
3 enkle måder at programmere et ESP8266 12X -modul på
3 enkle måder at programmere et ESP8266 12X -modul på

Hvis du ikke kender ESP8266 mikrokontroller, føler jeg virkelig, at du har gået glip af det! Disse ting er utrolige: de er billige, kraftfulde og bedst af alt har indbygget WiFi! ESP8266 startede deres rejse ud som en WiFi-tilføjelse ombord til mere traditionelle Arduino-tavler, men kort tid efter indså samfundet kraften i dem og tilføjede support for at kunne programmere direkte med Arduino IDE.

I disse dage, hvis du ønsker at bruge en ESP8266 til dit projekt, vil jeg anbefale at bruge et udviklingsbræt som Wemos D1 Mini* ($ 2,50 leveret !!) eller Adafruit Feather Huzzah. Disse tavler har alle de anvendelige stifter brudt ud, er let programmerbare via deres mikro -USB -stik og har en indbygget 3.3V regulator. Men hvad nu hvis du vil bruge en ESP8266 i et projekt med et brugerdefineret printkort? Den nemmeste måde er at bruge et ESP12 -modul, og i denne Instructable viser jeg dig et par enkle måder at programmere dem på.* = Tilknyttet link

Trin 1: Tjek videoen

Her er en video med alle de oplysninger, der findes i Instructable, hvis du kan lide at tjekke det ud. På min kanal laver jeg meget arbejde med ESP8266s, så min kanal generelt er værd at tjekke, hvis den slags ting interesserer dig!

Trin 2: For-trin: Opsætning til programmering af ESP8266

Image
Image

Hvis du aldrig har brugt ESP8266 eller Arduino før, skal vi bruge en lille smule softwareopsætning. Jeg har en dedikeret video til dette. Den er kun 5 minutter lang og går igennem alt, hvad du skal konfigurere.

Hvis videoer ikke virkelig er dine ting, så tjek lektion 2 i Beckys fantastiske IoT -klasse, den går også over alt, hvad du har brug for.

Inden du går til det næste afsnit, skal du kunne uploade en simpel skitse til en ESP8266 (f.eks. Blinkeksemplet nævnt i både videoen og Beckys lektion)

Trin 3: Metode 1: "Frog" Pin Programmerer

Metode 1
Metode 1

Dette er sandsynligvis den nemmeste måde at programmere et ESP12 -modul på. Du springer stort set bare modulet ind i tavlen, og så opfører det sig nøjagtigt som et af de udviklingstavler, der er nævnt tidligere. Jeg valgte Wemos D1 Mini -kortet fra tavlerne, der faldt ned under programmeringen. Der er ulemper ved denne metode:

  • Programmereren er en lille smule dyr, hvis du kun laver et par tavler.
  • Tavler kan kun programmeres på denne måde, før de loddes til dit printkort

Den jeg købte er fra Aliexpress, men jeg tror, at den originale designer er en bruger på Tindie ved navn Fred. De var udsolgt på det tidspunkt, så jeg endte med at gå med Aliexpress, men jeg linker til begge.

  • Aliexpress Pop-in ESP-modulprogrammerer*
  • Fred's Frog Pin ESP -modulprogrammerer

* = Tilknyttet link

Trin 4: Metode 2: Brug stort set enhver USB til seriel konverter

Metode 2: Brug stort set enhver USB til seriel konverter
Metode 2: Brug stort set enhver USB til seriel konverter
Metode 2: Brug stort set enhver USB til seriel konverter
Metode 2: Brug stort set enhver USB til seriel konverter
Metode 2: Brug stort set enhver USB til seriel konverter
Metode 2: Brug stort set enhver USB til seriel konverter

Til den næste metode skal vi manuelt sætte ESP -modulet i programmeringstilstand og derefter bruge stort set enhver USB til seriel konverter til at programmere ESP8266, selv denne PL2303 en*, der koster 50c leverede værker!

Normal drift:

Inden vi går i gang med programmeringen, skal vi først se på, hvilke eksterne komponenter ESP8266 skal køre. Til normal drift har et ESP-12-modul brug for følgende

  • EN, RST og GPIO 0 skal trækkes højt ved hjælp af en 10K modstand
  • GPIO 15 skal trækkes til jorden ved hjælp af en 10K modstand
  • 3.3V strømforsyning i stand til omkring 250mA strøm (en hætte mellem VCC og GND anbefales)

Med ovenstående konfiguration vil ESP8266, når den er tændt, være i normal driftstilstand, så den kører de skitser, du har programmeret til den. Du kan købe breakout boards til ESP-12 moduler*, der virkelig er nyttige til at teste de forskellige opsætninger. Modulerne har modstandene opsat til EN og GPIO 15-benet, så du skal stadig tilføje pull-up-modstanden til RST og GPIO 0,

Aktivering af programmeringstilstand:

For at komme i programmeringstilstand skal GPIO 0 trækkes lavt, når ESP starter. Den nemmeste måde at gøre dette på er at tilføje knapper til GPIO 0 og RST -stiften, der forbindes til jorden, når der trykkes på den. Derefter for at aktivere flash -tilstand, du simpelthen

  • Hold knappen GPIO 0 nede
  • Tryk på RST -knappen
  • Slip derefter begge knapper

Du behøver ikke at udføre denne sekvens på noget bestemt tidspunkt under uploadprocessen eller noget, når ESP er i programmeringstilstand, vil den blive der til den næste nulstilling, så udfør trinene når som helst, før du uploader.

Programmering med en USB til seriel adapter:

Aktivering af programtilstand er kun halvdelen af kampen, nu skal vi faktisk programmere modulet. De fleste USB til serielle adaptere kan ikke levere nok strøm til ESP8266, så det anbefales, at du tænder ESP8266 ved hjælp af en ekstern 3.3V kilde.

For at tilslutte programmereren skal du tilslutte følgende stifter (også vist på et billede ovenfor):

  • Tilslut programmeringsenhedens TX til RX på ESP8266 (ikke en tastefejl, forbindelserne er omvendt)
  • Tilslut programmererens RX til TX på ESP8266
  • Tilslut programmeringsjordens jord til ESP8266

For at uploade din skitse skal du gøre følgende:

  • Vælg portnummeret på din serielle adapter (værktøjer-> port)
  • Aktiver programmeringstilstand på din ESP8266 som beskrevet ovenfor
  • Klik på upload -knappen. (Hvis det mislykkes, skal du tjekke dine ledninger og prøve at sætte dit bord i programmeringstilstand igen)
  • Klik på nulstillingsknappen, når upload er færdig

Her er de tavleindstillinger, jeg brugte, når jeg uploadede ved hjælp af denne metode:

  • Board: Generisk ESP8266 -modul
  • Flashtilstand: DIO
  • Flashstørrelse: 4M (3M Spiffs)
  • Nulstil metode: ck
  • Flashfrekvens: 40MHz
  • Uploadhastighed: 115200

Den sidste ting at bemærke er LED_BUILIN -definitionen for et generisk ESP8266 -modul, der peger på pin 1, men den indbyggede LED på et ESP12 -modul er forbundet til pin 2 (Den er aktiv lav også som en FYI). Så hvis du tester en blinkskitse, skal du bruge tallet 2 frem for LED_BUILTIN

* = Tilknyttet link

Trin 5: Metode 3: Automatisk nulstilling af programmer ved hjælp af en NodeMCU

Metode 3: Automatisk nulstilling af programmer ved hjælp af en NodeMCU
Metode 3: Automatisk nulstilling af programmer ved hjælp af en NodeMCU
Metode 3: Automatisk nulstilling af programmer ved hjælp af en NodeMCU
Metode 3: Automatisk nulstilling af programmer ved hjælp af en NodeMCU

Hvis du brugte et ESP -udviklingsbræt, har du bemærket, at stort set alle ikke kræver, at du manuelt aktiverer programmeringstilstand ved hjælp af knapperne, så hvordan gør de det?

De fleste USB til serielle chips har yderligere stifter, der udsender signaler på forskellige stadier af uploadprocessen, og med brug af nogle eksterne kredsløb er det muligt at udløse laven på GPIO 0 og de nødvendige nulstillinger. RuiMoteiro har instruktioner om dette emne ved hjælp af et FTDI -kort og ESP8266.

Men jeg tror, der er en enklere tilgang til dette, og hvad der er endnu bedre, er, at der er en god chance for, at du allerede har alt, hvad du har brug for for at gøre det! Du kan bruge et ESP8266 -udviklingskort som f.eks. En NodeMCU som programmør*.

Hvad er fordelen ved at bruge en NodeMCU?

De største fordele ved at bruge NodeMCU som programmerer er følgende:

  • Du kan drive ESP8266 direkte fra 3V ben på NodeMCU
  • Vil håndtere automatisk nulstilling/aktivering af programmeringstilstand
  • Omkostninger omkring $ 2,50 leveret (og kan bruges som almindeligt dev board, når du ikke programmerer andre!)

Du kan bruge den samme fremgangsmåde med et hvilket som helst dev -bord, der viser chip -aktiveringsnålen til ESP8266.

Hvordan virker det?

Jeg fik ideen om dette fra en YouTuber ved navn Mika Kurkela, i sin video brugte han NodeMCU til at programmere et ESP-01-modul, men vi kan bruge den samme idé til ESP12-modulet.

Grundlæggende vil vi deaktivere ESP8266 på NodeMCU ved at tvinge EN -pin lav, dette forhindrer ESP8266 -modulet på NodeMCU i at starte. Vi vil derefter forbinde alle de relevante stifter på NodeMCU -kortet til vores eksterne ESP8266.

Kabelføring det

For at tilslutte det skal du bruge standard ESP8266 -ledningerne som vist i det foregående trin og derefter tilføje følgende forbindelser (også vist på billedet ovenfor):

  • Tilslut 3V på NodeMCU til VCC på ESP8266
  • Tilslut GND til GND
  • Tilslut TX fra NodeMCU til TX på ESP8266 (Dette er anderledes end det foregående trin)
  • Tilslut RX på NodeMCU til RX på ESP8266
  • Tilslut D3 på NodeMCU til GPIO 0 på ESP8266 (D3 er GPIO 0 i ESP8266)
  • Tilslut RST for NodeMCU til RST for ESP8266
  • Tilslut EN på NodeMCU til GND

Upload af en skitse

Når du har sluttet ESP8266, skal du gøre følgende:

  • Vælg portnummeret på NodeMCU (værktøjer-> port)
  • Vælg korttypen "NodeMCU 1.0 (ESP12-E Module)"
  • Klik på upload

Og det er det! Det aktiverer automatisk programmeringstilstand og nulstilles automatisk, når upload er færdig, så det begynder at udføre skitsen.

Brug dette i dine borddesigner

For at bruge denne metode i dine borddesigner skal du blot bryde følgende pins ud:

  • Jord
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

Og når du vil programmere dine tavler, skal du koble det op som ovenfor.

Forhåbentlig finder du denne Instructable nyttig, hvis du har spørgsmål, er du velkommen til at stille!

* = Tilknyttet link

Anbefalede: