Indholdsfortegnelse:

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Ukompliceret: 5 trin
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Ukompliceret: 5 trin

Video: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Ukompliceret: 5 trin

Video: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Ukompliceret: 5 trin
Video: Arduino: How to connect Wi-Fi shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield with Arduino? 2024, Juni
Anonim
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Ukompliceret
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Ukompliceret

Denne vejledning er beregnet til at hjælpe folk, der har købt ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter og ikke ved, hvordan de skal bruge den med Arduino.

I første omgang blev denne vejledning skrevet på portugisisk her i Brasilien. Jeg prøvede mit bedste at skrive det på engelsk. Så tilgiv mig nogle fejl, der kan være på skrift.

Denne instruks kunne deles som følger:

Trin 1: Lær ESP8266 ESP-12E UART Wireless WIFI Shield TTL-konverter til Arduino at kende

Trin 2: Firmwareopgradering på ESP8266 ESP-12E UART Wireless WIFI Shield TTL-konverter til Arduino

Trin 3: Shiald, Shield, More og Moer? Betyder det noget?

Trin 4: Shield Moer - Løsning af RX / TX seriel kommunikation

Trin 5: Webserver med ESP8266 ESP-12E UART Wireless WIFI Shield TTL-konverter til Arduino

Jeg anbefaler, at du læser alle trin for at lære så meget som muligt om dette skjold.

Trin 1: Lær ESP8266 ESP-12E UART Wireless WIFI Shield TTL-konverter til Arduino at kende

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter (Shield WiFi ESP8266) gør det let at tilslutte Arduino til WiFi-netværk via ESP8266. Når du bruger det, er det ikke længere nødvendigt at montere et kredsløb med flere komponenter og ledninger for at forbinde en ESP8266 med Arduino, blot vedhæfte kortet til Arduino, placere DIP -switchbanen i henhold til skærmens driftstilstand og programmere Arduino til oprette forbindelse til WiFi -netværk. Derudover kan brættet bruges uden Arduino, da det har alle pin-outs på ESP-12E til rådighed.

I skjoldet er der oplysninger om, at det blev oprettet af en person ved navn WangTongze, og som ejer rettighederne til det er elecshop.ml. Oprindeligt forsøgte skjoldets skaber at skaffe midler til sit projekt gennem Indiegogo (kollektivt finansieringssted), men det lykkedes ikke at skaffe penge.

Funktioner i ESP8266 model ESP-12E:

- 32-bit RISC-arkitektur- Processor kan fungere ved 80MHz / 160MHz- 32MB flashhukommelse- 64kB for instruktioner- 96kB til data- Standard native WiFi 802.11b / g / n- Opererer i AP, Station eller AP + Station-tilstand- Den har 11 digitale pins- Den har 1 analog pin med 10-bit opløsning- Digitale pins undtagen D0 har afbrydelse, PWM, I2C og en ledning- Programmerbar via USB eller WiFi (OTA)- Kompatibel med Arduino IDE- Kompatibel med moduler og sensorer, der bruges i Arduino

Nedenfor kan du læse hovedtræk ved dette skjold:

- Størrelsen på Arduino Uno R3 og fastgørelsen er kompatibel med Arduino Uno, Mega 2560, Leonardo og derivater.- Mindre versioner af Arduino (f.eks. Nano og Pro Mini) er kompatible, men forbindelser skal foretages via jumpere.- Arduinospænding (5V) bruges til at drive skærmen.- Har AMS1117 3.3V spændingsregulator, så den 5V spænding, der leveres af Arduino, reduceres til at drive skærmen uden behov for ekstern strøm.- Den har indbygget logisk niveauomformer, så Arduino TTL-niveau (5V) beskadiger ikke ESP8266, der arbejder med TTL 3.3V-niveau.- Den har en 4-vejs DIP-switch, der tjener til at ændre kortets driftstilstande.- Tilgængelige driftstilstande: WiFi Shield til Arduino / sender AT-kommandoer via Arduino / firmware-opgradering via USB Seriel ekstern / standalone converter.- Den har vejledende lysdioder (PWR / DFU / AP / STA).- Fordi den er i skjoldformat, tillader det, at andre skjolde og moduler indsættes.- Den har ESP-RST-knappen for at nulstille ESP8266.- Th e ESP8266 ADC -pin fås i to former på tavlen, den første på en pin med 0 til 1V aflæsningsområde og den anden form i området 0 til 3.3V.

På billedet fremhæves hoveddelene af skjoldet:

Billede
Billede

A (DIGITAL PINS): sekvens af ben bruges af Arduino.

B (ESP8266 PINS): ESP8266-12E og deres respektive ben. På bagsiden af pladen er der nomenklatur for stifterne.

C (EKSTERN SERIEL USB -ADAPTER TILSLUTNING): Pin -sekvens, der bruges til at tilslutte den eksterne serielle USB -adapter til firmwareopdatering eller fejlfinding af ESP8266.

D (SHIELD MAINTENANCE PINS): En trepolet sekvens, der kun er identificeret som vedligeholdelse og bruges til at kontrollere, at spændingsregulatoren modtager og leverer spændingerne korrekt. DET SKAL IKKE ANVENDES SOM LEVERANDØRKILDE.

E (DIP-SKIFT TIL MODIFIERING AF BETJENINGSTILSTANDER): Fire-vejs DIP-switch for at ændre driftstilstande.

KONTAKT 1 (P1) og KONTAKT 2 (P2): bruges til at forbinde RX (repræsenteret ved P1) og TX (repræsenteret ved P2) på ESP8266 til Arduino D0 (RX) og D1 (TX) benene. P1 og P2 i OFF -position deaktiverer RX -forbindelsen fra ESP8266 til Arduino TX og TX fra ESP8266 til Arduino RX.

KONTAKT 3 (P3) og KONTAKT 4 (P4): bruges til at aktivere og deaktivere firmwareopgraderingstilstand for ESP8266. For at aktivere firmware -skrivning / indlæsning på ESP8266 skal P3 og P4 være i ON -positionen. Når P4 er i ON -position, lyser DFU -LED'en, hvilket angiver, at ESP8266 er aktiveret til at modtage firmwaren. For at deaktivere firmwareopdateringstilstand og indstille ESP8266 til normal drift, skal du blot indstille P3 og P4 til OFF.

BEMÆRK: Alle 4 kontakter i OFF -positionen angiver, at ESP8266 fungerer i normal tilstand ved siden af Arduino

F (AD8 FRA ESP8266): pin -tildeling til ESP8266 ADC. En pin, der arbejder i området 0 til 1V og en anden pin, der arbejder i området 0 til 3,3V. Disse ben bruges kun, når der bruges ESP8266 alene (standalone -tilstand).

G (ESP8266 RESET): knap, der bruges til at nulstille ESP8266. Når du ændrer DIP-switches position, skal du trykke på knappen ESP-RST.

H (ANALOG PIN OG STRØMFORSYNING): sekvens af ben bruges af Arduino.

Dette skjold har en ejendommelighed i kontakterne P1 og P2 på DIP -switch og denne særegenhed, det genererer faktisk en stor tvivl hos de mennesker, der forsøger at bruge skjoldet.

Ifølge skjoldets skaber kræves der kun 2 ben, når du tilslutter det til Arduino. Disse ben ville være D0 og D1 (henholdsvis Arduinos RX og TX) og derudover skal DIP -switchens P1- og P2 -kontakter på skærmen være i ON -position for forbindelsen.

I et af de eneste kinesiske dokumenter, jeg har fået om dette skjold, siger skaberen af tavlen:

P1 og P2 er bitkodere og bruges til at bestemme, om ESP8266 -serien er forbundet til Arduino D0 og D1.

I et andet afsnit af dokumentet nævnes det:

Dette udvidelseskort holder Arduino -serien optaget og forbinder RX fra ESP8266 til TX fra Arduino og TX fra ESP8266 til Arduino RX.

Arduinos D0 (RX) og D1 (TX) pins svarer til native seriel / USB kommunikation, så disse pins forbliver optaget, når vi sender kode til kortet eller bruger den serielle skærm. Derfor, hvis P1- og P2 -kontakterne på skærmen er i ON -positionen, vil ESP8266 bruge Arduino D0 og D1, og det vil ikke være muligt at sende koder eller bruge serienummeret, da det vil være optaget. For at sende AT -kommandoer til skærmen er det desuden nødvendigt, at ESP8266 RX er forbundet til Arduino RX, og at ESP8266 TX er forbundet til Arduino TX. Dette vil kun ske, hvis vi inverterer forbindelserne som vist på billedet herunder:

Billede
Billede

Se jeg har bøjet skjoldets D0 og D1 kontakter og forbundet Arduino D0 til skjoldets D1 og Arduino D1 til skjoldets D0. Når jeg brugte forbindelsen på denne måde (Arduino blev brugt som en forbindelsesbro), kunne jeg sende AT -kommandoer til ESP8266 og bekræftede, hvad jeg allerede forestillede mig.

Skjoldets standardform for drift kræver, at der indlæses en kode (f.eks. Webserver eller firmware) i skjoldet, og en anden kode indlæses i Arduino for at sende, modtage og fortolke de data, der kommer gennem den native seriel. Flere detaljer om denne form for kommunikation ses i de næste trin.

Under alle omstændigheder forstyrrer denne funktion i skjoldet ikke dens drift, da vi normalt efterligner en føljeton på andre Arduino digitale stifter, så vi kan have den indbyggede serie tilgængelig. Hvis det er nødvendigt at sende AT -kommandoer til skjoldet, kan vi desuden tilslutte det til Arduino via fire kabler eller bruge en seriel USB -konverter.

Endelig var skjoldet meget stabilt og gjorde samlingen af kredsløb meget let. Jeg testede med Arduino Uno R3 og Mega 2560 R3.

I det næste trin lærer du, hvordan du opgraderer / ændrer skjoldets firmware.

Trin 2: Firmwareopgradering på ESP8266 ESP-12E UART Wireless WIFI Shield TTL-konverter til Arduino

For at slutte skjoldet til computeren er det nødvendigt at bruge en seriel USB -konverter. Hvis du ikke har en konventionel seriel USB -konverter, kan du bruge Arduino Uno R3 -konverteren som et mellemprodukt. Der er flere modeller af serielle USB -konvertere på markedet, men til denne vejledning brugte jeg PL2303HX TTL Serial USB Converter Adapter.

For at opgradere skjoldet skal du bruge:

ESP8266 Flash -downloadværktøjer

Firmwaren, der vil blive brugt, er:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware

Når du har downloadet programmet og firmwaren, skal du kopiere begge til roden (drev C) i dit Windows.

Unzip flash_download_tools_v2.4_150924.rar og FLASH_DOWNLOAD_TOOLS_v2.4_150924 mappen genereres.

Brug af Arduino Uno R3 seriel USB -konverter som mellemprodukt:

Det næste trin er at slutte skjoldet til computeren. Hvis du ikke har en standard seriel usb -konverter, kan du bruge Arduino Uno R3 til at bygge bro mellem skjoldet og computeren. Ud over Arduino Uno R3 med USB -kabel har du brug for:

01 - ESP8266 ESP -12E UART Trådløs WIFI Shield TTL -konverter04 - Han -hun -jumperkabler

BEMÆRK: Inden montering af Arduino -ledningsdiagrammet skal du indlæse en tom kode på kortet for at sikre, at den serielle USB -konverter ikke bruges. Indlæs koden herunder i din Arduino og fortsæt:

void setup () {// sæt din opsætningskode her, for at køre en gang:} void loop () {// sæt din hovedkode her, for at køre gentagne gange:}

Billede
Billede

BEMÆRK: Vær opmærksom, når du fastgør 3.3V -skærmstiften til Arduino.

Brug af den serielle TTL USB -konverteradapter PL2303HX:

Du skal bruge følgende ting ud over PL2303HX TTL Serial USB Converter Adapter:

01 - ESP8266 ESP -12E UART Trådløs WIFI Shield TTL -konverter04 - Han -hun -jumperkabler

Billede
Billede

BEMÆRK: PL2303 har 5V og 3V3 effekt. Brug 3V3 strøm og ignorer 5V pin

Når du har foretaget en af ovenstående tilslutningsplaner, skal du blot tilslutte USB -kablet (til Arduino og computeren) eller den serielle USB -konverter til computeren.

Gå derefter til 'Kontrolpanel' i Windows, 'Enhedshåndtering', og i vinduet, der åbnes, skal du gå til 'Porte (COM og LPT)'. Du kan se den tilsluttede enhed og COM -portnummeret, som den blev tildelt. Som en demonstration tilsluttede jeg både Arduino og den serielle USB -konverter på computeren, og på billedet herunder kan du se, hvordan enhederne vises i manageren:

Billede
Billede

Hvis du bruger PL2303HX, og det ikke genkendes af Windows, skal du åbne posten Serial TTL USB Converter PL2303HX - Installation i Windows 10, se hvordan du løser det og derefter vende tilbage for at fortsætte.

Gå nu til mappen FLASH_DOWNLOAD_TOOLS_v2.4_150924 og kør ESP_DOWNLOAD_TOOL_V2.4.exe:

Billede
Billede

Placer D3-switchens P3- og P4-kontakter på skjoldet i positionen ON, og tryk derefter på ESP-RST-knappen på kortet, så skærmen går over i firmwareopgraderingstilstand:

Billede
Billede

Når programmet er åbent, skal du fjerne markeringen af indstillingen 'SpiAutoSet', vælge COM -porten, markere 'BAUDRATE' 115200, fjerne markeringen i et afkrydsningsfelt markeret i 'Download Path Config', konfigurere de andre muligheder som vist herunder og klikke på 'START':

Billede
Billede

Hvis kommunikationen med ESP8266 WiFi Shield er i orden, vil du se oplysninger i 'OPLÆGT INFO', 'MAC -adresse' og 'SYNK':

Billede
Billede

BEMÆRK: Hvis programmet returnerer 'FAIL', skal du kontrollere, om du har valgt den korrekte COM-port, kontrollere, om P3- og P4-tasterne på DIP-kontakten er ON, klik på knappen ESP-RST, klik på STOP og klik igen på START.

I 'Download Path Config' skal du vælge filen 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' downloadet. Klik på '…' i det første felt, og i vinduet, der åbnes, naviger til mappen, hvor du placerede firmwaren, og vælg filen 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin'. I feltet 'ADDR' skal du udfylde forskydningen 0x00000 og markere afkrydsningsfeltet for at afslutte. Når du er færdig, har du indstillingerne som vist herunder:

Billede
Billede

Klik nu på START for at starte processen:

BEMÆRK: Hvis du bruger Arduino seriel USB-konverter som mellemprodukt mellem skærmen og computeren, skal du klikke på skjoldets ESP-RST-knap, før du klikker på START. Hvis du bruger en konventionel seriel USB -konverter, er denne procedure ikke nødvendig

Billede
Billede

Vent på, at firmwareopgraderingsprocessen er fuldført (det vil tage cirka syv minutter, før processen er færdig):

Billede
Billede

Efter endt firmwareopgraderingsproces skal du lukke vinduerne ESP_DOWNLOAD_TOOL_V2.4, returnere P3- og P4-kontakterne på DIP-kontakten til OFF-positionen og trykke på ESP-RST-knappen på skærmen, så den kan forlade firmwareopgraderingsfunktionen.

Åbn nu Arduino IDE, så du kan sende AT -kommandoer til kortet for at kontrollere, at firmwaren er blevet opdateret korrekt, og at kortet reagerer på kommandoerne.

Når IDE er åbent, skal du gå til menuen 'Værktøjer', og derefter vælge COM -porten under 'Port'. Bemærk på billedet herunder, at jeg valgte COM7 -porten (din port vil sandsynligvis være en anden):

Billede
Billede

Du behøver IKKE at vælge tavlen i IDE, da dette er irrelevant for at sende AT -kommandoer.

Åbn 'Serial Monitor', og kontroller i sidefoden, om hastigheden er indstillet til 115200, og om 'Både, NL og CR' er valgt:

Billede
Billede

Skriv nu kommandoen 'AT' (uden anførselstegn), og angiv 'ENTER' eller klik på 'Send'. Hvis forbindelsen fungerer, skal du returnere meddelelsen 'OK':

Billede
Billede

BEMÆRK: Hvis afsendelse af kommandoen IKKE modtager feedback eller modtager en tilfældig tegnstreng, skal du ændre hastigheden fra 115200 på den serielle skærm til 9600 og sende kommandoen igen

I 'Serial Monitor' skal du skrive kommandoen 'AT + GMR' (uden anførselstegn) og give 'ENTER' eller klikke på 'Send'. Hvis du modtager feedback som vist herunder, er dit ESP8266 WiFi Shield blevet opdateret:

Billede
Billede

Hvis du vil ændre kommunikationsbaudrate med 9600 -skjoldet, skal du indtaste kommandoen 'AT + UART_DEF = 9600, 8, 1, 0, 0' (uden citat) og give 'ENTER' eller klikke på 'Send'. Hvis du modtager oplysningerne som vist herunder, er kommunikationshastigheden ændret:

Billede
Billede

BEMÆRK: Når du ændrer skærmens baudrate, skal du også ændre hastigheden fra 115200 til 9600 i monitorens serielle sidefod. Send derefter kommandoen 'AT' igen (uden anførselstegn), og tryk på 'ENTER' eller klik på 'Send'. Hvis du modtager 'OK' som en retur, fungerer kommunikationen

Hvis du vil bruge skjoldet til at tildele WiFi til Arduino, er den ideelle kommunikationshastighed 9600 baud.

I det næste trin finder du ud af, hvilket skjold du har, da det er muligt at finde mindst tre skjolde på markedet, der ser ud til at være de samme, men faktisk har disse tavler nogle punkter, der adskiller dem, selv i spørgsmålet om arbejder med Arduino gennem kommunikation gennem den native seriel.

Trin 3: Shiald, Shield, More og Moer? Betyder det noget?

Hvis det er ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter, er det muligt at finde mindst tre tavler, der tilsyneladende er ens, men faktisk har disse tavler nogle punkter, der adskiller dem, selv i spørgsmålet om at arbejde med Arduino gennem indfødt seriel kommunikation.

Følgende kan du se, hvad der adskiller tavlerne og finde ud af, hvilken der er din.

Shiald WiFi ESP8266:

Billede
Billede

Bemærk, at på dette bord er ordet Shield skrevet "Shiald", og ordet "more" har "m" med små bogstaver. I de test, jeg lavede i lang tid, viste tavlen IKKE nogen fejl i dets funktion.

Skærm WiFi ESP8266:

Billede
Billede

Bemærk, at på dette bord er ordet Shield skrevet korrekt, og ordet "More" har "M" i store bogstaver. I forbindelse med betjeningen opfører dette bord sig på samme måde som Shiald -versionen, det vil sige, at kortet ikke er defekt.

Så du mener, at Shiald og Shield boards kun har forskelle i spørgsmålet om PCB silke?

Ja, disse to kort har kun forskel i spørgsmålet om skrivning af to ord. Kredsløbet på begge tavler er det samme, og begge fungerer perfekt med Arduino eller alene (standalone mode). I betragtning af at Arduino har den korrekte kode indlæst, og at et af skjoldene også er med den korrekte firmware, skal du blot sætte D1 -switchens P1- og P2 -kontakter i TIL -position efter at have sat skærmen til Arduino og tilslutte USB -kablet og kommunikationen gennem native seriel (ben D0 og D1) mellem kortene vil blive foretaget.

Nogle siger, at denne Shiald -version har den ustabile trådløse forbindelse, men jeg hævder, at der slet ikke er nogen ustabilitet.

Shield WiFi ESP8266 (Moer):

Billede
Billede

Bemærk, at på dette bord er ordet Shield skrevet korrekt, og ordet "More" er skrevet "Moer", det vil sige forkert. Desværre fungerer denne tavle ikke, som den skal, og hvis den er tilsluttet Arduino (med DIP -kontaktkontakterne OFF eller ON), og brugeren forsøger at indlæse en kode på Arduino, vises der en fejlmeddelelse i IDE'en som indlæsning mislykkes.

Hvis dit skjold er det, der kommer skrevet i Moer, og du har haft problemer med at bruge det med din Arduino gennem indfødt seriel kommunikation, skal du gå til det næste trin og lære at løse problemet. Hvis dit skjold IKKE ER MOER, skal du springe til trin 5.

Trin 4: Shield Moer - Løsning af RX / TX seriel kommunikation

Hvis dette kort (Moer) er koblet til Arduino (med DIP -kontaktkontakterne OFF eller ON), og brugeren forsøger at indlæse en kode på Arduino, vises der en fejlmeddelelse i IDE, da belastningen mislykkes. Dette skyldes en komponentfejl, der bruges i skærmkonstruktion.

Skjoldet, der har korrekt konstruktion og drift, har svejset to Channel N MOSFET'er og er identificeret som J1Y. Den ene af J1Y -transistorer er forbundet til ESP8266 RX, og den anden er forbundet til ESP8266 TX. På billedet herunder kan du se de to transistorer fremhævet:

Billede
Billede

Denne J1Y transistor er en BSS138, hvis formål er at gøre det muligt for 5V logiske niveau kredsløb at kommunikere med 3.3V logiske niveau kredsløb og omvendt. Da ESP8266 har et logisk niveau på 3,3V, og Arduino har et logisk niveau på 5V, er det nødvendigt at bruge en logisk niveauomformer for at sikre den perfekte drift af ESP8266.

I skjoldet Moer er der loddet på brættet to transistorer identificeret som J3Y. På billedet herunder kan du se de to transistorer fremhævet:

Billede
Billede

J3Y -transistoren er en S8050 NPN, og denne type transistor bruges almindeligvis i forstærkerkredsløb. Af en eller anden grund på tidspunktet for konstruktionen af skjoldet Moer brugte de transistoren J3Y i stedet for konverteren til logisk niveau J1Y.

På denne måde fungerer ESP8266's RX- og TX -ben ikke som de skal, og derfor vil skjoldet ikke have nogen seriel kommunikation med Arduino. Da skjoldet kommunikerer med Arduino gennem den indfødte serie (ben D0 og D1), vil det aldrig blive gennemført med succes, fordi det i nogle tilfælde altid vil være cirka 2,8 V i RX og Arduino TX eller konstant 0V, alt på grund af de forkerte transistorer.

Efter alle disse oplysninger er det klart, at den eneste løsning for skjoldet Moer er udskiftning af J3Y -transistorer med J1Y -transistorer. Til denne procedure skal du ud over tålmodighedens skjold Moer og:

01 - Loddejern01 - Tin01 - Pincet eller nåletang01 - Svejsesukker02 - BSS138 (J1Y)

BSS138 (J1Y) transistoren bruges i 3.3V / 5V Logic Level Converter.

BEMÆRK: Følgende procedure kræver, at du ved, hvordan du håndterer et loddejern, og at du har mindst svejserfaring. De komponenter, der vil blive fjernet, og dem, der vil blive udskiftet, er SMD -komponenter og kræver større omhu og tålmodighed ved svejsning med et almindeligt loddejern. Vær forsigtig med ikke at forlade loddejernet for længe ved transistorterminalerne, da dette kan beskadige dem

Opvarm en af transistorterminalerne med det varme loddejern, og kom lidt tin i. Udfør denne procedure for hver af terminalerne på de to transistorer. Overdreven svejsning ved terminalerne vil gøre det lettere at fjerne transistorer:

Billede
Billede

Tag nu pincetten / tangen, hold transistoren ved siderne, varm siden af transistoren, der kun har en terminal, og tving transistoren op, så terminalen løsner fra loddet. Stadig med pincetten / tangen, der holder transistoren, kan du prøve at placere spidsen af loddejernet mod de to andre terminaler og tvinge transistoren til at frigive den fra brættet. Gør dette for begge transistorer og vær meget forsigtig:

Billede
Billede

Fjernede de to J3Y IC'er fra skjoldet, placer blot J1Y IC på plads, hold den med pincetten / tangen, og varm hver ende af skjoldet op, så blikket slutter sig til kontakten. Hvis kontakterne er lavt lodde, opvarmes hver enkelt og lægges mere tin. Gør dette for begge transistorer og vær meget forsigtig:

Billede
Billede

Efter reparationen begyndte dets skjold, der tidligere ikke havde nogen direkte kommunikation med Arduino, at have forbindelse til kortet via den indfødte serie (stifter D0 og D1).

En første test for at bekræfte, at reparationen var vellykket, er at fastgøre skærmen (med alle DIP -kontaktkontakter OFF) til Arduino, tilslutte USB -kablet til kortet og computeren og forsøge at indlæse en kode i Arduino. Hvis alt er i orden, indlæses koden med succes.

Trin 5: Webserver med ESP8266 ESP-12E UART Wireless WIFI Shield TTL-konverter til Arduino

Som et primært krav for at fortsætte dette trin skulle du have udført trin 2.

Som jeg nævnte tidligere, for at kunne bruge skjoldet med Arduino gennem den indfødte serie (ben D0 og D1), er det nødvendigt, at en kode indlæses i skjoldet, og at Arduino indlæses en anden kode til at sende, modtage og fortolke data, der er handlet gennem den indfødte serie. I skjoldet kan vi sætte en firmware med AT -kommandoer og programmere Arduino til at sende kommandoerne til skjoldet for at oprette forbindelse til et WiFi -netværk og kontrollere ind- og udgange af Arduino.

I dette trin vil vi bruge WiFiESP -biblioteket, da det allerede har alle de nødvendige funktioner til at integrere ESP8266 (Shield WiFi ESP8266 i vores tilfælde) til Arduino og tildele WiFi til kortet. WiFiESP -biblioteket fungerer ved at sende AT -kommandoer, derefter vil routerens trådløse netværksforbindelse og enhver anmodning til webserveren resultere i afsendelse af AT -kommandoer til skjoldet.

For at WiFiESP -biblioteket fungerer, skal firmwareversionen af AT -kommandoen være mindst 0,25 eller højere. Så hvis du ikke kender AT -kommandoversionen af dit skjold, skal du gå til trin 2 for at opdatere kortet med firmware, der har en AT -kommandoversion på 1.2.0.0 og derefter vende tilbage for at fortsætte.

En ting, jeg identificerede under mine test med skjoldet og Arduino, er, at fordi kommunikationen mellem dem sker gennem den indfødte serie (stifter D0 og D1), bliver det nødvendigt, at føljetonen er eksklusiv til kommunikation mellem dem. Derfor anbefaler jeg ikke at bruge "Serial.print () / Serial.println ()" til at udskrive oplysninger om Arduino IDE seriel skærm eller andet program, der viser serielle oplysninger.

Som standard er WiFiESP -biblioteket konfigureret til at vise serielle fejl, advarsler og andre kommunikationsoplysninger mellem Arduino og ESP8266. Som jeg nævnte før, skulle serien blive frigivet til kommunikation mellem Arduino og skjoldet. Derfor redigerede jeg en fil fra biblioteket og deaktiverede visningen af alle oplysninger i serien. Den eneste information, der vil blive vist på den serielle skærm, er de AT -kommandoer, biblioteket sender til skjoldet for at oprette forbindelse til det trådløse netværk eller AT -kommandoerne for at udføre anmodninger til webserveren.

Download det ændrede WiFIESP -bibliotek og installer det i Arduino IDE:

WiFIESP Mod

I biblioteksinstallationsmappen skal du blot få adgang til stien "WiFiEsp-master / src / utility", og inde i den er filen "debug.h", der blev redigeret for at deaktivere visning af oplysninger om serien. Når vi åbner filen i Notepad ++, har vi f.eks. Linjer 25, 26, 27, 28 og 29, der viser en tilsvarende nummerering for de typer oplysninger, der vises på den serielle skærm. Bemærk, at tallet 0 deaktiverer visning af alle oplysninger på den serielle skærm. Endelig konfigurerede jeg i linje 32 "_ESPLOGLEVEL_" med værdi 0:

Billede
Billede

Hvis du vil bruge WiFiESP -biblioteket i andre projekter med ESP8266 og har brug for, at oplysningerne vises på den serielle skærm, skal du blot indstille "_ESPLOGLEVEL_" til værdi 3 (bibliotekets standardværdi) og gemme filen.

Da dit skjold allerede har AT -kommando -firmwareversion 0.25 eller højere, lad os fortsætte.

Sæt skjoldet på din Arduino (Uno, Mega, Leonardo eller en anden version, der gør det muligt at montere skjoldet), sæt alle DIP -switchkontakter i OFF -positionen, tilslut en LED mellem pin 13 og GND, og tilslut USB -kablet til Arduino og computeren:

Billede
Billede

Jeg brugte Arduino Mega 2560, men slutresultatet vil være det samme, hvis du bruger et andet Arduino -kort, der gør det muligt at koble skjoldet.

Download koden fra linket, og åbn den i Arduino IDE:

Kode webserver

Hvis du bruger Arduino Leonardo, skal du gå til linje 19 og 20 i koden og ændre ordet Serial til Serial1, som vist på billedet herunder:

Billede
Billede

I koden skal du indtaste navnet på dit WiFi -netværk i linjen char * ssid = "NAVN PÅ DIT WIFI -NETVÆRK"; adgangskoden skal indtastes i linjen char * password = "PASSWORD OF YOUR WIFI NETWORK"; og på linjen WiFi.config (IPAddress … skal du indtaste en tilgængelig IP -adresse på dit trådløse netværk, da denne kode bruger statisk IP:

Billede
Billede

Vælg "Board" i menuen "Værktøjer", og vælg modellen af din Arduino. Stadig i menuen "Værktøjer" skal du vælge "Port" og kontrollere COM -porten, som din Arduino er blevet tildelt.

Klik på knappen for at sende koden til Arduino og vente på indlæsning.

Når du har indlæst koden på Arduino, skal du afbryde USB -kablet fra kortet, sætte P1- og P2 -kontakterne på DIP -kontakten på skærmen i ON -positionen og tilslut USB -kablet til Arduino igen.

BEMÆRK: Så længe skærmens P1- og P2 -kontakter er i ON -positionen, vil du ikke kunne sende koder til Arduino, fordi den native seriel vil være optaget. Husk, at hver gang du ændrer kontakten DIP-switches position, skal du trykke på knappen ESP-RST

Åbn straks Arduino IDE seriel skærm:

Billede
Billede

Med den serielle skærm åben kan du følge de AT -kommandoer, der sendes til skjoldet for at køre webserveren. Hvis der ikke vises nogen oplysninger, når du åbner den serielle skærm, skal du trykke på RESET -knappen på din Arduino og vente.

Bemærk, at på den serielle skærm viser kommandoen "AT + CIPSTA_CUR" IP -adressen, der skal oprette forbindelse til webserveren, og kommandoen "AT + CWJAP_CUR" viser navnet og adgangskoden til det trådløse netværk, som skjoldet er tilsluttet:

Billede
Billede

Kopier den IP -adresse, der vises på den serielle skærm, åbn din internetbrowser, indsæt IP -adressen, og tryk på ENTER for at få adgang. En webside, der ligner den nedenfor, indlæses:

Billede
Billede

Websiden har en knap, der er ansvarlig for at tænde / slukke LED'en, der er forbundet til pin 13 på Arduino. Tryk på knappen for at tænde / slukke LED'en og se, at den aktuelle status er opdateret på siden.

Du kan f.eks. Også få adgang til websiden via en smartphone eller tablet.

Se videoen herunder for det endelige resultat:

Dette var en simpel praksis, fordi formålet var at vise, hvor let det er at bruge skjoldet med Arduino. Alle de projekter, du finder på internettet, der bruger ESP8266 til at tildele WiFi til Arduino, kan gengives med dette WiFi -skjold, forskellen er, at du ikke behøver at montere spændingsdelere i protoboardet for at kommunikere platforme og i enkle projekter behøver du ikke bekymre dig om at forsyne kredsløbet med ekstern strømforsyning. Derudover vil dit projekt have en meget mere behagelig æstetik.

Nu hvor du ved, hvordan du integrerer Shield WiFi ESP8266 med Arduino fra en webserver, skal du blot ændre koden og implementere et mere detaljeret projekt eller begynde at udvikle din egen kode.

Endnu en gang undskyld for fejlene på engelsk.

Hvis du har spørgsmål om skjoldet, skal du bare spørge, og jeg svarer gerne.

Anbefalede: