Innholdsfortegnelse:

ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omformer Ukomplisert: 5 trinn
ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omformer Ukomplisert: 5 trinn

Video: ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omformer Ukomplisert: 5 trinn

Video: ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omformer Ukomplisert: 5 trinn
Video: Как Прошить ESP8266: ESP12, ESP01 2024, Juni
Anonim
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Ukomplisert
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Ukomplisert

Denne veiledningen er ment å hjelpe folk som har kjøpt ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omformer og ikke vet hvordan de skal bruke den med Arduino.

Opprinnelig ble denne opplæringen skrevet på portugisisk her i Brasil. Jeg prøvde så godt jeg kunne å skrive det på engelsk. Så tilgi meg for noen feil som kan være skriftlig.

Denne instruksen ble delt inn som følger:

Trinn 1: Bli kjent med ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omformer for Arduino

Trinn 2: Fastvareoppgradering på ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter for Arduino

Trinn 3: Shiald, Shield, More og Moer? Gjør det noe?

Trinn 4: Shield Moer - Løse RX / TX seriell kommunikasjon

Trinn 5: Webserver med ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter for Arduino

Jeg anbefaler at du leser alle trinnene for å lære så mye som mulig om dette skjoldet.

Trinn 1: Bli kjent med ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omformer for Arduino

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter (Shield WiFi ESP8266) gjør det enkelt å koble Arduino til WiFi-nettverk gjennom ESP8266. Når du bruker den, er det ikke lenger nødvendig å montere en krets med flere komponenter og ledninger for å koble en ESP8266 til Arduino, bare fest kortet til Arduino, plasser DIP -bryterbanen i henhold til skjermens driftsmodus og programmer Arduino til koble til WiFi -nettverk. I tillegg kan brettet brukes uten Arduino, siden det har alle pin-outs på ESP-12E tilgjengelig.

I skjoldet er det informasjonen om at den ble opprettet av en person som heter WangTongze og som eier rettighetene til den er elecshop.ml. Opprinnelig prøvde skjoldets skaper å skaffe midler til prosjektet sitt gjennom Indiegogo (kollektivt finansieringsnettsted), men han lyktes ikke med å skaffe penger.

Funksjoner i ESP8266 modell ESP-12E:

- 32-biters RISC-arkitektur- Prosessor kan operere med 80MHz / 160MHz- 32MB flashminne- 64kB for instruksjoner- 96kB for data- Standard innebygd WiFi 802.11b / g / n- Opererer i AP-, stasjon- eller AP + -stasjonsmodus- Den har 11 digitale pinner- Den har 1 analog pinne med 10-biters oppløsning- Digitale pinner unntatt D0 har avbrudd, PWM, I2C og en ledning- Programmerbar via USB eller WiFi (OTA)- Kompatibel med Arduino IDE- Kompatibel med moduler og sensorer som brukes i Arduino

Nedenfor kan du lese hovedtrekkene til dette skjoldet:

- Størrelsen på Arduino Uno R3 og festet er kompatibel med Arduino Uno, Mega 2560, Leonardo og derivater.- Mindre versjoner av Arduino (for eksempel Nano og Pro Mini) er kompatible, men tilkoblinger må gjøres gjennom hoppere.- Arduinospenning (5V) brukes til å drive skjoldet.- Har AMS1117 3.3V spenningsregulator, så 5V spenningen levert av Arduino reduseres for å drive skjoldet uten behov for ekstern strøm.- Den har innebygd logisk nivåomformer, så Arduino TTL-nivå (5V) ikke skader ESP8266 som opererer med TTL 3.3V-nivå.- Den har en 4-veis DIP-bryter som tjener til å endre styremodusene.- Tilgjengelige driftsmoduser: WiFi Shield for Arduino / sender AT-kommandoer gjennom Arduino / fastvareoppgradering via USB Seriell ekstern / frittstående omformer.- Den har indikative lysdioder (PWR / DFU / AP / STA).- Fordi den er i skjermformat, tillater det at andre skjold og moduler settes inn.- Den har ESP-RST-knappen for å tilbakestille ESP8266.- Th e ESP8266 ADC -pinne er tilgjengelig i to former på tavlen, den første på en pinne med 0 til 1V leseområde og den andre formen i området 0 til 3.3V.

I bildet fremheves hoveddelene av skjoldet:

Bilde
Bilde

A (DIGITAL PINS): sekvens av pinner som brukes av Arduino.

B (ESP8266 PINS): ESP8266-12E og deres respektive pinner. På baksiden av platen er det nomenklaturen til pinnene.

C (EKSTERN SERIAL USB -ADAPTER -TILKOBLING): Pinsekvens som brukes til å koble til den eksterne serielle USB -adapteren for fastvareoppdatering eller feilsøking av ESP8266.

D (SHIELD MAINTENANCE PINS): En tre-pinners sekvens identifisert som bare vedlikehold og brukes til å kontrollere at spenningsregulatoren mottar og leverer spenningene riktig. DET SKAL IKKE BRUKES SOM LEVERANSEKILDE.

E (DIP SWITCH TO MODIFY DRIFTSMODUS): Fireveis DIP-bryter for å endre driftsmodi.

KONTAKT 1 (P1) og KONTAKT 2 (P2): brukes til å koble RX (representert ved P1) og TX (representert med P2) på ESP8266 til Arduino D0 (RX) og D1 (TX) pinnene. P1 og P2 i OFF -posisjon deaktiverer RX -tilkoblingen fra ESP8266 til Arduino TX og TX fra ESP8266 til Arduino RX.

KONTAKT 3 (P3) og KONTAKT 4 (P4): brukes til å aktivere og deaktivere fastvareoppgraderingsmodus for ESP8266. For å aktivere fastvare / skrive / laste på ESP8266, må P3 og P4 være i PÅ -posisjon. Når P4 er i PÅ -posisjon, lyser DFU -LED -en for å indikere at ESP8266 er aktivert for å motta fastvaren. For å deaktivere fastvareoppdateringsmodus og sette ESP8266 til normal drift, sett P3 og P4 til OFF.

MERK: Alle 4 kontaktene i AV -posisjon indikerer at ESP8266 fungerer i normal modus ved siden av Arduino

F (AD8 FRA ESP8266): pin -tildeling for ESP8266 ADC. En pinne som opererer i området 0 til 1V og en annen pinne som opererer i området 0 til 3,3V. Disse pinnene vil bare bli brukt når du bruker ESP8266 alene (frittstående modus).

G (ESP8266 RESET): knapp som brukes til å tilbakestille ESP8266. Når du endrer posisjonen til DIP-bryterne, må du trykke på ESP-RST-knappen.

H (ANALOG PIN OG STRØMFORSYNING): sekvens av pinner som brukes av Arduino.

Dette skjoldet har en særegenhet i kontaktene P1 og P2 til DIP -bryteren og denne særegenheten, det genererer faktisk en stor tvil hos menneskene som prøver å bruke skjoldet.

I følge skjoldets skaper vil det bare kreves 2 pinner når du kobler det til Arduino. Disse pinnene ville være D0 og D1 (henholdsvis Arduinos RX og TX), og i tillegg må DIP -bryterens P1- og P2 -kontakter på skjermen være i PÅ -posisjon for tilkoblingen.

I et av de eneste kinesiske dokumentene jeg har fått om dette skjoldet, sier skaperen av tavlen:

P1 og P2 er bitkodere og brukes til å avgjøre om ESP8266 -serien er koblet til Arduino D0 og D1.

I en annen del av dokumentet nevnes det:

Dette ekspansjonskortet holder Arduino -serien opptatt, og kobler RX fra ESP8266 til TX fra Arduino og TX fra ESP8266 til Arduino RX.

Arduinos D0 (RX) og D1 (TX) pinner tilsvarer innfødt seriell / USB kommunikasjon, så disse pinnene forblir opptatt hver gang vi sender kode til kortet eller bruker den serielle skjermen. Derfor, hvis P1- og P2 -kontaktene til skjoldet er i PÅ -posisjon, vil ESP8266 bruke Arduino D0 og D1, og det vil ikke være mulig å sende koder eller bruke serienummeret, da det vil være opptatt. I tillegg, for å sende AT -kommandoer til skjoldet, er det nødvendig at ESP8266 RX er koblet til Arduino RX og at ESP8266 TX er koblet til Arduino TX. Dette vil bare skje hvis vi inverterer tilkoblingene som vist på bildet nedenfor:

Bilde
Bilde

Se jeg har bøyd D0- og D1 -kontaktene på skjoldet, og koblet Arduino D0 til skjermens D1 og Arduino D1 til skjermens D0. Når jeg brukte tilkoblingen på denne måten (Arduino ble brukt som en tilkoblingsbro), kunne jeg sende AT -kommandoer til ESP8266 og bekreftet det jeg allerede forestilte meg.

Skjoldets standard driftsform krever at en kode (for eksempel webserver eller fastvare) lastes inn i skjoldet og en annen kode lastes inn i Arduino for å sende, motta og tolke dataene som kommer gjennom den opprinnelige serien. Flere detaljer om denne kommunikasjonsformen vil bli sett i de neste trinnene.

Uansett, denne funksjonen til skjoldet forstyrrer ikke driften, siden vi vanligvis etterligner en serie på andre Arduino digitale pins slik at vi kan ha den opprinnelige serien tilgjengelig. I tillegg, hvis det er nødvendig å sende AT -kommandoer til skjoldet, kan vi koble det til Arduino gjennom fire kabler eller bruke en seriell USB -omformer.

Til slutt var skjoldet veldig stabilt og gjorde montering av kretser veldig enkelt. Jeg testet med Arduino Uno R3 og Mega 2560 R3.

I neste trinn lærer du hvordan du oppgraderer / endrer skjermens fastvare.

Trinn 2: Fastvareoppgradering på ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter for Arduino

For å koble skjermen til datamaskinen er det nødvendig å bruke en seriell USB -omformer. Hvis du ikke har en konvensjonell seriell USB -omformer, kan du bruke Arduino Uno R3 -omformeren som mellomprodukt. Det er flere modeller av serielle USB -omformere på markedet, men for denne opplæringen brukte jeg PL2303HX TTL Serial USB Converter Adapter.

For å oppgradere skjoldet, bruk:

ESP8266 Flash -nedlastingsverktøy

Fastvaren som skal brukes er:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT-fastvare

Når du har lastet ned programmet og fastvaren, kopierer du begge til roten (stasjon C) i Windows.

Pakk ut flash_download_tools_v2.4_150924.rar og FLASH_DOWNLOAD_TOOLS_v2.4_150924 mappen vil bli generert.

Bruke Arduino Uno R3 seriell USB -omformer som mellomprodukt:

Det neste trinnet er å koble skjermen til datamaskinen. Hvis du ikke har en standard seriell usb -omformer, kan du bruke Arduino Uno R3 til å bygge bro mellom skjermen og datamaskinen. I tillegg til Arduino Uno R3 med USB -kabel trenger du:

01 - ESP8266 ESP -12E UART Trådløs WIFI -skjerm TTL -omformer04 - Mann -hunnkabel

MERK: Før du monterer Arduino -koblingsskjemaet, må du legge inn en tom kode på kortet for å sikre at den serielle USB -omformeren ikke brukes. Last inn koden nedenfor i Arduino og fortsett:

void setup () {// legg oppsettskoden her, for å kjøre en gang:} void loop () {// legg hovedkoden din her, for å kjøre gjentatte ganger:}

Bilde
Bilde

MERK: Vær oppmerksom når du fester 3.3V -skjoldpinnen til Arduino.

Bruke den serielle TTL USB -omformeradapteren PL2303HX:

Du trenger følgende elementer i tillegg til PL2303HX TTL Serial USB Converter Adapter:

01 - ESP8266 ESP -12E UART Trådløs WIFI -skjerm TTL -omformer04 - Mann -hunnkabel

Bilde
Bilde

MERK: PL2303 har 5V og 3V3 effekt. Bruk 3V3 strøm og ignorer 5V pin

Etter at du har gjort et av de ovennevnte tilkoblingsoppsettene, kobler du bare USB -kabelen (til Arduino og datamaskinen) eller den serielle USB -omformeren til datamaskinen.

Gå deretter til 'Kontrollpanel' i Windows, 'Enhetsbehandling', og i vinduet som åpnes, gå til 'Porter (COM og LPT)'. Du kan se den tilkoblede enheten og COM -portnummeret den ble tildelt. Som en demonstrasjon koblet jeg både Arduino og den serielle USB -omformeren til datamaskinen, og på bildet nedenfor kan du se hvordan enhetene vises i lederen:

Bilde
Bilde

Hvis du bruker PL2303HX og den ikke blir gjenkjent av Windows, kan du gå til posten Serial TTL USB Converter PL2303HX - Installasjon i Windows 10, se hvordan du løser det og deretter gå tilbake for å fortsette.

Gå nå til mappen FLASH_DOWNLOAD_TOOLS_v2.4_150924 og kjør ESP_DOWNLOAD_TOOL_V2.4.exe:

Bilde
Bilde

På skjoldet plasserer du P3- og P4-kontaktene til DIP-bryteren i PÅ-posisjonen, og trykker deretter på ESP-RST-knappen på kortet slik at skjermen går inn i oppgraderingsmodus for fastvare:

Bilde
Bilde

Når programmet er åpent, fjerner du merket for 'SpiAutoSet' -alternativet, velger COM -porten, velger 'BAUDRATE' 115200, fjerner en avmerkingsboks som er merket i 'Last ned stikkonfigurasjon', konfigurerer de andre alternativene som vist nedenfor og klikker på 'START':

Bilde
Bilde

Hvis kommunikasjonen med ESP8266 WiFi Shield er OK, vil du se informasjon i 'OPPDAGET INFO', 'MAC -adresse' og 'SYNK':

Bilde
Bilde

MERK: Hvis programmet returnerer 'FAIL', sjekk om du har valgt riktig COM-port, sjekk om P3- og P4-tastene på DIP-bryteren er PÅ, klikk på ESP-RST-knappen, klikk på STOPP og klikk deretter på START igjen.

I 'Download Path Config' bør du velge filen 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' som er lastet ned. Klikk på '…' i det første feltet, og i vinduet som åpnes, naviger til mappen der du plasserte fastvaren og velg filen 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin'. I 'ADDR' -feltet fyller du ut forskyvningen 0x00000 og merker av for å fullføre. Når du er ferdig, vil du ha innstillingene som vist nedenfor:

Bilde
Bilde

Klikk nå START for å starte prosessen:

MERK: Hvis du bruker Arduino seriell USB-omformer som et mellomprodukt mellom skjermen og datamaskinen, klikker du på skjermens ESP-RST-knapp før du klikker på START. Hvis du bruker en konvensjonell seriell USB -omformer, er denne fremgangsmåten ikke nødvendig

Bilde
Bilde

Vent til oppgraderingen av fastvaren er fullført (det vil ta omtrent syv minutter før prosessen er fullført):

Bilde
Bilde

Etter at du har fullført oppgraderingen av fastvaren, lukker du vinduene ESP_DOWNLOAD_TOOL_V2.4, setter P3- og P4-kontaktene på DIP-bryteren tilbake til AV-posisjon og trykker på ESP-RST-knappen på skjermen slik at den kan gå ut av oppgraderingsmodus for fastvare.

Åpne nå Arduino IDE slik at du kan sende AT -kommandoer til brettet for å bekrefte at fastvaren er oppdatert riktig og at brettet reagerer på kommandoene.

Med IDE åpen, gå til "Verktøy" -menyen, og velg deretter COM -porten i "Port" -alternativet. Legg merke til på bildet nedenfor at jeg valgte COM7 -porten (porten din vil sannsynligvis være annerledes):

Bilde
Bilde

Du trenger IKKE å velge brettet i IDE ettersom dette er irrelevant for å sende AT -kommandoer.

Åpne 'Seriell monitor' og i bunnteksten sjekk om hastigheten er satt til 115200 og om 'Både, NL og CR' er valgt:

Bilde
Bilde

Skriv inn kommandoen 'AT' (uten anførselstegn) og gi 'ENTER' eller klikk 'Send'. Hvis tilkoblingen fungerer, må du returnere "OK" -meldingen:

Bilde
Bilde

MERK: Hvis kommandoen IKKE mottar tilbakemelding eller mottar en tilfeldig tegnstreng, må du endre hastigheten fra 115200 på den serielle skjermen til 9600 og sende kommandoen på nytt

I 'Serial Monitor' skriver du kommandoen 'AT + GMR' (uten anførselstegn) og gir 'ENTER' eller klikker 'Send'. Hvis du får tilbakemelding som vist nedenfor, har ESP8266 WiFi Shield blitt oppdatert:

Bilde
Bilde

Hvis du vil endre kommunikasjonsoverføringshastigheten med 9600 -skjoldet, angir du kommandoen 'AT + UART_DEF = 9600, 8, 1, 0, 0' (uten anførsel) og gir 'ENTER' eller klikker 'Send'. Hvis du mottar informasjonen som vist nedenfor, har kommunikasjonshastigheten endret seg:

Bilde
Bilde

MERK: Når du endrer skjermens baudrate, bør du også endre hastigheten fra 115200 til 9600 i Monitor Serial -bunnteksten. Send deretter 'AT' -kommandoen igjen (uten anførselstegn) og trykk 'ENTER' eller klikk 'Send'. Hvis du mottar "OK" som en retur, fungerer kommunikasjonen

Hvis du vil bruke skjoldet til å tildele WiFi til Arduino, er den ideelle kommunikasjonshastigheten 9600 baud.

I neste trinn vil du finne ut hvilket skjold du har, siden det er mulig å finne minst tre skjold på markedet som ser ut til å være like, men faktisk har disse brettene noen punkter som skiller dem, selv i spørsmålet om arbeider med Arduino gjennom kommunikasjon gjennom den opprinnelige serien.

Trinn 3: Shiald, Shield, More og Moer? Gjør det noe?

Hvis det er ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omformer, er det mulig å finne minst tre brett som tilsynelatende er like, men faktisk har disse brettene noen punkter som skiller dem, selv i spørsmålet om å jobbe med Arduino gjennom innfødt seriell kommunikasjon.

Følgende kan du se hva som skiller tavlene og finne ut hvilken som er din.

Shiald WiFi ESP8266:

Bilde
Bilde

Vær oppmerksom på at på dette tavlen er ordet Shield skrevet "Shiald" og ordet "more" har "m" med små bokstaver. I testene jeg gjorde lenge viste brettet IKKE noen feil i funksjonen.

Skjerm WiFi ESP8266:

Bilde
Bilde

Vær oppmerksom på at på dette tavlen er ordet Shield riktig skrevet, og ordet "More" har "M" i store bokstaver. Når det gjelder drift, oppfører dette brettet seg på samme måte som Shiald -versjonen, det vil si at brettet ikke er defekt.

Så du mener at Shiald- og Shield -platene bare har forskjeller i spørsmålet om PCB -silke?

Ja, disse to kortene har bare forskjell når det gjelder skriving av to ord. Kretsen på begge brettene er den samme, og begge fungerer perfekt med Arduino eller alene (frittstående modus). Med tanke på at Arduino har riktig kode lastet inn og at en av skjoldene også er med riktig fastvare, kan du ganske enkelt sette P1- og P2 -kontaktene til DIP -bryteren i PÅ -posisjonen etter å ha festet skjermen til Arduino og koble til USB -kabelen. og kommunikasjonen gjennom native seriell (pins D0 og D1) mellom kortene vil bli utført.

Noen sier at denne Shiald -versjonen har den ustabile trådløse tilkoblingen, men jeg hevder at det ikke er noen ustabilitet i det hele tatt.

Shield WiFi ESP8266 (Moer):

Bilde
Bilde

Vær oppmerksom på at på dette tavlen er ordet Shield skrevet riktig og ordet "More" er skrevet "Moer", det vil si feil. Dessverre fungerer ikke dette kortet som det skal, og hvis det er festet til Arduino (med DIP -bryterkontaktene AV eller PÅ) og brukeren prøver å laste inn en kode på Arduino, vil en feilmelding vises i IDE som innlasting mislykkes.

Hvis skjoldet ditt er det som kommer skrevet i Moer, og du har hatt problemer med å bruke det med Arduino gjennom innfødt seriell kommunikasjon, går du til neste trinn og lærer hvordan du løser problemet. Hvis skjoldet ditt IKKE ER MOER, gå til trinn 5.

Trinn 4: Shield Moer - Løse RX / TX seriell kommunikasjon

Hvis dette kortet (Moer) er koblet til Arduino (med DIP -bryterkontaktene AV eller PÅ) og brukeren prøver å laste inn en kode på Arduino, vil en feilmelding vises i IDE ettersom lasten mislykkes. Dette skyldes en komponentfeil som brukes i skjoldkonstruksjon.

Skjoldet som har riktig konstruksjon og drift, har sveiset to Channel N MOSFETs og er identifisert som J1Y. En av J1Y -transistorene er koblet til ESP8266 RX og den andre er koblet til ESP8266 TX. På bildet nedenfor kan du se de to transistorene uthevet:

Bilde
Bilde

Denne J1Y -transistoren er en BSS138 hvis formål er å gjøre 5V logiske nivåkretser i stand til å kommunisere med 3.3V logiske nivåkretser og omvendt. Siden ESP8266 har et logisk nivå på 3,3V og Arduino har et logisk nivå på 5V, er det nødvendig å bruke en logisk nivåomformer for å sikre perfekt drift av ESP8266.

I skjoldet Moer er det loddet på brettet to transistorer identifisert som J3Y. På bildet nedenfor kan du se de to transistorene uthevet:

Bilde
Bilde

J3Y -transistoren er en S8050 NPN, og denne typen transistorer brukes ofte i forsterkerkretser. Av en eller annen grunn på tidspunktet for konstruksjonen av skjoldet Moer brukte de transistoren J3Y i stedet for omformeren til logisk nivå J1Y.

På denne måten vil ESP8266s RX- og TX -pinner ikke fungere som de skal, og derfor vil skjoldet ikke ha noen seriell kommunikasjon med Arduino. Ettersom skjoldet kommuniserer med Arduino gjennom den opprinnelige serien (pinner D0 og D1), vil det aldri kobles til Arduino -koden (i Arduino), for i noen tilfeller vil det alltid være omtrent 2,8V i RX og Arduino TX eller konstant 0V, alt på grunn av feil transistorer.

Etter all denne informasjonen er det klart at den eneste løsningen for skjoldet Moer er å erstatte J3Y -transistorer med J1Y -transistorer. For denne prosedyren trenger du i tillegg til tålmodighetens skjold Moer, og:

01 - Loddejern01 - Tinn01 - Tang eller nåletang01 - Sveisesug02 - BSS138 (J1Y)

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

MERK: Følgende prosedyre krever at du vet hvordan du håndterer et loddejern, og at du har minst sveiseerfaring. Komponentene som skal fjernes og de som skal byttes ut er SMD -komponenter og krever større forsiktighet og tålmodighet ved sveising med et vanlig loddejern. Vær forsiktig så du ikke lar loddejernet stå for lenge ved transistorterminalene, da dette kan skade dem

Med det varme loddejernet, varm en av transistorterminalene og legg litt tinn. Utfør denne prosedyren for hver av terminalene til de to transistorene. Overflødig sveising ved terminalene vil gjøre det lettere å fjerne transistorene:

Bilde
Bilde

Ta nå pinsett / tang, hold transistoren i sidene, varm siden av transistoren som bare har en terminal og tving transistoren opp slik at terminalen løsner fra loddetinnet. Fremdeles med pinsetten / tangen som holder transistoren, kan du prøve å plassere spissen av loddejernet mot de to andre terminalene og tvinge transistoren opp for å frigjøre den fra brettet. Gjør dette for begge transistorer og vær veldig forsiktig:

Bilde
Bilde

Fjernet de to J3Y IC -ene fra skjoldet, bare plasser J1Y IC på plass, hold den med pinsett / tang og varm opp hver ende av skjoldet slik at tinnet blir koblet til kontakten. Hvis kontaktene er lavlodde, varm hver og legg mer tinn. Gjør dette for begge transistorer og vær veldig forsiktig:

Bilde
Bilde

Etter reparasjonen begynte skjoldet som tidligere ikke hadde noen direkte kommunikasjon med Arduino, å ha forbindelse til kortet gjennom den opprinnelige serienummeren (pinne D0 og D1).

En første test for å bekrefte at reparasjonen var vellykket, er å feste skjermen (med alle DIP -bryterkontakter AV) til Arduino, koble USB -kabelen til kortet og datamaskinen og prøve å laste en kode inn i Arduino. Hvis alt er OK, vil koden lastes inn.

Trinn 5: Webserver med ESP8266 ESP-12E UART trådløs WIFI-skjerm TTL-omformer for Arduino

Som et hovedkrav for å fortsette dette trinnet, burde du ha utført trinn 2.

Som jeg nevnte tidligere, for å bruke skjoldet med Arduino gjennom den opprinnelige serien (pinner D0 og D1), er det nødvendig at en kode lastes inn i skjoldet og at Arduino lastes inn en annen kode for å sende, motta og tolke data som er handlet gjennom den opprinnelige serien. I skjoldet kan vi sette en fastvare med AT -kommandoer og programmere Arduino for å sende kommandoene til skjoldet for å koble til et WiFi -nettverk og for å kontrollere innganger og utganger til Arduino.

I dette trinnet vil vi bruke WiFiESP -biblioteket, siden det allerede har alle nødvendige funksjoner for å integrere ESP8266 (Shield WiFi ESP8266 i vårt tilfelle) til Arduino og tildele WiFi til brettet. WiFiESP -biblioteket fungerer ved å sende AT -kommandoer, deretter vil den trådløse nettverkstilkoblingen til ruteren og enhver forespørsel til webserveren resultere i sending av AT -kommandoer til skjoldet.

For at WiFiESP -biblioteket skal fungere, må fastvareversjonen for AT -kommandoen være minst 0,25 eller høyere. Så hvis du ikke kjenner AT -kommandoversjonen av skjoldet ditt, går du til trinn 2 for å oppdatere kortet med fastvare som har en AT -kommandoversjon på 1.2.0.0 og deretter gå tilbake for å fortsette.

En ting jeg identifiserte under testene mine med skjoldet og Arduino er at fordi kommunikasjonen mellom dem skjer gjennom den opprinnelige serien (pinner D0 og D1), blir det nødvendig at serien blir eksklusiv for kommunikasjonen mellom dem. Derfor anbefaler jeg ikke å bruke "Serial.print () / Serial.println ()" for å skrive ut informasjon på Arduino IDE seriell skjerm eller noe annet program som viser seriell informasjon.

Som standard er WiFiESP -biblioteket konfigurert til å vise serielle feil, advarsler og annen kommunikasjonsinformasjon mellom Arduino og ESP8266. Som jeg nevnte før, skulle serien bli utgitt for kommunikasjon mellom Arduino og skjoldet. Derfor redigerte jeg en fil fra biblioteket og deaktiverte visningen av all informasjon i serien. Den eneste informasjonen som vil bli vist på den serielle skjermen er AT -kommandoene som biblioteket sender til skjoldet for å koble seg til det trådløse nettverket eller AT -kommandoene for å utføre forespørsler til webserveren.

Last ned det modifiserte WiFIESP -biblioteket og installer det i Arduino IDE:

WiFIESP Mod

I bibliotekets installasjonsmappe får du bare tilgang til banen "WiFiEsp-master / src / utility", og inne i den er filen "debug.h" som ble redigert for å deaktivere visning av informasjon på serien. Åpne filen i Notisblokk ++, for eksempel, har vi linje 25, 26, 27, 28 og 29 som viser en tilsvarende nummerering for informasjonstypene som skal vises på den serielle skjermen. Vær oppmerksom på at tallet 0 deaktiverer visning av all informasjon på den serielle skjermen. Til slutt, i linje 32 konfigurerte jeg "_ESPLOGLEVEL_" med verdi 0:

Bilde
Bilde

Hvis du vil bruke WiFiESP -biblioteket i andre prosjekter med ESP8266 og trenger informasjonen som skal vises på den serielle skjermen, setter du bare "_ESPLOGLEVEL_" til verdi 3 (standardverdi for biblioteket) og lagrer filen.

Siden skjoldet ditt allerede har AT -kommando fastvare versjon 0.25 eller høyere, la oss fortsette.

Fest skjoldet til Arduino (Uno, Mega, Leonardo eller annen versjon som gjør at skjermen kan festes), sett alle DIP -bryterkontakter i AV -posisjon, koble en LED mellom pin 13 og GND, og koble USB -kabelen til Arduino og datamaskinen:

Bilde
Bilde

Jeg brukte Arduino Mega 2560, men sluttresultatet vil være det samme hvis du bruker et annet Arduino -kort som gjør at skjoldet kan kobles.

Last ned koden fra lenken og åpne den i Arduino IDE:

Kode webserver

Hvis du bruker Arduino Leonardo, går du til linje 19 og 20 i koden, og endrer ordet Serial til Serial1, som vist på bildet nedenfor:

Bilde
Bilde

I koden må du skrive inn navnet på ditt WiFi -nettverk i linjen char * ssid = "NAVN PÅ DITT WIFI -NETTVERK"; passordet skal angi linjen char * password = "PASSORD OF WIFI NETWORK"; og på linjen WiFi.config (IPAddress … bør du angi en tilgjengelig IP -adresse på det trådløse nettverket ettersom denne koden bruker statisk IP:

Bilde
Bilde

Velg "Board" i "Verktøy" -menyen og velg modellen til din Arduino. Fortsatt i "Verktøy" -menyen, velg alternativet "Port" og sjekk COM -porten som Arduino er tildelt.

Klikk på knappen for å sende koden til Arduino og vent på lasting.

Etter at du har lastet inn koden på Arduino, kobler du USB -kabelen fra kortet, setter P1- og P2 -kontaktene til DIP -bryteren på skjermen i PÅ -posisjon og kobler USB -kabelen til Arduino igjen.

MERK: Så lenge skjoldets P1- og P2 -kontakter er i PÅ -posisjon, vil du ikke kunne sende koder til Arduino fordi den opprinnelige serien vil være opptatt. Husk hver gang du endrer posisjonen til bryteren DIP-brytere, trykker du på ESP-RST-knappen

Åpne Arduino IDE seriell skjerm umiddelbart:

Bilde
Bilde

Med den serielle skjermen åpen kan du følge AT -kommandoene som sendes til skjoldet for å kjøre webserveren. Hvis ingen informasjon vises når du åpner den serielle skjermen, trykker du på RESET -knappen på Arduino og venter.

Vær oppmerksom på at på den serielle skjermen viser kommandoen "AT + CIPSTA_CUR" IP -adressen som skal kobles til webserveren, og kommandoen "AT + CWJAP_CUR" viser navnet og passordet til det trådløse nettverket som skjermen er koblet til:

Bilde
Bilde

Kopier IP -adressen som vises på den serielle skjermen, åpne nettleseren, lim inn IP -adressen og trykk ENTER for å få tilgang. En webside som ligner på den nedenfor blir lastet inn:

Bilde
Bilde

Nettsiden har en knapp som er ansvarlig for å slå på / av LED -en som er koblet til pin 13 på Arduino. Trykk på knappen for å slå på / av LED -en og se at gjeldende status er oppdatert på siden.

Du kan for eksempel få tilgang til nettsiden via en smarttelefon eller nettbrett.

Se videoen nedenfor for det endelige resultatet:

Dette var en enkel praksis, fordi formålet var å vise hvor enkelt det er å bruke skjoldet med Arduino. Alle prosjektene du finner på internett som bruker ESP8266 til å tildele WiFi til Arduino, kan reproduseres med dette WiFi -skjoldet, forskjellen er at du ikke trenger å montere spenningsdelere i protoboardet for å kommunisere plattformer, og i enkle prosjekter trenger du ikke å bekymre deg for å drive kretsen med ekstern strømforsyning. I tillegg vil prosjektet ditt ha en mye mer behagelig estetikk.

Nå som du vet hvordan du integrerer Shield WiFi ESP8266 med Arduino fra en webserver, kan du bare endre koden og implementere et mer forseggjort prosjekt eller begynne å utvikle din egen kode.

Nok en gang, beklager feilene på engelsk.

Hvis du har spørsmål om skjoldet, er det bare å spørre, så svarer jeg gjerne.

Anbefalt: