3 enkla sätt att programmera en ESP8266 12X -modul: 5 steg (med bilder)
3 enkla sätt att programmera en ESP8266 12X -modul: 5 steg (med bilder)
Anonim
3 enkla sätt att programmera en ESP8266 12X -modul
3 enkla sätt att programmera en ESP8266 12X -modul

Om du inte är bekant med ESP8266 mikrokontroller känner jag verkligen att du har missat! Dessa saker är otroliga: de är billiga, kraftfulla och bäst av allt har inbyggt WiFi! ESP8266 startade sin resa som en WiFi-tillägg ombord för mer traditionella Arduino-kort, men strax efter insåg samhället kraften i dem och lade till stöd för att kunna programmera direkt med Arduino IDE.

Dessa dagar om du vill använda en ESP8266 för ditt projekt skulle jag rekommendera att använda ett utvecklingsbord som Wemos D1 Mini* ($ 2,50 levererat !!) eller Adafruit Feather Huzzah. Dessa kort har alla användbara stift utbrutna, är enkelt programmerbara via sitt mikro -USB -kontakt och har en inbyggd 3.3V regulator. Men vad händer om du vill använda en ESP8266 i ett projekt med en anpassad kretskort? Det enklaste sättet är att använda en ESP12 -modul, och i den här instruktionsboken visar jag dig ett par enkla sätt att programmera dem.* = Affiliate Link

Steg 1: Kolla in videon

Här är en video med all information som finns i Instructable om du vill kolla in den. På min kanal gör jag mycket arbete med ESP8266s så min kanal i allmänhet kanske är värd att kolla in om den typen av saker intresserar dig!

Steg 2: Försteg: Inställning för programmering av ESP8266

Image
Image

Om du aldrig har använt ESP8266 eller Arduino tidigare, behöver vi lite programvara. Jag har en dedikerad video för detta. Den är bara 5 minuter lång och går igenom allt du behöver konfigurera.

Om videor inte riktigt är din grej, kolla in lektion 2 i Beckys fantastiska IoT -klass, den går också igenom allt du behöver.

Innan du går till nästa avsnitt bör du kunna ladda upp en enkel skiss till en ESP8266 (t.ex. blinkexemplet som nämns i både videon och Beckys lektion)

Steg 3: Metod 1: "Frog" Pin Programmerare

Metod 1
Metod 1

Detta är förmodligen det enklaste sättet att programmera en ESP12 -modul. Du lägger i princip bara in modulen i styrelsen och sedan beter den sig precis som en av utvecklingsbrädorna som nämnts tidigare. Jag valde Wemos D1 Mini -kortet från brädans nedrullningsbara vid programmering. Det finns nackdelar med denna metod:

  • Programmeraren är lite dyr om du bara gör några kort.
  • Kort kan bara programmeras på detta sätt innan de löds till ditt kretskort

Den jag köpte är från Aliexpress, men jag tror att den ursprungliga designern är en användare på Tindie som heter Fred. De var slutsålda vid den tiden så jag slutade med Aliexpress, men jag länkar till båda.

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

* = Affiliate Link

Steg 4: Metod 2: Använd i princip vilken USB till serieomvandlare som helst

Metod 2: Använd i princip vilken USB till serieomvandlare som helst
Metod 2: Använd i princip vilken USB till serieomvandlare som helst
Metod 2: Använd i princip vilken USB till serieomvandlare som helst
Metod 2: Använd i princip vilken USB till serieomvandlare som helst
Metod 2: Använd i princip vilken USB till serieomvandlare som helst
Metod 2: Använd i princip vilken USB till serieomvandlare som helst

För nästa metod ska vi manuellt sätta ESP -modulen i programmeringsläge och sedan använda i princip vilken USB till serieomvandlare som helst för att programmera ESP8266, även denna PL2303* som kostar 50c levererade verk!

Normal drift:

Innan vi börjar programmera måste vi först titta på vilka externa komponenter ESP8266 behöver köra. För normal drift behöver en ESP-12-modul följande

  • EN, RST och GPIO 0 måste dras högt med ett 10K -motstånd
  • GPIO 15 måste dras till marken med ett 10K -motstånd
  • 3.3V strömförsörjning som kan strömma ca 250mA (ett lock mellan VCC och GND rekommenderas)

Med ovanstående konfiguration kommer ESP8266 när den är påslagen att vara i normalt driftläge, så den kör alla skisser du har programmerat till den. Du kan köpa breakout-kort för ESP-12-moduler* som verkligen är användbara för att testa de olika inställningarna. Modulerna har motståndsinställningar för EN och GPIO 15-stiftet, så du måste fortfarande lägga till uppdragningsmotståndet för RST och GPIO 0,

Aktivera programmeringsläge:

För att få det till programmeringsläge måste GPIO 0 dras lågt när ESP startar. Det enklaste sättet att göra detta är att lägga till knappar till GPIO 0 och RST -stiftet som ansluts till marken när den trycks ned. För att aktivera blixtläge, gör du helt enkelt

  • Håll ned knappen GPIO 0
  • Tryck på RST -knappen
  • Släpp sedan båda knapparna

Du behöver inte utföra den här sekvensen vid någon särskild tidpunkt under uppladdningsprocessen eller något annat, när ESP är i programmeringsläge kommer den att stanna där tills nästa återställning, så det är bara att utföra stegen när som helst innan du laddar upp.

Programmering med en USB till seriell adapter:

Aktivering av programläge är bara halva striden, nu måste vi faktiskt programmera modulen. De flesta USB till seriella adaptrar kan inte ge tillräckligt med ström till ESP8266 så det rekommenderas att du drar ESP8266 med en extern 3.3V -källa.

För att ansluta programmeraren måste du ansluta följande stift (visas också på bilden ovan):

  • Anslut TX för programmeraren till RX på ESP8266 (Inte ett stavfel, anslutningarna är omvända)
  • Anslut programmeraren RX till TX på ESP8266
  • Anslut programmerarens jord till ESP8266 -jordningen

Gör följande för att ladda upp din skiss:

  • Välj portnumret på din seriella adapter (Verktyg-> Port)
  • Aktivera programmeringsläge på din ESP8266 enligt beskrivningen ovan
  • Klicka på uppladdningsknappen. (Om det misslyckas, dubbelkolla kablarna och försök vila kortet i programmeringsläge igen)
  • Klicka på återställningsknappen när överföringen är klar

Här är de kortinställningar jag använde vid uppladdning med den här metoden:

  • Kort: Generisk ESP8266 -modul
  • Blixtläge: DIO
  • Blixtstorlek: 4M (3M Spiffs)
  • Återställ metod: ck
  • Blixtfrekvens: 40 MHz
  • Uppladdningshastighet: 115200

Det sista att notera är LED_BUILIN -definitionen för en generisk ESP8266 -modul som pekar på stift 1, men den inbyggda lysdioden på en ESP12 -modul är ansluten till stift 2 (Den är aktiv för låg som en FYI). Så om du testar en blinkskiss måste du använda nummer 2 istället för LED_BUILTIN

* = Affiliate Link

Steg 5: Metod 3: Automatisk återställning av programmerare med hjälp av en NodeMCU

Metod 3: Automatisk återställning av programmerare med hjälp av en NodeMCU
Metod 3: Automatisk återställning av programmerare med hjälp av en NodeMCU
Metod 3: Automatisk återställning av programmerare med en NodeMCU
Metod 3: Automatisk återställning av programmerare med en NodeMCU

Om du använde några ESP -utvecklingskort har du märkt att i princip alla inte kräver att du manuellt aktiverar programmeringsläget med knapparna, så hur gör de det?

De flesta USB till seriella chips har ytterligare stift som matar ut signaler i olika skeden av uppladdningsprocessen och med hjälp av vissa externa kretsar är det möjligt att utlösa låga GPIO 0 och de återställningar som krävs. RuiMoteiro har instruktioner om detta ämne med hjälp av ett FTDI -kort och ESP8266.

Men jag tror att det finns ett enklare tillvägagångssätt för detta, och det som är ännu bättre är att det finns en god chans att du redan har allt du behöver för att göra det! Du kan använda en ESP8266 -utvecklingskort som en NodeMCU som programmerare*.

Vad är fördelen med att använda en NodeMCU?

De främsta fördelarna med att använda NodeMCU som programmerare är följande:

  • Du kan driva ESP8266 direkt från 3V -stift på NodeMCU
  • Hanterar automatisk återställning/aktivering av programmeringsläge
  • Kostar ca $ 2,50 levererad (och kan användas som vanligt dev board när du inte programmerar andra!)

Du kan använda samma tillvägagångssätt med vilken dev -kort som helst som exponerar chip -aktiveringsstiftet på ESP8266.

Hur fungerar det?

Jag fick idén om detta från en YouTuber som heter Mika Kurkela, i sin video använde han NodeMCU för att programmera en ESP-01-modul, men vi kan använda samma idé för ESP12-modulen.

I grund och botten kommer vi att inaktivera ESP8266 på NodeMCU genom att tvinga EN -stiftet lågt, detta kommer att förhindra ESP8266 -modulen på NodeMCU från att starta. Vi ska sedan ansluta alla relevanta stift på NodeMCU -kortet till vår externa ESP8266.

Koppla upp det

För att ansluta den behöver du standard ESP8266 -kablar som visas i föregående steg och sedan för att lägga till följande anslutningar (visas också på bilden ovan):

  • Anslut 3V på NodeMCU till VCC på ESP8266
  • Anslut GND till GND
  • Anslut TX för NodeMCU till TX för ESP8266 (Detta är annorlunda än föregående steg)
  • Anslut RX för NodeMCU till RX på ESP8266
  • Anslut D3 på NodeMCU till GPIO 0 på ESP8266 (D3 är GPIO 0 i ESP8266)
  • Anslut RST för NodeMCU till RST för ESP8266
  • Anslut EN av NodeMCU till GND

Ladda upp en skiss

När du har anslutit ESP8266 måste du göra följande:

  • Välj portnummer för NodeMCU (Verktyg-> Port)
  • Välj korttypen "NodeMCU 1.0 (ESP12-E Module)"
  • Klicka på ladda upp

Och det är allt! Det aktiverar automatiskt programmeringsläget och återställs automatiskt när överföringen är klar så att den börjar köra skissen.

Använd detta i dina bräddesigner

För att använda denna metod i dina bräddesigner behöver du helt enkelt bryta ut följande stift:

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

Och när du vill programmera dina brädor, tråda upp det som ovan.

Förhoppningsvis tycker du att den här instruktionsboken är användbar. Om du har några frågor är du välkommen att fråga!

* = Affiliate Link

Rekommenderad: