Innholdsfortegnelse:

3 enkle måter å programmere en ESP8266 12X -modul: 5 trinn (med bilder)
3 enkle måter å programmere en ESP8266 12X -modul: 5 trinn (med bilder)

Video: 3 enkle måter å programmere en ESP8266 12X -modul: 5 trinn (med bilder)

Video: 3 enkle måter å programmere en ESP8266 12X -modul: 5 trinn (med bilder)
Video: #7 Программирование панели HMI ESP8266 Modbus RTU и OP320. 2024, November
Anonim
3 enkle måter å programmere en ESP8266 12X -modul på
3 enkle måter å programmere en ESP8266 12X -modul på

Hvis du ikke er kjent med ESP8266 mikrokontroller, føler jeg virkelig at du har gått glipp av det! Disse tingene er utrolige: de er billige, kraftige og best av alt har innebygd WiFi! ESP8266 startet reisen som et WiFi-tillegg ombord for mer tradisjonelle Arduino-kort, men kort tid etter innså samfunnet kraften i dem og la til støtte for å kunne programmere direkte med Arduino IDE.

I disse dager vil du anbefale å bruke et utviklingsbord som Wemos D1 Mini* ($ 2,50 levert !!) eller Adafruit Feather Huzzah hvis du ønsker å bruke en ESP8266 til prosjektet ditt. Disse kortene har alle de brukbare pinnene brutt ut, er lett programmerbare via mikro -USB -kontakten og har en innebygd 3.3V regulator. Men hva om du vil bruke en ESP8266 i et prosjekt med en tilpasset PCB? Den enkleste måten er å bruke en ESP12 -modul, og i denne instruksjonsboken viser jeg deg et par enkle måter å programmere dem på.* = Tilknyttet lenke

Trinn 1: Sjekk videoen

Her er en video med all informasjonen i instruksjonsboken hvis du liker å sjekke den. På min kanal jobber jeg mye med ESP8266s, så kanalen min generelt kan være verdt å sjekke om den typen ting interesserer deg!

Trinn 2: For-trinn: Oppsett for programmering av ESP8266

Image
Image

Hvis du aldri har brukt ESP8266 eller Arduino før, trenger vi litt programvareoppsett. Jeg har en egen video for dette. Den er bare 5 minutter lang og går gjennom alt du trenger for å sette opp.

Hvis videoer egentlig ikke er noe for deg, sjekk leksjon 2 av Beckys fantastiske IoT -klasse, den går også over alt du trenger.

Før du går til neste avsnitt, bør du kunne laste opp en enkel skisse til en ESP8266 (for eksempel blinkeksemplet nevnt i både videoen og Beckys leksjon)

Trinn 3: Metode 1: "Frog" Pin Programmerer

Metode 1
Metode 1

Dette er sannsynligvis den enkleste måten å programmere en ESP12 -modul på. Du hopper i utgangspunktet modulen inn i brettet, og så oppfører den seg akkurat som et av utviklingstavlene nevnt tidligere. Jeg valgte Wemos D1 Mini -brettet fra tavlene som ble lagt ned ved programmering. Det er ulemper med denne metoden:

  • Programmereren er litt dyr hvis du bare lager noen få brett.
  • Tavler kan bare programmeres på denne måten før de loddes til PCB

Den jeg kjøpte er fra Aliexpress, men jeg tror den originale designeren er en bruker på Tindie som heter Fred. De var utsolgt den gangen, så jeg endte med å gå med Aliexpress, men jeg linker til begge.

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

* = Tilknyttet lenke

Trinn 4: Metode 2: Bruk i utgangspunktet hvilken som helst USB til seriell omformer

Metode 2: Bruk i utgangspunktet hvilken som helst USB til seriell omformer
Metode 2: Bruk i utgangspunktet hvilken som helst USB til seriell omformer
Metode 2: Bruk i utgangspunktet hvilken som helst USB til seriell omformer
Metode 2: Bruk i utgangspunktet hvilken som helst USB til seriell omformer
Metode 2: Bruk i utgangspunktet hvilken som helst USB til seriell omformer
Metode 2: Bruk i utgangspunktet hvilken som helst USB til seriell omformer

For den neste metoden skal vi sette ESP -modulen manuelt i programmeringsmodus og deretter bruke i utgangspunktet hvilken som helst USB til serieomformer for å programmere ESP8266, selv denne PL2303* som koster 50c levert verk!

Normal operasjon:

Før vi begynner å programmere, må vi først se på hvilke eksterne komponenter ESP8266 trenger å kjøre. For normal drift trenger en ESP-12-modul følgende

  • EN, RST og GPIO 0 må trekkes høyt ved hjelp av en 10K motstand
  • GPIO 15 må trekkes til bakken ved hjelp av en 10K motstand
  • 3.3V strømforsyning som er i stand til omtrent 250mA strøm (et lokk mellom VCC og GND anbefales)

Med konfigurasjonen ovenfor vil ESP8266 når den er slått på være i normal driftsmodus, så den vil kjøre de skissene du har programmert til den. Du kan kjøpe breakout-kort for ESP-12-moduler* som er veldig nyttige for å teste de forskjellige oppsettene. Modulene har motstandene konfigurert for EN og GPIO 15-pinners, så du må fortsatt legge til opptrekkmotstanden for RST og GPIO 0,

Aktivering av programmeringsmodus:

For å komme i programmeringsmodus må GPIO 0 trekkes lavt når ESP starter. Den enkleste måten å gjøre dette på er å legge til knapper til GPIO 0 og RST -pinnen som kobles til bakken når den trykkes. Så for å aktivere blitsmodus, du ganske enkelt

  • Hold inne GPIO 0 -knappen
  • Trykk på RST -knappen
  • Slipp deretter begge knappene

Du trenger ikke å utføre denne sekvensen på et bestemt tidspunkt under opplastingsprosessen eller noe. Når ESP er i programmeringsmodus, vil den bli der til neste tilbakestilling, så bare utfør trinnene når som helst før du laster den opp.

Programmering med en USB til seriell adapter:

Aktivering av programmodus er bare halve kampen, nå må vi faktisk programmere modulen. De fleste USB til serielle adaptere kan ikke gi nok strøm til ESP8266, så det anbefales at du slår på ESP8266 ved hjelp av en ekstern 3,3V kilde.

For å koble til programmereren må du koble til følgende pinner (også vist på bildet ovenfor):

  • Koble TX til programmereren til RX på ESP8266 (Ikke en skrivefeil, tilkoblingene er omvendt)
  • Koble RX til programmereren til TX på ESP8266
  • Koble bakken til programmereren til jord på ESP8266

Gjør følgende for å laste opp skissen din:

  • Velg portnummeret på seriell adapter (Verktøy-> Port)
  • Aktiver programmeringsmodus på ESP8266 som beskrevet ovenfor
  • Klikk på opplastingsknappen. (Hvis det mislykkes, dobbeltsjekk ledningene og prøv å sette kortet i programmeringsmodus igjen)
  • Klikk på tilbakestillingsknappen når opplastingen er fullført

Her er brettinnstillingene jeg brukte da jeg lastet opp med denne metoden:

  • Brett: Generisk ESP8266 -modul
  • Blitsmodus: DIO
  • Blitsstørrelse: 4M (3M Spiffs)
  • Tilbakestill metode: ck
  • Blitsfrekvens: 40MHz
  • Last opp hastighet: 115200

Den siste tingen å merke seg er LED_BUILIN -definisjonen for en generisk ESP8266 -modul som peker på pinne 1, men den innebygde LED -en til en ESP12 -modul er koblet til pinne 2 (Den er aktiv for lav som en FYI). Så hvis du tester en blinkskisse, må du bruke tallet 2 i stedet for LED_BUILTIN

* = Tilknyttet lenke

Trinn 5: Metode 3: Automatisk tilbakestilling av programmerer ved hjelp av en NodeMCU

Metode 3: Automatisk tilbakestilling av programmerer ved hjelp av en NodeMCU
Metode 3: Automatisk tilbakestilling av programmerer ved hjelp av en NodeMCU
Metode 3: Automatisk tilbakestilling av programmerer ved hjelp av en NodeMCU
Metode 3: Automatisk tilbakestilling av programmerer ved hjelp av en NodeMCU

Hvis du brukte noen ESP -utviklingstavler, vil du ha lagt merke til at de i utgangspunktet ikke krever at du aktiverer programmeringsmodus manuelt med knappene, så hvordan gjør de det?

De fleste USB til serielle brikker har ekstra pinner som sender ut signaler på forskjellige stadier av opplastingsprosessen, og med bruk av noen eksterne kretser er det mulig å utløse laven på GPIO 0 og nødvendige tilbakestillinger. RuiMoteiro har instruksjoner om dette emnet ved hjelp av et FTDI -kort og ESP8266.

Men jeg tror det er en enklere tilnærming til dette, og det som er enda bedre er at det er en god sjanse for at du allerede har alt du trenger for å gjøre det! Du kan bruke et ESP8266 utviklingstavle, for eksempel en NodeMCU som programmereren*.

Hva er fordelen med å bruke en NodeMCU?

De viktigste fordelene med å bruke NodeMCU som programmerer er følgende:

  • Du kan drive ESP8266 direkte fra 3V pinner på NodeMCU
  • Vil håndtere automatisk tilbakestilling/aktivering av programmeringsmodus
  • Koster ca $ 2,50 levert (og kan brukes som vanlig dev -brett når du ikke programmerer andre!)

Du kan bruke den samme tilnærmingen med et hvilket som helst dev -bord som viser eksponeringsbrikken for ESP8266.

Hvordan virker det?

Jeg fikk ideen om dette fra en YouTuber kalt Mika Kurkela, i videoen hans brukte han NodeMCU til å programmere en ESP-01-modul, men vi kan bruke den samme ideen for ESP12-modulen.

I utgangspunktet skal vi deaktivere ESP8266 på NodeMCU ved å tvinge EN -pinnen lavt, dette forhindrer ESP8266 -modulen på NodeMCU fra å starte. Vi skal deretter koble alle de relevante pinnene på NodeMCU -kortet til vårt eksterne ESP8266.

Kabling den

For å koble den til trenger du standard ESP8266 -ledninger som vist i forrige trinn, og deretter for å legge til følgende tilkoblinger (også vist på bildet ovenfor):

  • Koble 3V på NodeMCU til VCC på ESP8266
  • Koble GND til GND
  • Koble TX for NodeMCU til TX for ESP8266 (Dette er annerledes enn forrige trinn)
  • Koble RX til NodeMCU til RX på ESP8266
  • Koble D3 på NodeMCU til GPIO 0 på ESP8266 (D3 er GPIO 0 på ESP8266)
  • Koble RST for NodeMCU til RST på ESP8266
  • Koble EN av NodeMCU til GND

Laster opp en skisse

Når du har koblet ESP8266, må du gjøre følgende:

  • Velg portnummeret til NodeMCU (Verktøy-> Port)
  • Velg brettypen "NodeMCU 1.0 (ESP12-E Module)"
  • Klikk på last opp

Og det er det! Den aktiverer automatisk programmeringsmodus og tilbakestilles automatisk når den er lastet opp, slik at den begynner å utføre skissen.

Bruker dette i brettdesignene dine

For å bruke denne metoden i brettdesignene dine, trenger du bare å bryte ut følgende pins:

  • Bakke
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

Og når du vil programmere brettene dine, koble den opp som ovenfor.

Forhåpentligvis finner du denne Instructable nyttig. Hvis du har spørsmål, kan du gjerne spørre!

* = Tilknyttet lenke

Anbefalt: