INHOUDSOPGAWE:

Koppel Arduino Uno aan met ESP8266: 9 stappe
Koppel Arduino Uno aan met ESP8266: 9 stappe

Video: Koppel Arduino Uno aan met ESP8266: 9 stappe

Video: Koppel Arduino Uno aan met ESP8266: 9 stappe
Video: ❓ Обязательно к просмотру начинающему в Arduino IDE (ошибка компилятора) 2024, Junie
Anonim
Koppel Arduino Uno aan met ESP8266
Koppel Arduino Uno aan met ESP8266

Welkom! U gaan 'n stap-vir-stap gids lees oor hoe u u Arduino Uno suksesvol met die ESP8266 (ESP-01) aan die internet kan koppel. Dit is ook my eerste Instructable ooit, so bloot met my asseblief!

Laat ek eers begin sê dat die ESP8266 'n klein stuk hardeware is wat, as dit korrek geprogrammeer is, 'n groot wêreld kan open, veral die IOT. Skielik kan al u projekte met die klik van 'n knoppie via die internet geaktiveer word, hetsy via u telefoon of rekenaar. Die moontlikhede is eindeloos, en op een of ander manier maak dit my baie opgewonde. Ongelukkig is dit nie altyd 'n maklike proses nie, en u sal waarskynlik probleme ondervind wat ek nie ondervind het nie. Hoe dan ook, ek sal my bes probeer om vrae te beantwoord en elke probleem wat ek ondervind het te noem!

2020 -opdatering: Ek moes onlangs 'n nuwe ESP8266 bywerk en het hierdie artikel gebruik as my persoonlike gids oor hoe ek dit moet doen. Ek het vinnig besef dat sommige skakels wat ek verskaf het, verouderd is/nie werk nie, en ek het dit weer probeer vervang. Hierdeur het ek uitgevind dat daar 'n nuwe flitsende sagteware vir die ESP8266 is, asook 'n paar goed gedokumenteerde en bygewerkte firmware. Ek het my bes probeer om die ESP op te dateer na die nuutste moontlike firmware, maar sonder sukses. Die nuwe flitser is meer gesofistikeerd, maar terselfdertyd ingewikkelder. Daar is baie meer firmware -aflaaie beskikbaar (wat ongelooflik is), maar terselfdertyd weet gebruikers nie watter een hulle moet aflaai nie. Tegnies klink dit alles baie goed en die ESP het uiteindelik 'amptelike' ondersteuning en dokumentasie, maar dit word terselfdertyd baie ingewikkelder. Na ongeveer 4 uur se navorsing en 'n bietjie probeer en fout, het ek besluit om op te gee en dieselfde flitser en lêer te gebruik as wat ek in hierdie artikel gebruik het. Ek het die skakels opgedateer en dit nou self aangebied, so solank ek dit nie doen nie, is dit vir ewig aanlyn. As u meer wil lees oor hierdie nuwe toevoegings uit die gemeenskap, gaan dan na die laaste stap van hierdie instruksies, waar ek 'n paar ekstra skakels geplaas het.

Stap 1: Hardeware

Hardeware
Hardeware

Opdatering vir 2020: ek het 'n YouTube -video gevind wat eintlik met die ESP verbind kan word sonder om soldeer en sonder enige adapters te soldeer!

Goed, so dit is 'n bietjie moeilike deel, want daar is baie maniere om met die ESP6288 te kommunikeer. Ek het probeer om die maklikste moontlike maniere te vind, en ek is jammer om dit te vertel, maar ek dink nie u sal die kode suksesvol kan oplaai na die ESP sonder om 'n klein skakelaar of 'n paar knoppies te soldeer nie … Uiteindelik het ek gebruik die volgende hardeware:

  1. Arduino Uno
  2. ESP8266 (ESP-01)
  3. ESP8266 USB -adapter
  4. ESP-01 adapter
  5. Skakel oor vir die USB -adapter
  6. 4 vroulike-manlike springdrade
  7. USB -kabel om Arduino en rekenaar aan te sluit

Soos u sien, is dit nie so duur nie, en u hoef nie 'n broodbord te gebruik nie, al die vreemde weerstande en sulke goed. Dit is alles eenvoudige adapters en bedrading.

Uiteraard benodig u 'n Arduino sowel as die ESP8266. Maar dan benodig u ook twee adapters vir die ESP:

  • Een om dit te kan programmeer (nommer 3 op die lys). Dit is ook die adapter wat ons eie wysiging daaraan sal hê met 'n skakelaar.
  • 'N Tweede adapter sodat u nie die ESP kan doodmaak deur dit aan die Arduino te koppel nie (nommer 4 op die lys). Aangesien die ESP 3.3V loop, sal 5V van die Arduino dit doodmaak. En die 3.3V van die Arduino is nie kragtig genoeg nie.

Laastens is ook 'n paar draaddrade en 'n USB -kabel nodig om die Arduino aan die rekenaar te koppel.

Stap 2: soldeer 'n skakelaar na die USB -adapter

'N Skakelaar na die USB -adapter soldeer
'N Skakelaar na die USB -adapter soldeer
'N Skakelaar na die USB -adapter soldeer
'N Skakelaar na die USB -adapter soldeer

Ongelukkig het u 'n manier nodig om die GND -pin en GPIO0 -pin aan te sluit om die ESP te programmeer. Ek het daarin geslaag om 'n klein skakelaar te soldeer, waarmee u kan kies of u in die 'programmodus' wil wees of nie. Die volgende Youtube -video sal u help met hierdie taak; ek beveel sterk aan dat u daarna kyk, aangesien dit u ook 'n bietjie vertel oor sagteware en waarom u Ground en GPIO 0 moet koppel.

Kortom, dit is wat ek gedoen het:

  • Sny een van die buitenste bene van die skakelaar, dit kan die regter- of die linkerbene wees
  • Draai die USB -adapter onderstebo en soldeer die twee bene van die skakelaar aan die GND -pen en GPIO0 -pen. Wees versigtig om nie ander penne aan te sluit nie, aangesien dit later moontlik nie werk nie.
  • Toets u skakelaar met 'n multimeter

As u twyfel, kyk dan weer na die Youtube -skakel hierbo.

Op die foto hierbo is die skakelaar in die 'Programmodus'. As u presies dieselfde skakelpenne gesoldeer het as ek, weet u nou watter kant 'Program mode' is.

En as u nie van skakelaars hou nie, is hier 'n handleiding met knoppies.

Stap 3: sagteware

Vir diegene wat net op soek is na skakels, hier is dit.

ESP8266:

  • Flitser
  • Firmware (ek is redelik seker dat dit die nuutste weergawe sal wees, aangesien dit nie sedert Des 2016 opgedateer is nie)

Arduino Uno:

  • Arduino IDE
  • Bordbestuurder -URL (dit sal ook nie verander nie, dit is altyd dieselfde skakel)

En vir diegene, wat geen idee het wat die skakels beteken nie, laat ek u lei!

  1. Die eerste stap is om die Arduino IDE te installeer. Dit moet redelik eenvoudig wees … Klik volgende, ens., En u is klaar.
  2. Die volgende is die opstelling van die IDE sodat u u ESP kan programmeer. Om dit te kan doen, moet u na File -> Preferences gaan en onderaan Addisionele Boards Manager URL's: plak die volgende URL.
  3. Navigeer dan na die gereedskap -> Raad -> Boordbestuurder en blaai heeltemal af totdat u een met die naam esp8266 kry en klik op install. Laaste weergawe asseblief. As die installering klaar is, herbegin die IDE.
  4. Laai nou die flitser en die firmware vir die ESP af. Skep 'n gids op u lessenaar met die naam "Flasher" en pak al die afgelaaide lêers daarin uit. Ons sal hulle later nodig hê.

Cool, nou moet u al die sagteware hê wat nodig is om die ESP te programmeer!

Stap 4: Toets die ESP

Vervolgens is u eerste verbinding met die ESP. Hierdie deel is 'n bietjie lastig en wat vir my gewerk het, werk miskien nie vir u nie … Kom ons hoop vir die beste.

Kom ons begin met die oplaai van 'n voorafgemaakte skets wat 'n blou LED op die ESP knipper. Om dit te laat werk, benodig u die volgende:

  • 'N Aangepaste USB -adapter vir die ESP, sodat u dit in "Programmodus" kan stel. Stap 2 van hierdie instruksies.
  • Weet aan watter USB -poort (COM -poort) u ESP gekoppel sal wees.

Moenie bekommerd wees as u nie die COM -poort ken nie. Dit is maklik om uit te vind. Maak u IDE oop en klik op gereedskap -> Poort en let op die gelyste poort (e). Plaas daarna u USB -adapter en gaan weer na die genoemde poorte. Die nuwe een is die COM -poort waarna u op soek is!

PS: Ek is 'n Windows -gebruiker. As ek reg onthou, noem Macs dit nie COM -poorte nie. In elk geval, dit moet nog steeds werk!

Noudat u u poort ken, moet u u USB -adapter aansluit! Dit moet op "Programmodus" wees, met ander woorde, GND en GPIO0 moet gekoppel wees. Maak die IDE oop en navigeer na Tools -> Board en kies die Generic ESP8266 -module. Maak dan onder Gereedskap seker dat u die volgende instellings het:

  • Bord: "Generiese ESP8266 -module"
  • Poort: u COM -poort

Gaan laastens na File -> Voorbeelde -> ESP8266 -> Knip en klik op die vinkje in die linker boonste hoek van die IDE. Dit verifieer u kode en sê as daar iets fout is. Ek beveel u sterk aan om dit elke keer te doen voordat u 'n skets na die ESP of die Arduino oplaai! As dit suksesvol is, sal u 'Klaar opstel' sien. teks. Die enigste ding wat nou oorbly, is om op die ikoon "pyltjie regs" links bo in die IDE te klik om die kode op te laai. As alles korrek ingestel is, moet u sien dat dit opgelaai word en uiteindelik klaar is. Kyk na u ESP, dit behoort 'n knipperende LED te hê! Geluk, jy het pas jou eerste program op jou ESP gelaai!

As u egter 'n fout kry, moenie bekommerd wees nie. Die skakelaar was waarskynlik nie aan die regterkant nie. Ontkoppel u USB -adapter en skakel die skakelaar aan, koppel dit weer aan en herhaal die proses. As dit werk, weet u dat dit die kant van die 'programmodus' is! As dit steeds nie werk nie, baie geluk. Dit is wat ek bedoel met 'wat vir my gewerk het, werk miskien nie vir u nie' … Stel vrae/probleme in die kommentaar, en ek sal my bes doen om te help!

PS: Probeer gerus ander voorbeelde! Miskien is die lêer -> Voorbeelde -> ESP8266Wifi -> WifiScan. Nadat u dit opgelaai het, maak u die gereedskap oop -> Serial Monitor en wag 'n paar sekondes. As niks opduik nie, stel die Baud -koers op 9600 of 115200. En gebruik 'Beide NL & CR'. Meer hieroor later in hierdie artikel, dus moenie bekommerd wees as u nie reageer nie!

Stap 5: Toets AT -bevele

Toets AT -bevele
Toets AT -bevele

Ek noem hierdie stap opsioneel omdat niks van die hele AT -opdragte aanvanklik vir my gewerk het nie. Alhoewel ek seker was dat die ESP goed werk, omdat dit met die vorige skets blink, het ek ook daarin geslaag om na Wifi te soek. Maar elke keer as ek daaroor probeer praat het oor AT -opdragte, sou ek nooit 'n antwoord kry nie. Hoe dan ook, ek sal u die stappe wys wat ek gedoen het om daarmee te kan praat. As dit nie werk nie, gaan na die volgende stap.

Koppel u ESP aan die USB -adapter en koppel dit aan u rekenaar. Maak seker dat dit nie in die "programmodus" is nie! Gaan na Tools en verander die bord na die generiese ESP8266 -module. Maak seker dat die korrekte poort gekies is en maak dan die Serial Monitor (Ctrl + Shift + M) oop en stel die volgende instellings in:

  • Beide NL en CR
  • 115200 Baud

As alles reg is, tik "AT" in die boonste balk en druk enter. U moet 'OK' terugkry. As u wel 'OK' kry, dan rook u heilig, en u kan trots wees en gelukkig wees! Tik vervolgens 'AT+GMR' om meer inligting oor u ESP te kry. As die SDK -weergawe 1.54 is, kan u ook die stap "Flashing the latest Firmware" spring, aangesien u dit reeds het.

As u nie 'n antwoord gekry het nie, probeer dit weer en/of verander die Baud -koers. Ek beveel aan dat u nie te veel tyd hiermee mors nie, aangesien u weet dat u ESP werk as gevolg van stap 4.

PS: As die IDE wil hê dat u die skets moet stoor voordat u dit verifieer/oplaai, moet u dit nie stoor nie. Ek het probleme ondervind met die stoor van lêers en die seriële monitor werk toe nie. Ek weet nog nie hoekom nie, ek moet nog 'n bietjie toets, maar ek beveel aan dat u nie u sketse stoor nie.

Stap 6: Flits die nuutste firmware

Flits die nuutste firmware
Flits die nuutste firmware

Selfs as die vorige stap nie vir u werk nie, probeer om die firmware op te dateer met hierdie stap, miskien sal dit dit regstel!

Noudat u weet hoe u u ESP moet programmeer, is dit tyd om die firmware op te dateer! Begin deur u ESP aan te sluit op die USB -adapter en kies dan die regte kaart en poort daarvoor. Moenie vergeet om dit in die "programmodus" te plaas nie, anders werk die flits nie!

Vervolgens moet u die gids wat u in "Stap 2: sagteware" geskep het, oopmaak? Met die flitser en die.bin -lêer. Maak dit oop en voer esp8266_flasher.exe uit. Sê ja as u om administrateurregte gevra word. Dit is ook 'n goeie tyd om die IDE te sluit, net om seker te maak dat niks inmeng nie. Klik op die Bin -knoppie en kies 'n lêer met die naam "AiThinker_ESP8266_DIO_8M_8M_20160615_V1.5.4.bin". Maak seker dat u poort die regte een is, dat die volgende venster op 0x00000 is en dat u ESP in die "Programmodus" is en klik op Aflaai. Dit moet die firmware begin oplaai na u ESP en die blou LED moet flikker. Wag 'n bietjie totdat dit klaar is.

As dit klaar is, word u beloon met 'n fout "Kan die flitsmodus nie verlaat nie", wat goed is. Ignoreer dit en maak die flits toe. U het sopas die firmware van u ESP opgedateer! Lekker.

As u foute ondervind, maak weer seker: maak seker dat u poort die regte een is, dat die volgende venster op 0x00000 is en dat u ESP in die "programmodus" is! As dit steeds nie werk nie, sou ek sê dat u skakelaar nie reg werk nie.

Laastens wil u dalk nou met AT probeer praat met u ESP. Kyk na die stap "Toets AT -bevele". As dit steeds nie werk nie, moenie bekommerd wees nie. Laai die Blink -voorbeeld weer op om seker te maak dat u nie u ESP breek nie. As dit werk, is u nog steeds aan die gang!

Stap 7: Verbind Arduino en ESP

Verbind Arduino en ESP
Verbind Arduino en ESP

Dit is 'n eenvoudige stap wat u wys hoe u die ESP aan die Arduino Uno kan koppel! Soos op stap "Hardware" genoem, het ek die ESP-01 Adapater gebruik.

Koppel eers u ESP op die ESP-01 Adpater en maak seker dat dit op die regte pad is! Gryp dan u 4 springdrade en verbind dit so:

  • Speld 3 op die Arduino aan pin RX op die adapter
  • Speld 2 op die Arduino aan Pin TX op die adapter
  • Speld 5.5V op die Arduino aan Pin VCC op die adapter
  • Speld GND op die Arduino vas aan GND op die adapter

Bedrading gedoen. Maklik pzy reg?

PS: Ek beveel aan dat u 'n rooi draad vir die 5V -verbinding en 'n swart draad vir die GND -verbinding gebruik. Dit is net 'n standaard in elektronika.

Stap 8: Einde + dinge om in gedagte te hou

Goed, as u my gids gevolg het en ek niks gemors het nie, moet u ten minste 'n werkende ESP met bygewerkte firmware kan hê. Miskien praat dit selfs met u en u, dit sou perfek wees! Verken hierdie wonderlike wêreld van IOT en so meer. Miskien wil u met die klik van 'n knoppie op u telefoon 'n liggie aanskakel, of u kan die waterstelsel in u tuin aanskakel (soos ek probeer). Ek weet nie, ek sal jou laat kies. Skryf gerus 'n paar terugvoer/vrae oor hierdie instruksies hieronder!

Net 'n paar ekstra dinge om in gedagte te hou:

  • Terwyl u kode na u Arduino oplaai, moet Pin 0 (RX) gratis wees!
  • As u u ESP deur die 3.3V van die Arduino gebruik, moet u oppas dat dit moontlik nie kragtig genoeg is nie en dat u moontlik foute kry! Ek beveel die ESP-01 Adapater sterk aan.
  • As u met u ESP wil kommunikeer oor die Arduino en nie met die USB -adapter nie, moet u die volgende doen:

    1. Nodig: u moet met ATP -opdragte met u ESP kan praat oor die USB -adapter om oor te skakel!
    2. Sluit u USB -adapter aan op die ESP. Maak seker dat dit nie in die "Programmodus" is nie!
    3. Kies die ESP8266 -bord en maak die poort reg en maak die Serial Monitor (115200 Baud) oop.
    4. Tik 'AT' en kry 'OK' terug.
    5. Ons sal die standaard Baud -tempo van die ESP moet verander met die volgende opdrag: "AT+UART_DEF = 9600, 8, 1, 0, 0" (of vir sommige weergawes "AT+CIOBAUD = 9600").
    6. U moet 'OK' of 'n bevestiging ontvang.
    7. Maak die Serial Monitor toe.
    8. Koppel die USB -adapter uit en steek u ESP in die Arduino -adapter. Koppel die adapter aan op die Arduino soos aangedui in stap "Verbind Arduino en ESP".
    9. Koppel die Arduino met u rekenaar.
    10. Verander bord na Arduino en kies die korrekte poort.
    11. Laai hierdie kode op na die Arduino.
    12. Maak die seriële monitor weer oop, maar hierdie keer op 9600 Baud.
    13. U moet nou 'AT' kan tik en 'OK' terug kan kry.

Stap 9: Skakels

Hier is 'n lys van 'n paar skakels wat ek op die internet gevind het wat my gehelp het, en dit kan u net sowel help!

  • Skets vir die Arduino Uno om met die ESP te praat
  • Stel u ESP in 'programmodus' met 'n skakelaar of knoppies

Opdatering 2020:

  • Gids oor hoe om te flits met die nuwe flitsersagteware
  • Begin met Espressif
  • Flasher- en SDK/AT -aflaai deur Espressif
  • Algemene inligting oor die meeste dinge wat in hierdie artikel behandel word (insluitend inligting oor hoe om die ESP te flits sonder enige adapters)

Aanbeveel: