Talaan ng mga Nilalaman:

Ikonekta ang Arduino Uno Sa ESP8266: 9 Mga Hakbang
Ikonekta ang Arduino Uno Sa ESP8266: 9 Mga Hakbang

Video: Ikonekta ang Arduino Uno Sa ESP8266: 9 Mga Hakbang

Video: Ikonekta ang Arduino Uno Sa ESP8266: 9 Mga Hakbang
Video: ESP8266 ESP01 WIFI-UART | LDmicro-Roboremo Programming 2024, Nobyembre
Anonim
Ikonekta ang Arduino Uno Sa ESP8266
Ikonekta ang Arduino Uno Sa ESP8266

Maligayang pagdating! Mababasa mo na ang isang sunud-sunod na gabay sa kung paano matagumpay na ikonekta ang iyong Arduino Uno sa internet sa ESP8266 (ESP-01). Ito rin ang aking unang Instructable ever, kaya hubad sa akin mangyaring!

Hayaan akong magsimula sa pamamagitan ng pagsasabi na ang ESP8266 ay isang maliit, mababang presyo na piraso ng hardware na kung maayos na na-program ay maaaring buksan ang isang malaking mundo, lalo na ang IOT. Biglang ang lahat ng iyong mga proyekto ay maaaring buhayin sa pamamagitan ng web, maging sa pamamagitan ng iyong telepono o pc, sa pag-click ng isang pindutan. Ang mga posibilidad ay walang katapusan, at kahit papaano ay talagang nasasabik ako. Sa kasamaang palad hindi ito palaging isang madaling proseso at malamang na magkaroon ka ng mga problemang wala pa ako. Alinmang paraan, susubukan ko ang aking makakaya upang sagutin ang mga katanungan at banggitin ang bawat problemang nakasalamuha ko!

Update sa 2020: Kamakailan lamang ay kina-update ko ang isang bagong ESP8266 at ginamit ang artikulong ito bilang aking personal na gabay sa kung paano ito gawin. Mabilis kong napagtanto ang ilang mga link na ibinigay ko ay luma na / hindi gumagana, kaya sinubukan kong palitan muli ang mga ito. Sa paggawa nito, nalaman ko na mayroong isang bagong flashing software para sa ESP8266, pati na rin ang ilang maayos na naitala at na-update na firmware. Sinubukan ko ang aking makakaya upang mai-update ang ESP sa pinakabagong posibleng firmware, ngunit nang walang anumang tagumpay. Ang bagong flasher ay mas sopistikado, ngunit sa parehong oras ay mas kumplikado. Mayroong paraan ng maraming mga pag-download ng firmware na magagamit (na kung saan ay kamangha-manghang), ngunit sa parehong oras ang mga gumagamit ay walang ideya kung alin ang i-download. Teknikal, ang lahat ng ito ay talagang napakahusay at ang ESP sa wakas ay may ilang "opisyal" na suporta at dokumentasyon, ngunit sa parehong oras ay naging mas kumplikado ito. Pagkatapos ng halos 4 na oras ng pagsasaliksik at ilang pagsubok at error, nagpasya akong sumuko at gamitin lamang ang parehong flasher at file na ginamit ko sa buong artikulong ito. Nai-update ko na ang mga link at ngayon ay host ko na sila, kaya't hangga't hindi ako nakikipagtalik, magiging online sila magpakailanman. Kung nais mong magbasa nang kaunti pa sa mga bagong karagdagan mula sa komunidad, tumalon sa huling hakbang ng Instructable na ito kung saan nag-post ako ng ilang labis na mga link.

Hakbang 1: Hardware

Hardware
Hardware

Update sa 2020: Natagpuan ko ang isang video sa YouTube na talagang kumokonekta sa ESP nang hindi naghihinang ng anuman at walang anumang mga adaptor!

O sige, kaya't ito ay medyo isang nakakalito na bahagi dahil maraming mga paraan upang makipag-usap sa ESP6288. Sinubukan kong hanapin ang pinakamadaling paraan kung saan posible at humihingi ako ng pasensya na sabihin sa iyo, ngunit sa palagay ko hindi mo magagawang matagumpay na mag-upload ng code sa ESP nang hindi hinihinang ang isang maliit na switch o ilang mga pindutan … Sa huli ay ginamit ang sumusunod na hardware:

  1. Arduino Uno
  2. ESP8266 (ESP-01)
  3. ESP8266 USB adapter
  4. Adaptor ng ESP-01
  5. Lumipat para sa USB adapter
  6. 4 na mga kable ng jumper na babae-lalaki
  7. USB cable upang ikonekta ang Arduino at PC

Tulad ng nakikita mo, hindi sila ganon kamahal plus hindi na kailangang gumamit ng isang breadboard o lahat ng mga kakatwang resistor at bagay na tulad nito. Lahat ng ito ay simpleng mga adaptor at kable.

Malinaw na, kakailanganin mo ng isang Arduino pati na rin ang ESP8266. Ngunit kailangan mo rin ng dalawang adaptor para sa ESP:

  • Isa upang mai-program ito (bilang 3 sa listahan). Ito rin ang adapter na magkakaroon ng aming sariling pagbabago dito gamit ang isang switch.
  • Isang pangalawang adaptor upang hindi mo mapatay ang ESP sa pamamagitan ng pagkonekta nito sa Arduino (numero 4 sa listahan). Dahil ang ESP ay nagpapatakbo ng 3.3V, 5V mula sa Arduino ay papatayin ito. At ang 3.3V mula sa Arduino ay hindi sapat na malakas.

Panghuli, ang ilang mga wire ng jumper at isang USB cable upang ikonekta ang Arduino sa PC ay kinakailangan din.

Hakbang 2: Paghihinang ng isang Lumipat sa USB Adapter

Paghihinang ng isang Lumipat sa USB Adapter
Paghihinang ng isang Lumipat sa USB Adapter
Paghihinang ng isang Lumipat sa USB Adapter
Paghihinang ng isang Lumipat sa USB Adapter

Sa kasamaang palad, upang mai-program ang ESP, kakailanganin mo ng isang paraan upang ikonekta ang GND Pin at GPIO0 Pin. Nagawa kong maghinang ng isang maliit na maliit na switch na pipiliin mo kung nais mong nasa "Program mode" o hindi. Ang sumusunod na Youtube Video ay makakatulong sa iyo sa gawaing ito, lubos kong inirerekumenda na panoorin mo ito, dahil nagsasabi rin ito sa iyo ng kaunti tungkol sa software at kung bakit kailangan mong ikonekta ang Ground at GPIO 0.

Sa madaling sabi, ito ang ginawa ko:

  • Gupitin ang isa sa mga panlabas na binti ng switch, maaari itong maging kanan o kaliwa
  • Baligtarin ang USB adapter, at solder ang dalawang binti ng switch sa GND Pin at GPIO0 Pin. Mag-ingat na huwag ikonekta ang iba pang mga pin dahil baka hindi ito gumana sa paglaon.
  • Subukan ang iyong paglipat gamit ang isang Multimeter

Muli, kung may pag-aalinlangan, suriin ang link sa Youtube sa itaas.

Gayundin, ang larawan sa itaas ay may switch sa "Program mode". Kung sakaling solder mo ang eksaktong parehong switch ng pin tulad ng mayroon ako, ngayon alam mo kung ano ang bahagi ng "Program mode".

At kung hindi mo fancy switch, narito ang isang tutorial na may mga pindutan.

Hakbang 3: Software

Para sa mga naghahanap lang ng mga link, narito sila.

ESP8266:

  • Flasher
  • Firmware (Sigurado akong ito ang pinakabagong bersyon, dahil hindi ito nai-update mula noong Dis 2016)

Arduino Uno:

  • Arduino IDE
  • Board Manager URL (Hindi rin ito magbabago, palagi itong pareho ng link)

At para sa mga, na walang ideya kung ano ang ibig sabihin ng mga link na iyon, hayaan mo akong gabayan ka!

  1. Ang unang hakbang ay i-install ang Arduino IDE. Dapat ay medyo prangka … Pindutin ang susunod na susunod at pagkatapos ay tapos ka na.
  2. Susunod ay ang pag-set up ng IDE upang maprograma mo ang iyong ESP. Upang magawa ito, kailangan mong pumunta sa File -> Mga Kagustuhan at sa ibaba sa ilalim ng Mga Karagdagang Mga Boards Manager URL: i-paste ang sumusunod na URL.
  3. Pagkatapos naviagte sa mga tool -> Lupon -> Mga Board Manager at mag-scroll hanggang sa makita mo ang isang tinatawag na esp8266 at pindutin ang i-install. Pinakabagong Bersyon mangyaring. Kapag natapos ang pag-install i-restart ang IDE.
  4. Ngayon i-download ang parehong flasher at ang firmware para sa ESP. Lumikha ng isang folder sa iyong desktop na tinatawag na "Flasher" at i-unzip ang parehong na-download na mga file sa loob nito. Kakailanganin natin sila mamaya.

Cool, sa ngayon dapat mayroon ka ng lahat ng software na kinakailangan upang mai-program ang ESP!

Hakbang 4: Pagsubok sa ESP

Susunod ay ang iyong unang koneksyon sa ESP. Ang bahaging ito ay medyo nakakalito at kung ano ang gumana para sa akin ay maaaring hindi gumana para sa iyo … Inaasahan natin ang pinakamahusay.

Magsimula tayo sa pamamagitan ng pag-upload ng isang premade sketch na kumurap sa isang asul na LED sa ESP. Upang gumana ito, kakailanganin mo ang sumusunod:

  • Isang naka-mod na USB adapter para sa ESP, upang maitakda mo ito sa "Program mode". Hakbang 2 ng Tagubilin na ito.
  • Alamin kung anong USB port (COM port) na konektado ang iyong ESP.

Kung hindi mo alam ang COM port, huwag magalala. Madali itong alamin. Buksan ang iyong IDE at mag-click sa mga tool -> Port at tandaan ang mga nakalistang Port (s). Pagkatapos nito, ipasok ang iyong USB adapter at suriin muli ang nakalistang Mga Port. Ang bago ay ang COM port na iyong hinahanap!

PS: Gumagamit ako ng windows. Kung naaalala ko nang tama, hindi sila tinawag ng mga Mac na COM port. Alinmang paraan, dapat pa rin itong gumana!

Kaya't ngayong alam mo ang iyong Port, huwag mag-atubiling i-plug ang iyong USB adapter! Dapat ay nasa "Program mode", sa madaling salita, dapat na konektado ang GND at GPIO0. Buksan ang IDE at mag-navigate sa Mga Tool -> Lupon at piliin ang Generic na ESP8266 Module. Pagkatapos, sa ilalim ng Mga Tool siguraduhin na mayroon kang mga sumusunod na setting:

  • Lupon: "Generic ESP8266 Module"
  • Port: Ang iyong COM port

Panghuli, pumunta sa File -> Mga Halimbawa -> ESP8266 -> Blink at mag-click sa maliit na marka ng tsek sa kaliwang sulok sa itaas ng IDE. Susuriin nito ang iyong code at sasabihin sa iyo kung may mali dito. Masidhing inirerekumenda kong gawin mo ito sa bawat oras bago mag-upload ng sketch sa ESP o sa Arduino! Kung matagumpay, makikita mo ang isang "Tapos na sa pag-iipon." text Ang natitira lamang ngayon ay i-click ang icon na "kanang arrow" sa kaliwang tuktok ng IDE upang mai-upload ang code. Kung ang lahat ay maayos na na-set up, dapat mong makita ang pag-upload at sa wakas matapos. Tingnan ang iyong ESP, dapat itong magkaroon ng isang kumikislap na LED! Congrats, na-upload mo lang ang iyong unang programa sa iyong ESP!

Kung sakaling mayroon kang isang error, huwag mag-alala. Marahil ang switch ay hindi sa kanang bahagi. I-unplug ang iyong USB adapter at "ilipat ang switch", i-plug ito muli at ulitin ang proseso. Kung ito ay gumagana alam mo na na ang "Program mode" na bahagi! Kung hindi pa rin iyon gumana, good luck. Iyon ang ibig kong sabihin sa "kung ano ang gumana para sa akin ay maaaring hindi gumana para sa iyo" … Mag-post ng mga katanungan / problema sa mga komento at susubukan ko ang aking makakaya upang makatulong!

PS: Huwag mag-atubiling subukan ang iba pang mga halimbawa! Siguro ang File -> Mga Halimbawa -> ESP8266Wifi -> WifiScan. Pagkatapos mag-upload, buksan ang Mga Tool -> Serial Monitor at maghintay ng ilang segundo. Kung lalabas ang mga wala, itakda ang rate ng Baud sa 9600 o 115200. At gamitin ang "Parehong NL & CR". Higit pa tungkol dito sa susunod sa artikulong ito, kaya huwag mag-alala kung hindi ka nakakuha ng anumang tugon!

Hakbang 5: Pagsubok SA Mga Utos

Pagsubok SA Mga Utos
Pagsubok SA Mga Utos

Tinatawag kong opsyonal ang hakbang na ito dahil wala sa buong utos ng AT ang gumagana para sa akin noong una. Kahit na sigurado ako na gumagana ang ESP nang maayos dahil kumurap ito sa nakaraang sketch at nagawa ko ring i-scan ang Wifi. Ngunit sa tuwing sinubukan kong kausapin ito sa mga utos ng AT hindi ako makakakuha ng sagot. Alinmang paraan, ipapakita ko sa iyo ang mga hakbang na nagawa ko upang makausap ito. Kung hindi ito gumana, tumalon sa susunod na hakbang.

I-plug ang iyong ESP sa USB adapter at i-plug iyon sa iyong PC. Tiyaking wala ito sa "Program mode"! Pumunta sa Mga Tool at palitan ang Lupon sa Generic ESP8266 Module. Tiyaking napili ang tamang Port at pagkatapos ay buksan ang Serial Monitor (Ctrl + Shift + M) at itakda ang mga sumusunod na setting:

  • Parehong NL at CR
  • 115200 Baud

Kung tama ang lahat, subukang i-type ang "AT" sa tuktok na bar at pindutin ang enter. Dapat kang makakuha ng isang "OK" pabalik. Kung nakakuha ka ng isang "OK", kung gayon ang banal na mga paninigarilyo nagawa mo lamang kumonekta sa iyong ESP at maaari kang maging kapwa mayabang at masaya! Susunod na uri ng "AT + GMR" upang makakuha ng karagdagang impormasyon tungkol sa iyong ESP. Kung sakaling ang bersyon ng SDK ay 1.54 pagkatapos ay maaari mo ring tumalon sa hakbang na "Flashing the pinakabagong Firmware" dahil mayroon ka na nito.

Kung sakaling hindi ka nakakuha ng isang sagot, huwag mag-atubiling subukan ito muli at / o baguhin ang rate ng Baud. Inirerekumenda ko na huwag "mag-aksaya" ng masyadong maraming oras sa ito, dahil alam mong gumagana ang iyong ESP dahil sa Hakbang 4.

PS: Kung nais ng IDE na i-save mo ang sketch bago i-verify / i-upload ito, huwag itong i-save. Nagkaroon ako ng ilang mga problema sa pag-save ng mga file at ang serial monitor pagkatapos ay hindi gumagana. Hindi ako sigurado kung bakit pa, kailangang gumawa ng higit pang pagsubok, ngunit inirerekumenda ko sa iyo na huwag i-save ang iyong mga sketch.

Hakbang 6: Pag-flashing ng Pinakabagong Firmware

Flashing ang Pinakabagong Firmware
Flashing ang Pinakabagong Firmware

Kahit na hindi gumana para sa iyo ang nakaraang hakbang, subukang i-update ang firmware nito sa hakbang na ito, marahil ayusin ito!

Ngayon na alam mo kung paano i-program ang iyong ESP, oras na upang i-update ang firmware nito! Magsimula sa pamamagitan ng pag-plug ng iyong ESP sa USB adapter at pagkatapos ay piliin ang tamang Board at Port para dito. Huwag kalimutan na ilagay ito sa "Program mode", kung hindi man ay hindi gagana ang flashing!

Susunod, kakailanganin mong buksan ang folder na iyong nilikha sa "Hakbang 2: Software" na naaalala? Gamit ang flasher at ang.bin file. Buksan ito, at patakbuhin ang esp8266_flasher.exe. Kung hiningi para sa mga karapatan sa admin, sabihin na oo. Ngayon ay isang magandang panahon din upang isara ang IDE, upang matiyak lamang na walang nakakaabala. Mag-click sa pindutan ng Bin at pumili ng isang file na pinangalanang "AiThinker_ESP8266_DIO_8M_8M_20160615_V1.5.4.bin". Tiyaking ang iyong Port ay tama, na ang susunod na window ay nakatakda sa 0x00000 at ang iyong ESP ay nasa "Program mode" at i-click ang I-download. Dapat itong magsimulang mag-upload ng firmware sa iyong ESP at ang asul na LED ay dapat na flashing. Maghintay ng kaunti hanggang sa matapos ito.

Kapag tapos na ito, gantimpalaan ka ng isang error na "Nabigong iwan ang Flash mode", na kung saan ay mabuti. Huwag pansinin ito at isara ang flasher. Nai-update mo lang ang firmware ng iyong ESP! Ang ganda

Kung sakaling nagkakaroon ka ng mga pagkakamali, muli: Siguraduhin na ang iyong Port ay tama, na ang susunod na window ay nakatakda sa 0x00000 at ang iyong ESP ay nasa "Program mode"! Kung hindi pa rin ito gumana, sasabihin kong hindi gumana nang tama ang iyong switch.

Panghuli, baka gusto mong subukang makipag-usap sa iyong ESP sa pamamagitan ng AT ngayon, tingnan ang hakbang na "Test AT Command". Kung hindi pa rin ito gumana, huwag magalala. Sige at i-upload muli ang halimbawa ng Blink upang matiyak na hindi mo sinira ang iyong ESP. Kung ito ay gumagana, mabuting pumunta ka pa rin!

Hakbang 7: Pagkonekta sa Arduino at ESP

Pagkonekta sa Arduino at ESP
Pagkonekta sa Arduino at ESP

Ito ay isang simpleng hakbang na ipinapakita sa iyo kung paano ikonekta ang ESP sa Arduino Uno! Tulad ng nabanggit sa hakbang na "Hardware", ginamit ko ang ESP-01 Adapater.

Una, isaksak ang iyong ESP sa ESP-01 Adpater at tiyaking nakaharap ito sa tamang paraan! Susunod, kunin ang iyong 4 na jumper wires at ikonekta ang mga ito tulad nito:

  • I-pin ang 3 sa Arduino sa Pin RX sa Adapter
  • I-pin ang 2 sa Arduino sa Pin TX sa Adapter
  • I-pin ang 5.5V sa Arduino sa Pin VCC sa Adapter
  • I-pin ang GND sa Arduino upang i-pin ang GND sa Adapter

Tapos na ang kable. Easy pzy di ba?

PS: Inirerekumenda ko ang paggamit ng isang pulang kawad para sa koneksyon ng 5V at isang itim na kawad para sa koneksyon ng GND. Ito ay pamantayan lamang sa electronics.

Hakbang 8: Wakas + Mga Bagay na Isasaisip

Sige, kung sinunod mo ang aking gabay at wala akong ginulo, dapat mo na ngayong magkaroon ng isang gumaganang ESP na may na-update na Firmware. Marahil ay kinakausap ka rin nito at ikaw dito, magiging perpekto iyan! Sige at galugarin ang kahanga-hangang mundo ng IOT at iba pa. Marahil ay nais mong buksan ang isang ilaw sa pag-click ng isang pindutan sa iyong telepono, o baka i-on ang watering system sa iyong hardin (tulad ng sinusubukan kong gawin). Hindi ko alam, papayagan kitang pumili. Huwag mag-atubiling magsulat ng ilang puna / katanungan tungkol sa itinuturo sa ibaba!

Ilang mga dagdag na bagay lamang na dapat tandaan:

  • Habang ang pag-upload ng code sa iyong Arduino, ang Pin 0 (RX) ay dapat na libre!
  • Kung pinapatakbo mo ang iyong ESP sa pamamagitan ng 3.3V mula sa Arduino, mag-ingat na maaaring hindi ito sapat na malakas at maaari kang makakuha ng mga pagkakamali dahil dito! Masidhing inirerekumenda ko ang ESP-01 Adapater.
  • Kung sakaling nais mong makipag-usap sa iyong ESP sa Arduino at hindi sa USB Adapter, gagawin mo ang sumusunod:

    1. Kinakailangan: Magagawa mong makipag-usap sa mga utos ng AT sa iyong ESP sa paglipas ng USB adapter upang makapagpalit!
    2. Sige at i-plug ang iyong USB adapter sa ESP. Tiyaking wala ito sa "Program mode"!
    3. Piliin ang Lupon ng ESP8266 at iwasto ang Port at buksan ang Serial Monitor (115200 Baud).
    4. I-type ang "AT" at kumuha ng isang "OK" pabalik.
    5. Kailangan nating baguhin ang default na rate ng Baud ng ESP na may sumusunod na utos: "AT + UART_DEF = 9600, 8, 1, 0, 0" (o para sa ilang mga bersyon na "AT + CIOBAUD = 9600").
    6. Dapat kang makakuha ng isang "OK" pabalik o ilang uri ng kumpirmasyon.
    7. Isara ang Serial Monitor.
    8. I-unplug ang USB adapter at i-plug ang iyong ESP sa Arduino adapter. Ikonekta ang adapter sa Arduino tulad ng ipinakita sa hakbang na "Pagkonekta sa Arduino at ESP".
    9. Ikonekta ang Arduino sa iyong PC.
    10. Baguhin ang Lupon sa Arduino at piliin ang tamang Port.
    11. I-upload ang code na ito sa Arduino.
    12. Buksan muli ang Serial Monitor, ngunit sa oras na ito sa 9600 Baud.
    13. Dapat mo na ngayong mai-type ang "AT" at makakuha ng isang "OK" pabalik.

Hakbang 9: Mga Link

Narito ang isang listahan ng ilang mga link na nahanap ko sa web na tumulong sa akin, at maaari ka rin nilang tulungan!

  • Sketch para sa Arduino Uno upang makausap ang ESP
  • Itakda ang iyong ESP sa "program mode" na may switch o mga pindutan

Update sa 2020:

  • Patnubay sa kung paano mag-flash gamit ang bagong flasher software
  • Pagsisimula ni Espressif
  • Ang mga pag-download ng Flasher at SDK / AT ng Espressif
  • Pangkalahatang impormasyon tungkol sa karamihan ng mga bagay na sakop sa artikulong ito dito (kasama ang impormasyon sa kung paano i-flash ang ESP nang walang anumang mga adaptor)

Inirerekumendang: