Talaan ng mga Nilalaman:

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Hindi Komplikado: 5 Hakbang
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Hindi Komplikado: 5 Hakbang

Video: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Hindi Komplikado: 5 Hakbang

Video: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Hindi Komplikado: 5 Hakbang
Video: How to Program ESP01 WiFi Module | Arduino IDE | DIY 2024, Nobyembre
Anonim
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Hindi Komplikado
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Hindi Komplikado

Ang gabay na ito ay inilaan upang matulungan ang mga tao na bumili ng ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter at hindi alam kung paano ito gamitin sa Arduino.

Sa una, ang tutorial na ito ay isinulat sa Portuges dito sa Brazil. Sinubukan ko ang aking makakaya upang isulat ito sa Ingles. Kaya't patawarin mo ako sa ilang mga pagkakamali na maaaring sa pagsusulat.

Ang mga itinuturo na ito ay hinati tulad ng sumusunod:

Hakbang 1: Kilalanin ang ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para sa Arduino

Hakbang 2: Pag-upgrade ng Firmware sa ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para sa Arduino

Hakbang 3: Shiald, Shield, Marami at Moer? Mahalaga ba?

Hakbang 4: Shield Moer - Paglutas ng Serial na Komunikasyon sa RX / TX

Hakbang 5: Web server na may ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para sa Arduino

Inirerekumenda ko na basahin mo ang lahat ng mga hakbang upang malaman hangga't maaari tungkol sa kalasag na ito.

Hakbang 1: Kilalanin ang ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para sa Arduino

Ginagawang madali ng ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter (Shield WiFi ESP8266) na ikonekta ang Arduino sa mga network ng WiFi sa pamamagitan ng ESP8266. Kapag ginagamit ito, hindi na kinakailangan na mag-mount ng isang circuit na may maraming mga bahagi at wires upang magkonekta ng isang ESP8266 sa Arduino, i-attach lamang ang board sa Arduino, iposisyon ang DIP switch path ayon sa mode ng kalasag sa pagpapatakbo at i-program ang Arduino upang kumonekta sa mga WiFi network. Bilang karagdagan, maaaring magamit ang board nang wala ang Arduino, dahil mayroon ito ng lahat ng mga pin-out ng magagamit na ESP-12E.

Sa kalasag mayroong impormasyon na nilikha ito ng isang taong nagngangalang WangTongze at ang nagmamay-ari ng mga karapatan nito ay ang elecshop.ml. Sa una ay sinubukan ng tagalikha ng kalasag na makalikom ng mga pondo para sa kanyang proyekto sa pamamagitan ng Indiegogo (kolektibong pagpopondo na site), ngunit hindi siya matagumpay sa pagkolekta ng pera.

Mga tampok ng modelong ESP8266 na ESP-12E:

- 32-bit na arkitektura ng RISC- Maaaring gumana ang processor sa 80MHz / 160MHz- 32MB flash memory- 64kB para sa mga tagubilin- 96kB para sa data- Karaniwang katutubong WiFi 802.11b / g / n- Nagpapatakbo sa AP, Station o AP + Station mode- Mayroon itong 11 mga digital na pin- Mayroon itong 1 analog pin na may 10-bit na resolusyon- Ang mga digital na pin maliban sa D0 ay nakagambala, PWM, I2C at isang wire- Programmable sa pamamagitan ng USB o WiFi (OTA) - Katugma sa Arduino IDE- Mga katugmang mga module at sensor na ginamit sa Arduino

Sa ibaba maaari mong basahin ang mga pangunahing tampok ng kalasag na ito:

- Laki ng Arduino Uno R3 at ang pag-pin ay tugma sa Arduino Uno, Mega 2560, Leonardo at mga derivatives. - Ang mga menor de edad na bersyon ng Arduino (halimbawa ng Nano at Pro Mini) ay magkatugma, ngunit ang mga koneksyon ay dapat gawin sa pamamagitan ng mga jumper. - Ang boltahe ng Arduino (5V) ay ginagamit upang mapatakbo ang kalasag. - May AMS1117 3.3V boltahe regulator, kaya't ang boltahe ng 5V na ibinibigay ng Arduino ay nabawasan upang mapatakbo ang kalasag nang hindi kailangan ng panlabas na lakas., kaya ang antas ng Arduino TTL (5V) ay hindi makapinsala sa ESP8266 na nagpapatakbo sa antas ng TTL 3.3V.- Mayroon itong 4-way DIP switch na nagsisilbi upang baguhin ang mga operating mode ng board.- Magagamit na mga operating mode: WiFi Shield para sa Ang Arduino / pagpapadala ng mga utos ng AT sa pamamagitan ng pag-upgrade ng Arduino / firmware sa pamamagitan ng USB Serial external / standalone converter.- Mayroon itong mga nagpapahiwatig na LEDs (PWR / DFU / AP / STA).- Dahil nasa format na ito ng kalasag, pinapayagan nitong maipasok ang iba pang mga kalasag at modyul.- Mayroon itong pindutan ng ESP-RST upang i-reset ang ESP8266.- Th e ESP8266 ADC pin ay magagamit sa dalawang mga form sa board, ang una sa isang pin na may 0 hanggang 1V saklaw ng pagbabasa at ang pangalawang form sa 0 hanggang 3.3V na saklaw.

Sa imahe ang mga pangunahing bahagi ng kalasag ay naka-highlight:

Larawan
Larawan

Isang (DIGITAL PINS): pagkakasunud-sunod ng mga pin na ginamit ng Arduino.

B (ESP8266 PINS): ESP8266-12E at ang kani-kanilang mga pin. Sa likod ng plato mayroong nomenclature ng mga pin.

C (EXternalAL SERIAL USB ADAPTER CONNECTION): Ang pagkakasunud-sunod ng pin na ginamit upang ikonekta ang panlabas na Serial USB adapter para sa pag-update ng firmware o pag-debug ng ESP8266.

D (SHIELD MAINTENANCE PINS): Isang pagkakasunud-sunod na three-pin na kinilala bilang Maintenance Lamang at ginamit upang mapatunayan na ang boltahe regulator ay tumatanggap at nagbibigay ng tama ang mga voltages. HINDI ITO DAPAT GAMITIN Bilang isang SUPPLY SOURCE.

E (DIP SWITCH TO MODIFY OPERATING MODES): Four-way DIP switch upang baguhin ang mga operating mode.

CONTACT 1 (P1) at CONTACT 2 (P2): ginamit upang ikonekta ang RX (kinatawan ng P1) at TX (kinatawan ng P2) ng ESP8266 sa mga pin ng Arduino D0 (RX) at D1 (TX). Hindi pinagana ng P1 at P2 na posisyon na OFF ang koneksyon ng RX mula sa ESP8266 patungo sa Arduino TX at TX mula sa ESP8266 hanggang sa Arduino RX.

CONTACT 3 (P3) at CONTACT 4 (P4): ginamit upang paganahin at huwag paganahin ang firmware upgrade mode para sa ESP8266. Upang paganahin ang pagsulat / pag-load ng firmware sa ESP8266, ang P3 at P4 ay dapat nasa posisyon na ON. Kapag ang P4 ay nasa posisyon na ON, ang DFU LED ay ilaw, na nagpapahiwatig na ang ESP8266 ay pinagana upang makatanggap ng firmware. Upang huwag paganahin ang mode ng pag-update ng firmware at itakda ang ESP8266 sa normal na operasyon, itakda lamang ang P3 at P4 sa OFF.

TANDAAN: Ang lahat ng 4 na contact sa posisyon na OFF ay nagpapahiwatig na ang ESP8266 ay tumatakbo sa normal na mode sa tabi ng Arduino

F (AD8 MULA SA ESP8266): pagtatalaga ng pin para sa ESP8266 ADC. Ang isang pin na tumatakbo sa saklaw ng 0 hanggang 1V at isa pang pin na tumatakbo sa saklaw na 0 hanggang 3.3V. Gagamitin lamang ang mga pin na ito kapag gumagamit ng ESP8266 lamang (standalone mode).

G (ESP8266 RESET): pindutang ginamit upang i-reset ang ESP8266. Sa tuwing binago mo ang posisyon ng mga switch ng DIP, dapat mong pindutin ang pindutan ng ESP-RST.

H (ANALOG PIN AT POWER SUPPLY): pagkakasunud-sunod ng mga pin na ginamit ng Arduino.

Ang kalasag na ito ay may kakaibang katangian sa mga contact na P1 at P2 ng DIP Switch at ang pagiging partikular na ito, sa katunayan gumagawa ito ng isang malaking pagdududa sa mga taong sumusubok na gamitin ang kalasag.

Ayon sa tagalikha ng kalasag, kapag ikonekta ito sa Arduino 2 pin lamang ang kinakailangan. Ang mga pin na ito ay magiging D0 at D1 (Arduino's RX at TX ayon sa pagkakabanggit) at bilang karagdagan, ang mga contact ng DIP Switch na P1 at P2 sa kalasag ay dapat na nasa posisyon na ON para sa koneksyon.

Sa isa sa mga tanging dokumentong Tsino na nakuha ko tungkol sa kalasag na ito, sinabi ng tagalikha ng lupon:

Ang P1 at P2 ay mga bit encoder at ginagamit upang matukoy kung ang serial na ESP8266 ay konektado sa Arduino D0 at D1.

Sa ibang seksyon ng dokumento nabanggit ito:

Ang board ng pagpapalawak na ito ay pinapanatili ang Arduino serial busy, na kumokonekta sa RX mula sa ESP8266 hanggang sa TX mula sa Arduino at TX mula sa ESP8266 hanggang sa Arduino RX.

Ang mga pin ng Arduino's D0 (RX) at D1 (TX) ay tumutugma sa katutubong serial / USB na komunikasyon, kaya't mananatiling abala ang mga pin na ito tuwing nagpapadala kami ng code sa board o ginagamit ang serial monitor. Samakatuwid, kung ang P1 at P2 na mga contact ng kalasag ay nasa posisyon na ON, ang ESP8266 ay gumagamit ng Arduino D0 at D1 at hindi posible na magpadala ng mga code o gamitin ang serial dahil magiging abala ito. Bilang karagdagan, upang magpadala ng mga utos ng AT sa kalasag, kinakailangan na ang ESP8266 RX ay konektado sa Arduino RX at ang ESP8266 TX ay konektado sa Arduino TX. Mangyayari lamang ito kung babaligtarin namin ang mga koneksyon tulad ng ipinakita sa imahe sa ibaba:

Larawan
Larawan

Tingnan na baluktot ko ang mga contact ng D0 at D1 ng kalasag, at ikinonekta ang Arduino D0 sa D1 ng kalasag at D1 ng Arduino sa D0 ng kalasag. Kapag ginagamit ang koneksyon sa ganitong paraan (ginagamit ang Arduino bilang isang tulay sa koneksyon), nakapagpadala ako ng mga utos ng AT sa ESP8266 at nakumpirma kung ano na ang naisip ko.

Ang karaniwang form ng pagpapatakbo ng kalasag ay nangangailangan ng isang code (webserver o firmware, halimbawa) na mai-load sa kalasag at isa pang code ay na-load sa Arduino upang maipadala, matanggap, at bigyang kahulugan ang data na dumarating sa katutubong serial. Ang higit pang mga detalye sa pormang ito ng komunikasyon ay makikita sa mga susunod na hakbang.

Gayunpaman, ang tampok na ito ng kalasag ay hindi makagambala sa pagpapatakbo nito, dahil karaniwang ginaya namin ang isang serial sa iba pang mga digital na pin ng Arduino upang magkaroon kami ng katutubong serial na magagamit. Bilang karagdagan, kung kinakailangan upang magpadala ng mga utos ng AT sa kalasag, maaari naming ikonekta ito sa Arduino sa pamamagitan ng apat na mga cable o gumamit ng isang serial USB converter.

Sa wakas, ang kalasag ay napakatatag at pinadali ang pagpupulong ng mga circuit. Sinubukan ko kasama ang Arduino Uno R3 at Mega 2560 R3.

Sa susunod na hakbang matututunan mo kung paano mag-upgrade / baguhin ang firmware ng kalasag.

Hakbang 2: Pag-upgrade ng Firmware sa ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para sa Arduino

Upang ikonekta ang kalasag sa computer kinakailangan na gumamit ng isang serial USB converter. Kung wala kang isang maginoo serial USB converter, maaari mong gamitin ang Arduino Uno R3 converter bilang isang intermediate. Mayroong maraming mga modelo ng serial USB converter sa merkado, ngunit para sa tutorial na ito ginamit ko ang PL2303HX TTL Serial USB Converter Adapter.

Upang mai-upgrade ang kalasag, gamitin ang:

Mga Tool sa Pag-download ng Flash ng ESP8266

Ang firmware na gagamitin ay:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a SA Firmware

Kapag na-download mo na ang programa at firmware, kopyahin ang pareho sa root (drive C) ng iyong Windows.

I-unzip ang flash_download_tools_v2.4_150924.rar at ang FLASH_DOWNLOAD_TOOLS_v2.4_150924 folder ay mabubuo.

Gamit ang Arduino Uno R3 serial USB converter bilang isang intermediate:

Ang susunod na hakbang ay upang ikonekta ang kalasag sa computer. Kung wala kang isang karaniwang serial usb converter, maaari mong gamitin ang Arduino Uno R3 upang tulay ang kalasag at ang computer. Bilang karagdagan sa Arduino Uno R3 na may USB Cable kakailanganin mo:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter04 - Mga male-Woman Jumper Cables

TANDAAN: Bago i-mount ang diagram ng mga kable ng Arduino, dapat kang mag-load ng isang blangko na code sa board upang matiyak na hindi ginagamit ang serial USB converter. I-load ang code sa ibaba sa iyong Arduino at magpatuloy:

void setup () {// ilagay ang iyong code sa pag-setup dito, upang tumakbo nang isang beses:} void loop () {// ilagay ang iyong pangunahing code, upang tumakbo nang paulit-ulit:}

Larawan
Larawan

TANDAAN: Magkaroon ng kamalayan kapag ikinakabit ang 3.3V na pin ng kalasag sa Arduino.

Gamit ang Serial TTL USB Converter Adapter PL2303HX:

Kakailanganin mo ang mga sumusunod na item bilang karagdagan sa PL2303HX TTL Serial USB Converter Adapter:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter04 - Mga male-Woman Jumper Cables

Larawan
Larawan

TANDAAN: Ang PL2303 ay may 5V at 3V3 na lakas. Gumamit ng 3V3 lakas at huwag pansinin ang 5V pin

Matapos mong gawin ang isa sa mga scheme ng koneksyon sa itaas, ikonekta lamang ang USB cable (sa Arduino at computer) o ang serial USB converter sa computer.

Pagkatapos ay pumunta sa 'Control Panel' sa Windows, 'Device Manager', at sa window na bubukas pumunta sa 'Ports (COM at LPT)'. Maaari mong makita ang nakakonektang aparato at ang numero ng COM port kung saan ito inilaan. Bilang isang pagpapakita, kinonekta ko ang parehong Arduino at ang serial USB converter sa computer at sa imahe sa ibaba makikita mo kung paano lumilitaw ang mga aparato sa manager:

Larawan
Larawan

Kung gumagamit ka ng PL2303HX at hindi ito kinikilala ng Windows, i-access ang post na Serial TTL USB Converter PL2303HX - Pag-install sa Windows 10, tingnan kung paano ito malulutas at pagkatapos ay bumalik upang magpatuloy.

Pumunta ngayon sa folder na FLASH_DOWNLOAD_TOOLS_v2.4_150924 at patakbuhin ang ESP_DOWNLOAD_TOOL_V2.4.exe:

Larawan
Larawan

Sa kalasag, ilagay ang mga contact ng P3 at P4 ng DIP Switch sa posisyon na ON at pagkatapos ay pindutin ang pindutan ng ESP-RST sa card upang ang kalasag ay pumasok sa firmware upgrade mode:

Larawan
Larawan

Sa bukas na programa, alisan ng check ang pagpipiliang 'SpiAutoSet', piliin ang COM port, piliin ang 'BAUDRATE' 115200, alisan ng check ang anumang checkbox na minarkahan sa 'Download Path Config', i-configure ang iba pang mga pagpipilian tulad ng ipinakita sa ibaba at i-click ang 'SIMULA':

Larawan
Larawan

Kung ang komunikasyon sa ESP8266 WiFi Shield ay OK, makakakita ka ng impormasyon sa 'DETected INFO', 'MAC Address' at 'SYNC':

Larawan
Larawan

TANDAAN: Kung ibabalik ng programa ang 'FAIL', suriin kung napili mo ang tamang COM port, suriin kung ang P3 at P4 na mga key ng DIP switch ay ON, i-click ang pindutan ng ESP-RST, i-click ang STOP at muling i-click ang SIMULA.

Sa 'Download Path Config' dapat mong piliin ang file na 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' na na-download. Mag-click sa '…' ng unang patlang at sa window na magbubukas mag-navigate sa folder kung saan inilagay mo ang firmware at piliin ang file na 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin'. Sa patlang na 'ADDR' punan ang offset 0x00000 at suriin ang checkbox upang matapos. Kapag natapos, magkakaroon ka ng mga setting tulad ng ipinakita sa ibaba:

Larawan
Larawan

Ngayon i-click ang SIMULA upang simulan ang proseso:

TANDAAN: Kung gumagamit ka ng Arduino serial USB converter bilang isang tagapamagitan sa pagitan ng kalasag at computer, mag-click sa pindutan ng ESP-RST ng kalasag bago i-click ang Magsimula. Kung gumagamit ka ng isang maginoo serial USB converter ang pamamaraang ito ay hindi kinakailangan

Larawan
Larawan

Maghintay para makumpleto ang proseso ng pag-upgrade ng firmware (tatagal ng pitong minuto bago makumpleto ang proseso):

Larawan
Larawan

Matapos makumpleto ang proseso ng pag-upgrade ng firmware, isara ang mga window ng ESP_DOWNLOAD_TOOL_V2.4, ibalik ang mga contact na P3 at P4 ng DIP Switch sa posisyon na OFF at pindutin ang pindutan ng ESP-RST sa kalasag upang maaari itong lumabas sa mode ng pag-upgrade ng firmware.

Ngayon buksan ang Arduino IDE upang maaari kang magpadala ng mga utos ng AT sa board upang mapatunayan na ang firmware ay na-update nang tama at na ang board ay tumutugon sa mga utos.

Sa bukas na IDE pumunta sa menu na 'Tools' at pagkatapos ay sa pagpipiliang 'Port' piliin ang COM port. Tandaan sa imahe sa ibaba na pinili ko ang port ng COM7 (maaaring magkakaiba ang iyong port):

Larawan
Larawan

Hindi mo kailangang piliin ang board sa IDE dahil ito ay hindi nauugnay sa pagpapadala ng AT utos.

Buksan ang 'Serial Monitor' at sa tseker ng footer kung ang bilis ay nakatakda sa 115200 at kung 'Kapwa, NL at CR' ang napili:

Larawan
Larawan

Ngayon i-type ang utos na 'AT' (walang mga quote) at bigyan ang 'ENTER' o i-click ang 'Ipadala'. Kung gumagana ang koneksyon kailangan mong ibalik ang mensahe na 'OK':

Larawan
Larawan

TANDAAN: Kung ang pagpapadala ng utos ay HINDI makatanggap ng anumang puna o makatanggap ng isang random na string ng character, baguhin ang bilis mula 115200 ng serial monitor sa 9600 at ipadala muli ang utos

Sa 'Serial Monitor' i-type ang utos na 'AT + GMR' (walang mga quote) at bigyan ang 'ENTER' o i-click ang 'Ipadala'. Kung makakatanggap ka ng feedback tulad ng ipinakita sa ibaba, ang iyong ESP8266 WiFi Shield ay matagumpay na na-update:

Larawan
Larawan

Kung nais mong baguhin ang baudrate ng komunikasyon gamit ang 9600 na kalasag, ipasok ang utos na 'AT + UART_DEF = 9600, 8, 1, 0, 0' (nang walang panipi) at bigyan ang 'ENTER' o i-click ang 'Ipadala'. Kung natanggap mo ang impormasyon tulad ng ipinakita sa ibaba, ang bilis ng komunikasyon ay nagbago:

Larawan
Larawan

TANDAAN: Kapag binabago ang baudrate ng kalasag, dapat mo ring baguhin ang bilis mula 115200 hanggang 9600 sa Monitor Serial footer. Pagkatapos ay ipadala muli ang utos na 'AT' (nang walang mga marka ng panipi) at pindutin ang 'ENTER' o i-click ang 'Ipadala'. Kung natanggap mo ang 'OK' bilang isang pagbabalik sa gayon ang komunikasyon ay gumagana

Kung nais mong gamitin ang kalasag upang magtalaga ng WiFi sa Arduino, ang perpektong bilis ng komunikasyon ay 9600 baud.

Sa susunod na hakbang malalaman mo kung anong kalasag ang mayroon ka, dahil posible na makahanap ng hindi bababa sa tatlong mga kalasag sa merkado na tila pareho, ngunit sa katunayan ang mga board na ito ay may ilang mga punto na naiiba ang mga ito, kahit na sa tanong ng nagtatrabaho sa Arduino sa pamamagitan ng komunikasyon sa pamamagitan ng katutubong serial.

Hakbang 3: Shiald, Shield, Marami at Moer? Mahalaga ba?

Kung ito ang ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter, posible na makahanap ng hindi bababa sa tatlong mga board na tila pareho, ngunit sa katunayan ang mga board na ito ay may ilang mga punto na naiiba ang mga ito, kahit na sa tanong ng pagtatrabaho sa Arduino sa pamamagitan ng katutubong komunikasyon sa serial.

Ang pagsunod sa maaari mong makita kung ano ang pagkakaiba-iba ng mga board at alamin kung alin ang sa iyo.

Shiald WiFi ESP8266:

Larawan
Larawan

Tandaan na sa pisara na ito ang salitang Shield ay nakasulat na "Shiald" at ang salitang "higit pa" ay may "m" sa mas mababang kaso. Sa mga pagsubok na aking ginawa ng mahabang panahon, ang board ay HINDI nagpakita ng anumang mga pagkukulang sa paggana nito.

Shield WiFi ESP8266:

Larawan
Larawan

Tandaan na sa pisara na ito ang salitang Shield ay nakasulat nang tama at ang salitang "Higit pa" ay may "M" sa malaking titik. Sa usapin ng pagpapatakbo, ang board na ito ay kumikilos sa parehong paraan tulad ng bersyon ng Shiald, iyon ay, ang board ay hindi mali.

Kaya't ibig mong sabihin na ang Shiald at Shield boards ay may pagkakaiba lamang sa isyu ng PCB na sutla?

Oo, ang dalawang kard na ito ay may pagkakaiba lamang sa bagay ng pagsulat ng dalawang salita. Ang circuit sa parehong mga board ay pareho at parehong gumagana nang perpekto sa Arduino o nag-iisa (standalone mode). Isinasaalang-alang na ang Arduino ay may tamang code na na-load at ang isa sa mga kalasag ay kasama rin ang tamang firmware, pagkatapos na ikabit ang kalasag sa Arduino at ikonekta ang USB cable, ilagay lamang ang P1 at P2 na mga contact ng DIP switch sa posisyon na ON at ang komunikasyon sa pamamagitan ng katutubong serial (mga pin D0 at D1) sa pagitan ng mga board ay gagawin.

Sinasabi ng ilan na ang bersyon na ito ng Shiald ay may hindi matatag na koneksyon sa wireless, ngunit iginigiit ko na wala talagang kawalang-tatag.

Shield WiFi ESP8266 (Moer):

Larawan
Larawan

Tandaan na sa pisara na ito ang salitang Shield ay nakasulat nang tama at ang salitang "Higit Pa" ay nakasulat na "Moer", iyon ay, mali. Sa kasamaang palad ang board na ito ay hindi gumagana sa paraang dapat at kung ito ay naka-attach sa Arduino (na may mga contact na switch na DIP OFF o ON) at sinusubukan ng gumagamit na mag-load ng isang code sa Arduino, isang mensahe ng error ang lilitaw sa IDE bilang mabibigo ang paglo-load.

Kung ang iyong kalasag ay ang isang nakasulat sa Moer at nagkaproblema ka sa paggamit nito sa iyong Arduino sa pamamagitan ng katutubong serial komunikasyon, pumunta sa susunod na hakbang at alamin kung paano malutas ang problema. Kung ang iyong kalasag AY HINDI ANG Moer, laktawan ang Hakbang 5.

Hakbang 4: Shield Moer - Paglutas ng Serial na Komunikasyon sa RX / TX

Kung ang board na ito (Moer) ay isinama sa Arduino (na may mga contact na switch na DIP na OFF o ON) at sinusubukan ng gumagamit na mag-load ng isang code sa Arduino, lilitaw ang isang mensahe ng error sa IDE dahil mabibigo ang pag-load. Ito ay dahil sa isang error sa sangkap na ginamit sa konstruksyon ng kalasag.

Ang kalasag na may wastong konstruksyon at operasyon, ay hinangin ang dalawang Channel N MOSFETs at nakilala bilang J1Y. Ang isa sa mga J1Y transistors ay konektado sa ESP8266 RX at ang iba pa ay konektado sa ESP8266 TX. Sa imahe sa ibaba makikita mo ang dalawang transistor na naka-highlight:

Larawan
Larawan

Ang J1Y transistor na ito ay isang BSS138 na ang layunin ay upang paganahin ang 5V antas ng lohika na mga circuit upang makipag-usap sa mga 3.3V na antas ng lohika na mga circuit at kabaligtaran. Dahil ang ESP8266 ay may antas ng lohika na 3.3V at ang Arduino ay may lohikal na antas ng 5V, kinakailangang gumamit ng isang converter ng antas ng lohika upang matiyak ang perpektong pagpapatakbo ng ESP8266.

Sa kalasag na Moer, may mga solder sa board ng dalawang transistors na kinilala bilang J3Y. Sa imahe sa ibaba makikita mo ang dalawang transistor na naka-highlight:

Larawan
Larawan

Ang J3Y transistor ay isang S8050 NPN at ang ganitong uri ng transistor ay karaniwang ginagamit sa mga circuit ng amplifier. Para sa ilang kadahilanan sa oras ng pagtatayo ng kalasag na Moer, ginamit nila ang transistor J3Y sa halip na ang converter ng antas ng lohika na J1Y.

Sa ganitong paraan, ang mga pin ng RX at TX ng ESP8266 ay hindi gagana ayon sa nararapat at samakatuwid ang kalasag ay hindi magkakaroon ng anumang serial na komunikasyon sa Arduino. Habang ang kalasag ay nakikipag-usap sa Arduino sa pamamagitan ng katutubong serial (mga pin na D0 at D1), na kasama nito sa paglo-load ng Arduino code (sa Arduino) ay hindi matagumpay na makukumpleto, dahil sa ilang mga kaso palaging may humigit-kumulang na 2.8V sa Ang RX at Arduino TX o pare-pareho ang 0V, lahat dahil sa mga maling transistor.

Matapos ang lahat ng impormasyong ito, malinaw na ang tanging solusyon para sa kalasag na Moer, ay ang kapalit ng J3Y transistors ng J1Y transistors. Para sa pamamaraang ito kakailanganin mo bilang karagdagan sa Moer kalasag ng pasensya, at:

01 - Soldering Iron01 - Tin01 - Forceps o Needle Pliers01 - Welding Sucker02 - BSS138 (J1Y)

Ang BSS138 (J1Y) transistor ay ginagamit sa 3.3V / 5V Logic Level Converter.

TANDAAN: Ang sumusunod na pamamaraan ay nangangailangan na malaman mo kung paano hawakan ang isang panghinang at mayroon kang pinakamaliit na karanasan sa hinang. Ang mga sangkap na aalisin at ang mga papalitan ay mga sangkap ng SMD at nangangailangan ng higit na pangangalaga at pasensya kapag hinang gamit ang isang karaniwang bakal na panghinang. Mag-ingat na huwag iwanan ang haba ng soldering iron sa mga terminal ng transistor dahil maaari itong makapinsala sa kanila

Gamit ang mainit na bakal na panghinang, painitin ang isa sa mga terminal ng transistor at maglagay ng lata. Gawin ang pamamaraang ito para sa bawat terminal ng dalawang transistor. Ang labis na hinang sa mga terminal ay magpapadali sa pag-alis ng mga transistor:

Larawan
Larawan

Ngayon kunin ang sipit / pliers, hawakan ang transistor sa mga gilid, painitin ang gilid ng transistor na mayroon lamang isang terminal at pilitin ang transistor pataas upang ang terminal ay maluwag mula sa solder. Nakasama pa rin ang mga sipit / pliers na humahawak sa transistor, subukang ilagay ang dulo ng soldering iron laban sa iba pang dalawang mga terminal at pilitin ang transistor upang tapusin ang paglabas nito mula sa board. Gawin ito para sa parehong transistors at maging maingat:

Larawan
Larawan

Inalis ang dalawang J3Y IC mula sa kalasag, iposisyon lamang ang J1Y IC sa lugar, hawakan ito gamit ang sipit / pliers, at painitin ang bawat dulo ng kalasag upang ang lata ay sumali sa contact. Kung ang mga contact ay mababa ang solder, painitin ang bawat isa at maglagay ng mas maraming lata. Gawin ito para sa parehong transistors at maging maingat:

Larawan
Larawan

Matapos ang pagkumpuni, ang kalasag nito na dati ay walang direktang komunikasyon sa Arduino, ay nagsimulang magkaroon ng koneksyon sa board sa pamamagitan ng katutubong serial (mga pin na D0 at D1).

Ang isang unang pagsubok upang kumpirmahing matagumpay ang pag-aayos ay upang ilakip ang kalasag (kasama ang lahat ng mga contact na DIP switch OFF) sa Arduino, ikonekta ang USB cable sa board at computer, at subukang mag-load ng isang code sa Arduino. Kung OK ang lahat, matagumpay na mai-load ang code.

Hakbang 5: Web Server Na May ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para sa Arduino

Bilang pangunahing kinakailangan upang ipagpatuloy ang hakbang na ito, dapat mong maisagawa ang hakbang 2.

Tulad ng nabanggit ko kanina, upang magamit ang kalasag sa Arduino sa pamamagitan ng katutubong serial (mga pin na D0 at D1), kinakailangan na ang isang code ay mai-load sa kalasag at na ang Arduino ay mai-load ng isa pang code upang maipadala, matanggap at mabigyan ng kahulugan ang ang trapiko ng data sa pamamagitan ng katutubong serial. Sa kalasag, maaari kaming maglagay ng isang firmware ng mga utos ng AT at iprogram ang Arduino upang ipadala ang mga utos sa kalasag upang kumonekta sa isang WiFi network at makontrol ang mga input at output ng Arduino.

Sa hakbang na ito gagamitin namin ang library ng WiFiESP, dahil mayroon na ang lahat ng kinakailangang mga function upang isama ang ESP8266 (Shield WiFi ESP8266 sa aming kaso) sa Arduino at magtalaga ng WiFi sa board. Gumagana ang silid-aklatan ng WiFiESP sa pamamagitan ng pagpapadala ng mga utos ng AT, pagkatapos ang koneksyon ng wireless network ng router at anumang kahilingan na ginawa sa web server ay magreresulta sa pagpapadala ng mga utos ng AT sa kalasag.

Para gumana ang library ng WiFiESP, ang bersyon ng AT command firmware ay dapat na hindi bababa sa 0.25 o mas mataas. Kaya kung hindi mo alam ang bersyon ng utos ng utos ng iyong kalasag, pumunta sa hakbang 2 upang mai-update ang board gamit ang firmware na may isang bersyon ng utos na AT na 1.2.0.0 at pagkatapos ay bumalik upang magpatuloy.

Ang isang bagay na nakilala ko sa panahon ng aking mga pagsubok na may kalasag at ang Arduino ay dahil ang komunikasyon sa pagitan ng mga ito ay nangyayari sa pamamagitan ng katutubong serial (mga pin na D0 at D1), kinakailangan na ang serial ay may eksklusibong paggamit para sa komunikasyon sa pagitan nila. Samakatuwid, hindi ko inirerekumenda ang paggamit ng "Serial.print () / Serial.println ()" upang mag-print ng impormasyon sa serial monitor ng Arduino IDE o anumang iba pang programa na nagpapakita ng serial information.

Bilang default, naka-configure ang library ng WiFiESP upang maipakita ang mga serial error, babala, at iba pang impormasyon sa komunikasyon sa pagitan ng Arduino at ESP8266. Tulad ng nabanggit ko dati, ang serial ay dapat palabasin para sa komunikasyon sa pagitan ng Arduino at ng kalasag. Samakatuwid, nag-edit ako ng isang file mula sa library at hindi pinagana ang pagpapakita ng lahat ng impormasyon sa serial. Ang tanging impormasyon na ipapakita sa serial monitor ay ang mga utos ng AT na ipinapadala ng library sa kalasag upang kumonekta sa wireless network o mga utos ng AT upang magpatupad ng mga kahilingan na ginawa sa webserver.

I-download ang binagong WiFIESP library at i-install ito sa Arduino IDE:

WiFIESP Mod

Sa folder ng pag-install ng library, i-access lamang ang path na "WiFiEsp-master / src / utility" at sa loob nito ay may file na "debug.h" na na-edit upang hindi paganahin ang pagpapakita ng impormasyon sa serial. Ang pagbubukas ng file sa Notepad ++, halimbawa, mayroon kaming mga linya 25, 26, 27, 28, at 29 na nagpapakita ng kaukulang pagnunumero para sa mga uri ng impormasyon na ipapakita sa serial monitor. Tandaan na ang numero 0 ay hindi pinagana ang pagpapakita ng lahat ng impormasyon sa serial monitor. Sa wakas, sa linya 32 na-configure ko ang "_ESPLOGLEVEL_" na may halagang 0:

Larawan
Larawan

Kung nais mong gamitin ang WiFiESP library sa iba pang mga proyekto na may ESP8266 at kailangan ang impormasyong ipinapakita sa serial monitor, itakda lamang ang "_ESPLOGLEVEL_" sa halagang 3 (default na halaga ng library) at i-save ang file.

Dahil ang iyong kalasag ay mayroon nang AT command firmware na bersyon 0.25 o mas mataas, magpatuloy tayo.

Ikabit ang kalasag sa iyong Arduino (Uno, Mega, Leonardo o iba pang bersyon na nagpapahintulot sa pagkakabit ng kalasag), ilagay ang lahat ng mga contact na DIP switch sa posisyon na OFF, ikonekta ang isang LED sa pagitan ng pin 13 at GND, at ikonekta ang USB cable sa Arduino at ang computer:

Larawan
Larawan

Ginamit ko ang Arduino Mega 2560, gayunpaman, ang resulta ay magiging pareho kung gumagamit ka ng isa pang Arduino board na pinapayagan na maisama ang kalasag.

I-download ang code mula sa link at buksan ito sa Arduino IDE:

Code Web Server

Kung gumagamit ka ng Arduino Leonardo, pumunta sa mga linya 19 at 20 ng code, at baguhin ang salitang Serial sa Serial1, tulad ng ipinakita sa imahe sa ibaba:

Larawan
Larawan

Sa code dapat mong ipasok ang pangalan ng iyong WiFi network sa linya char * ssid = "PANGALAN NG IYONG WIFI NETWORK";, ang password ay dapat na ipasok sa linya char * password = "PASSWORD NG Iyong WIFI NETWORK"; at sa linya ng WiFi.config (IPAddress… dapat mong ipasok ang isang magagamit na IP address sa iyong wireless network dahil ang code na ito ay gumagamit ng static IP:

Larawan
Larawan

Sa menu na "Mga Tool" piliin ang "Lupon" at piliin ang modelo ng iyong Arduino. Nasa menu pa rin ng "Mga Tool", piliin ang pagpipiliang "Port" at suriin ang COM port kung saan inilaan ang iyong Arduino.

I-click ang pindutan upang maipadala ang code sa Arduino at maghintay para sa pag-load.

Matapos mai-load ang code sa Arduino, idiskonekta ang USB cable mula sa card, ilagay ang mga contact na P1 at P2 ng DIP Switch ng kalasag sa posisyon na ON at ikonekta muli ang USB cable sa Arduino.

TANDAAN: Hangga't nasa posisyon na P1 ang P2 na mga contact ng kalasag, hindi ka makakapagpadala ng mga code sa Arduino dahil magiging abala ang katutubong serial. Tandaan tuwing binago mo ang posisyon ng mga switch ng switch DIP, pindutin ang pindutan ng ESP-RST

Agad na buksan ang serial monitor ng Arduino IDE:

Larawan
Larawan

Sa bukas na serial monitor maaari mong sundin ang mga utos ng AT na ipinapadala sa kalasag upang patakbuhin ang webserver. Kung walang impormasyon na ipinapakita kapag binubuksan ang serial monitor, pindutin ang I-reset ang pindutan sa iyong Arduino at maghintay.

Tandaan na sa serial monitor ang utos na "AT + CIPSTA_CUR" ay nagpapakita ng IP address upang kumonekta sa webserver at ang utos na "AT + CWJAP_CUR" ay nagpapakita ng pangalan at password ng wireless network kung saan nakakonekta ang kalasag:

Larawan
Larawan

Kopyahin ang IP address na ipinakita sa serial monitor, buksan ang iyong internet browser, i-paste ang IP address at pindutin ang ENTER upang ma-access. Ang isang webpage na katulad ng sa ibaba ay mai-load:

Larawan
Larawan

Ang web page ay may isang pindutan na responsable para sa pag-on / off ng LED na konektado sa pin 13 ng Arduino. Pindutin ang pindutan upang i-on / i-off ang LED at makita na ang kasalukuyang katayuan ay na-update sa pahina.

Maaari mo ring ma-access ang web page sa pamamagitan ng isang smartphone o tablet, halimbawa.

Tingnan ang video sa ibaba para sa huling resulta:

Ito ay isang simpleng kasanayan, sapagkat ang layunin ay upang ipakita kung gaano kadali gamitin ang kalasag sa Arduino. Ang lahat ng mga proyekto na mahahanap mo sa internet na gumagamit ng ESP8266 upang magtalaga ng WiFi sa Arduino, ay maaaring kopyahin sa WiFi Shield na ito, ang pagkakaiba ay hindi mo kakailanganing mai-mount ang mga divider ng boltahe sa protoboard upang makipag-usap sa mga platform, at sa simple ang mga proyekto ay hindi ka mag-aalala tungkol sa pagpapatakbo ng circuit na may panlabas na supply ng kuryente. Bilang karagdagan, ang iyong proyekto ay magkakaroon ng isang mas kaaya-ayang aesthetic.

Ngayon na alam mo kung paano isama ang Shield WiFi ESP8266 sa Arduino mula sa isang web server, baguhin lamang ang code at ipatupad ang ilang mas detalyadong proyekto o simulan ang pagbuo ng iyong sariling code.

Muli, paumanhin para sa mga pagkabigo sa Ingles.

Kung mayroon kang mga katanungan tungkol sa kalasag, magtanong lamang at magiging masaya akong tumugon.

Inirerekumendang: