INHOUDSOPGAWE:

3 eenvoudige maniere om 'n ESP8266 12X -module te programmeer: 5 stappe (met foto's)
3 eenvoudige maniere om 'n ESP8266 12X -module te programmeer: 5 stappe (met foto's)

Video: 3 eenvoudige maniere om 'n ESP8266 12X -module te programmeer: 5 stappe (met foto's)

Video: 3 eenvoudige maniere om 'n ESP8266 12X -module te programmeer: 5 stappe (met foto's)
Video: WOK 2020: Waterkwaliteit & Monitoring 2024, November
Anonim
3 eenvoudige maniere om 'n ESP8266 12X -module te programmeer
3 eenvoudige maniere om 'n ESP8266 12X -module te programmeer

As u nie die ESP8266 -mikrobeheerder ken nie, voel ek regtig dat u dit gemis het! Hierdie dinge is ongelooflik: hulle is goedkoop, kragtig en die beste van alles is dat hulle ingeboude WiFi het! om direk met die Arduino IDE te kan programmeer.

As u deesdae 'n ESP8266 vir u projek wil gebruik, sou ek aanbeveel dat u 'n ontwikkelingsbord gebruik, soos die Wemos D1 Mini* ($ 2,50 afgelewer !!) of Adafruit Feather Huzzah. Hierdie borde het al die bruikbare penne uitgebreek, is maklik programmeerbaar via hul mikro -USB -aansluiting en het 'n ingeboude 3.3V -reguleerder, maar wat as u 'n ESP8266 wil gebruik in 'n projek met 'n pasgemaakte PCB? Die maklikste manier is om 'n ESP12 -module te gebruik, en in hierdie instruksies sal ek u 'n paar eenvoudige maniere wys om dit te programmeer.* = Geaffilieerde skakel

Stap 1: Kyk na die video

Hier is 'n video met al die inligting in die Instructable, as u dit wil besoek. Op my kanaal werk ek baie met ESP8266's, sodat my kanaal in die algemeen die moeite werd is om na te gaan of sulke dinge u interesseer!

Stap 2: Voorstap: Opstel vir die programmering van die ESP8266

Image
Image

As u nog nooit die ESP8266 of Arduino gebruik het nie, moet ons 'n bietjie sagteware opstel. Ek het 'n spesiale video hiervoor. Dit is slegs 5 minute lank en bevat alles wat u nodig het om op te stel.

As video's nie regtig u ding is nie, kyk dan na les 2 van Becky se wonderlike IoT -klas, dit gaan ook oor alles wat u nodig het.

Voordat u na die volgende afdeling gaan, moet u 'n eenvoudige skets kan oplaai na 'n ESP8266 (soos die voorbeeld wat in die video en Becky se les genoem word)

Stap 3: Metode 1: "Kikker" penprogrammeerder

Metode 1
Metode 1

Dit is waarskynlik die maklikste manier om 'n ESP12 -module te programmeer. U steek basies net die module in die bord en dan gedra dit presies soos een van die ontwikkelingsborde wat vroeër genoem is. Ek het die Wemos D1 Mini -bord uit die borde gekies tydens die programmering. Daar is nadele aan hierdie metode:

  • Die programmeerder is 'n bietjie duur as u slegs 'n paar borde maak.
  • Plate kan slegs op hierdie manier geprogrammeer word voordat dit aan u PCB gesoldeer word

Die een wat ek gekoop het, is van Aliexpress, maar ek glo die oorspronklike ontwerper is 'n gebruiker op Tindie genaamd Fred. Hulle was destyds uitverkoop, so ek het uiteindelik met die Aliexpress een gegaan, maar ek skakel na albei.

  • Aliexpress pop-in ESP-moduleprogrammeerder*
  • Fred's Frog Pin ESP -moduleprogrammeerder

* = Geaffilieerde skakel

Stap 4: Metode 2: Gebruik basies enige USB na seriële omskakelaar

Metode 2: Gebruik basies enige USB na seriële omskakelaar
Metode 2: Gebruik basies enige USB na seriële omskakelaar
Metode 2: Gebruik basies enige USB na seriële omskakelaar
Metode 2: Gebruik basies enige USB na seriële omskakelaar
Metode 2: Gebruik basies enige USB na seriële omskakelaar
Metode 2: Gebruik basies enige USB na seriële omskakelaar

Vir die volgende metode gaan ons die ESP -module handmatig in die programmeermodus plaas en dan basies enige USB na reeksomskakelaar gebruik om die ESP8266 te programmeer, selfs hierdie PL2303 een* wat 50c afgelewer werk kos!

Normale werking:

Voordat ons begin met die programmering, moet ons eers kyk na die eksterne komponente wat die ESP8266 benodig. Vir normale werking benodig 'n ESP-12-module die volgende

  • EN, RST en GPIO 0 moet met 'n 10K -weerstand hoog getrek word
  • GPIO 15 moet met 'n 10K -weerstand na die grond getrek word
  • 3.3V kragtoevoer wat 'n stroom van ongeveer 250mA kan bied ('n pet tussen VCC en GND word aanbeveel)

Met die bogenoemde konfigurasie sal die ESP8266, wanneer dit aangeskakel word, in die normale werkingsmodus wees, sodat die sketse wat u daarop geprogrammeer het, uitgevoer word. U kan uitbreekborde vir ESP-12-modules* koop wat baie handig is om die verskillende opstellings te toets. Die modules het die weerstande opgestel vir die EN en GPIO 15-pen, dus u moet nog steeds die optrekweerstand vir RST en GPIO 0 byvoeg,

Aktiveer programmeermodus:

Om dit in die programmeermodus te kry, moet GPIO 0 laag word as die ESP begin. Die maklikste manier om dit te doen is om knoppies by GPIO 0 en die RST -pen te voeg wat met die grond verbind word wanneer dit ingedruk word. Om dan die flitsmodus in te skakel, het u eenvoudig

  • Hou die GPIO 0 -knoppie ingedruk
  • Druk die RST -knoppie
  • Laat dan albei knoppies los

U hoef nie hierdie volgorde op 'n spesifieke tydstip tydens die oplaaiproses uit te voer nie, sodra die ESP in die programmeermodus is, bly dit daar tot by die volgende herstel, dus voer die stappe te eniger tyd uit voordat u dit oplaai.

Programmering met 'n USB na seriële adapter:

Programmodus is slegs die helfte van die stryd, en nou moet ons die module eintlik programmeer. Die meeste USB -na -reeks -adapters bied nie genoeg stroom aan die ESP8266 nie, daarom word dit aanbeveel dat u die ESP8266 met 'n eksterne 3.3V -bron aanskakel.

Om die programmeerder aan te sluit, moet u die volgende penne aansluit (ook in die prent hierbo getoon):

  • Koppel TX van die programmeerder aan RX van die ESP8266 (nie 'n tikfout nie, die verbindings word omgekeer)
  • Koppel RX van die programmeerder aan TX van die ESP8266
  • Koppel die grond van die programmeerder aan die grond van die ESP8266

Om die skets op te laai, doen die volgende stappe:

  • Kies die poortnommer van u seriële adapter (gereedskap-> poort)
  • Aktiveer die programmeermodus op u ESP8266 soos hierbo beskryf
  • Klik op die oplaai -knoppie. (As dit misluk, kontroleer u bedrading en probeer weer u bord in die programmeermodus plaas)
  • Klik op die reset -knoppie wanneer die oplaai voltooi is

Hier is die bordinstellings wat ek gebruik het tydens die oplaai met behulp van hierdie metode:

  • Bord: Generiese ESP8266 -module
  • Flitsmodus: DIO
  • Flitsgrootte: 4M (3M Spiffs)
  • Herstelmetode: ck
  • Flitsfrekwensie: 40MHz
  • Oplaaisnelheid: 115200

Die laaste ding om op te let is die LED_BUILIN -definisie vir 'n generiese ESP8266 -module wat na pen 1 dui, maar die ingeboude LED van 'n ESP12 -module is gekoppel aan pen 2 (dit is ook aktief laag, net soos 'n FYI). As u dus 'n skets probeer toets, moet u die nommer 2 eerder as LED_BUILTIN gebruik

* = Geaffilieerde skakel

Stap 5: Metode 3: Outomatiese herstelleerder met 'n NodeMCU

Metode 3: programmeerder vir outomatiese herstelling met behulp van 'n NodeMCU
Metode 3: programmeerder vir outomatiese herstelling met behulp van 'n NodeMCU
Metode 3: programmeerder vir outomatiese herstel met behulp van 'n NodeMCU
Metode 3: programmeerder vir outomatiese herstel met behulp van 'n NodeMCU

As u enige ESP -ontwikkelingsborde gebruik het, sal u opgemerk het dat u dit basies nie nodig het om die programmeermodus handmatig met die knoppies in te skakel nie, so hoe doen hulle dit?

Die meeste USB -na -seriële skyfies het ekstra penne wat seine op verskillende stadiums van die oplaaiproses afgee, en met die gebruik van 'n paar eksterne kringe is dit moontlik om die laagtepunt van die GPIO 0 te aktiveer en die vereiste reset. RuiMoteiro het 'n instruksie oor hierdie onderwerp met behulp van 'n FTDI -bord en ESP8266.

Maar ek dink daar is 'n eenvoudiger benadering hiervan, en wat nog beter is, is dat die kans goed is dat u reeds alles het wat u nodig het! U kan 'n ESP8266 -ontwikkelbord soos 'n NodeMCU as die programmeerder*gebruik.

Wat is die voordeel om 'n NodeMCU te gebruik?

Die belangrikste voordele van die gebruik van die NodeMCU as programmeerder is die volgende:

  • U kan die ESP8266 direk vanaf 3V -penne van die NodeMCU voed
  • Sal die outomatiese herstelling/aktiveer van die programmeermodus hanteer
  • Dit kos ongeveer $ 2,50 (en kan as 'n gewone toestelbord gebruik word as u ander nie programmeer nie!)

U kan dieselfde benadering gebruik met enige dev -bord waarop die chip -pen van die ESP8266 blootgestel word.

Hoe werk dit?

Ek het die idee hiervan gekry van 'n YouTuber genaamd Mika Kurkela, in sy video gebruik hy die NodeMCU om 'n ESP-01-module te programmeer, maar ons kan dieselfde idee vir die ESP12-module gebruik.

Eintlik gaan ons die ESP8266 op die NodeMCU deaktiveer deur die EN -pen laag af te dwing, dit sal verhoed dat die ESP8266 -module op die NodeMCU opstart. Ons gaan dan al die relevante penne van die NodeMCU -bord aan ons eksterne ESP8266 koppel.

Bedraad dit

Om dit aan te sluit, benodig u die standaard ESP8266 -bedrading soos in die vorige stap getoon, en voeg dan die volgende verbindings by (ook in die prent hierbo):

  • Koppel 3V van die NodeMCU aan VCC van die ESP8266
  • Koppel GND aan GND
  • Koppel TX van die NodeMCU aan TX van die ESP8266 (dit is anders as die vorige stap)
  • Koppel RX van die NodeMCU aan RX van die ESP8266
  • Koppel D3 van die NodeMCU aan GPIO 0 van die ESP8266 (D3 is GPIO 0 van die ESP8266)
  • Koppel RST van die NodeMCU aan RST van die ESP8266
  • Koppel EN van die NodeMCU aan GND

Laai 'n skets op

Nadat u die ESP8266 aangeskakel het, moet u die volgende doen:

  • Kies die poortnommer van die NodeMCU (gereedskap-> poort)
  • Kies die bordtipe "NodeMCU 1.0 (ESP12-E Module)"
  • Klik oplaai

En dit is dit! Dit sal die programmeermodus outomaties aktiveer en sal outomaties herstel wanneer dit opgelaai is, sodat die skets begin uitvoer word.

Gebruik dit in u bordontwerpe

Om hierdie metode in u bordontwerpe te kan gebruik, moet u eenvoudig die volgende penne uitbreek:

  • Grond
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

En as u u borde wil programmeer, bedraad dit soos hierbo.

Hopelik vind u hierdie instruksies nuttig; as u enige vrae het, kan u dit gerus vra!

* = Geaffilieerde skakel

Aanbeveel: