Innehållsförteckning:

ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omvandlare Okomplicerad: 5 steg
ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omvandlare Okomplicerad: 5 steg

Video: ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omvandlare Okomplicerad: 5 steg

Video: ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omvandlare Okomplicerad: 5 steg
Video: Зашить ESP 12E без проблем и заморочек. Чистая практика. (ESP8266 - Wi-Fi) 2024, Juni
Anonim
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Okomplicerad
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Okomplicerad

Den här guiden är avsedd att hjälpa människor som har köpt ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter och inte vet hur de ska använda den med Arduino.

Inledningsvis skrevs denna handledning på portugisiska här i Brasilien. Jag gjorde mitt bästa för att skriva det på engelska. Så förlåt mig för några misstag som kan vara skriftliga.

Denna instruktioner delades upp enligt följande:

Steg 1: Lär känna ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omvandlare för Arduino

Steg 2: Uppgradering av fast programvara på ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omvandlare för Arduino

Steg 3: Shiald, Shield, More och Moer? Spelar det någon roll?

Steg 4: Shield Moer - Lösa RX / TX seriell kommunikation

Steg 5: Webbserver med ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omvandlare för Arduino

Jag rekommenderar att du läser alla steg för att lära dig så mycket som möjligt om denna sköld.

Steg 1: Lär känna ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omvandlare för Arduino

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter (Shield WiFi ESP8266) gör det enkelt att ansluta Arduino till WiFi-nätverk via ESP8266. När du använder den är det inte längre nödvändigt att montera en krets med flera komponenter och ledningar för att ansluta en ESP8266 till Arduino, helt enkelt fästa kortet till Arduino, placera DIP -omkopplaren enligt skärmens driftläge och programmera Arduino till ansluta till WiFi -nätverk. Dessutom kan kortet användas utan Arduino, eftersom det har alla pin-outs på ESP-12E tillgängliga.

I skölden finns informationen om att den skapades av en person som heter WangTongze och som äger rättigheterna till den är elecshop.ml. Ursprungligen försökte sköldens skapare att samla in pengar till sitt projekt genom Indiegogo (webbplats för kollektiv finansiering), men han lyckades inte samla in pengar.

Funktioner i ESP8266 modell ESP-12E:

- 32-bitars RISC-arkitektur- Processor kan fungera med 80MHz / 160MHz- 32MB flashminne- 64kB för instruktioner- 96kB för data- Standard native WiFi 802.11b / g / n- Fungerar i läget AP, Station eller AP + Station- Det har 11 digitala stift- Den har 1 analog stift med 10-bitars upplösning- Digitala stift utom D0 har avbrott, PWM, I2C och en tråd- Programmerbar via USB eller WiFi (OTA)- Kompatibel med Arduino IDE- Kompatibel med moduler och sensorer som används i Arduino

Nedan kan du läsa huvuddragen i denna sköld:

- Storleken på Arduino Uno R3 och fästningen är kompatibel med Arduino Uno, Mega 2560, Leonardo och derivat.- Mindre versioner av Arduino (till exempel Nano och Pro Mini) är kompatibla, men anslutningar måste göras via hoppare.- Arduinospänning (5V) används för att driva skärmen.- Har AMS1117 3.3V spänningsregulator, så 5V spänningen som levereras av Arduino reduceras för att driva skölden utan att behöva extern ström.- Den har inbyggd logisk nivåomvandlare, så att Arduino TTL-nivån (5V) inte skadar ESP8266 som arbetar med TTL 3.3V-nivå.- Den har en 4-vägs DIP-omkopplare som tjänar till att ändra kortets driftslägen.- Tillgängliga driftslägen: WiFi Shield för Arduino / skickar AT-kommandon via Arduino / firmware-uppgradering via USB Seriell extern / fristående omvandlare.- Den har indikativa lysdioder (PWR / DFU / AP / STA).- Eftersom den är i skärmformat kan den sättas in andra skärmar och moduler.- Den har ESP-RST-knappen för att återställa ESP8266.- Th e ESP8266 ADC -stift finns i två former på kortet, den första på en stift med 0 till 1V läsintervall och den andra formen i intervallet 0 till 3.3V.

I bilden markeras huvuddelarna av skölden:

Bild
Bild

A (DIGITAL PINS): sekvens av stift som används av Arduino.

B (ESP8266 PINS): ESP8266-12E och deras respektive stift. På baksidan av plattan finns stiftens nomenklatur.

C (EXTERN SERIAL USB ADAPTER CONNECTION): Pin -sekvens som används för att ansluta den externa seriella USB -adaptern för uppdatering av firmware eller felsökning av ESP8266.

D (SHIELD MAINTENANCE PINS): En trepolig sekvens identifierad som Endast underhåll och används för att verifiera att spänningsregulatorn tar emot och levererar spänningarna korrekt. DET SKA INTE ANVÄNDAS SOM EN LEVERANSKÄLLA.

E (DIP SWITCH TO MODIFY DRIFTSLÄGEN): Fyrvägs DIP-omkopplare för att ändra driftlägen.

KONTAKT 1 (P1) och KONTAKT 2 (P2): används för att ansluta RX (representerat av P1) och TX (representerat av P2) på ESP8266 till Arduino D0 (RX) och D1 (TX) stiften. P1 och P2 i OFF -läge inaktiverar RX -anslutningen från ESP8266 till Arduino TX och TX från ESP8266 till Arduino RX.

KONTAKT 3 (P3) och KONTAKT 4 (P4): används för att aktivera och inaktivera läget för uppgradering av firmware för ESP8266. För att aktivera inskrivning / laddning av firmware på ESP8266 måste P3 och P4 vara i läge ON. När P4 är i ON -läget tänds DFU -lysdioden, vilket indikerar att ESP8266 är aktiverat för att ta emot firmware. För att inaktivera läget för uppdatering av fast programvara och ställa in ESP8266 på normal drift, ställ helt enkelt P3 och P4 på OFF.

OBS! Alla fyra kontakter i OFF -läge indikerar att ESP8266 fungerar i normalt läge bredvid Arduino

F (AD8 FRÅN ESP8266): stifttilldelning för ESP8266 ADC. En stift som arbetar i intervallet 0 till 1V och en annan stift som arbetar i intervallet 0 till 3,3V. Dessa stift kommer endast att användas när du använder ESP8266 ensam (fristående läge).

G (ESP8266 RESET): knapp som används för att återställa ESP8266. När du ändrar DIP-switcharnas läge måste du trycka på ESP-RST-knappen.

H (ANALOG PIN OCH STRÖMFÖRSÖRJNING): sekvens av stift som används av Arduino.

Denna skärm har en särart i kontakterna P1 och P2 på DIP -omkopplaren och denna särdrag, det genererar faktiskt en stor tvekan hos de människor som försöker använda skölden.

Enligt sköldens skapare krävs endast 2 stift när du ansluter den till Arduino. Dessa stift skulle vara D0 och D1 (Arduinos RX respektive TX) och dessutom måste DIP -switchens P1- och P2 -kontakter på skärmen vara i läge ON för anslutningen.

I ett av de enda kinesiska dokumenten jag har fått om denna sköld, säger skaparen av tavlan:

P1 och P2 är bitkodare och används för att avgöra om ESP8266 -serien är ansluten till Arduino D0 och D1.

I ett annat avsnitt av dokumentet nämns:

Denna expansionskort håller Arduino -serien upptagen och ansluter RX från ESP8266 till TX från Arduino och TX från ESP8266 till Arduino RX.

Arduinos D0 (RX) och D1 (TX) stift motsvarar inbyggd seriell / USB -kommunikation, så dessa stift håller sig upptagna när vi skickar kod till kortet eller använder den seriella bildskärmen. Därför, om P1- och P2 -kontakterna på skärmen är i ON -läget, kommer ESP8266 att använda Arduino D0 och D1 och det kommer inte att vara möjligt att skicka koder eller använda serien eftersom det kommer att vara upptaget. För att skicka AT -kommandon till skärmen är det dessutom nödvändigt att ESP8266 RX är ansluten till Arduino RX och att ESP8266 TX är ansluten till Arduino TX. Detta kommer bara att ske om vi inverterar anslutningarna enligt bilden nedan:

Bild
Bild

Se att jag har böjt D0- och D1 -kontakterna på skölden och anslutit Arduino D0 till D1 på skölden och D1 på Arduino till D0 på skölden. När jag använde anslutningen på detta sätt (Arduino används som anslutningsbro) kunde jag skicka AT -kommandon till ESP8266 och bekräftade vad jag redan föreställde mig.

Sköldens standardform för drift kräver att en kod (webbserver eller firmware, till exempel) laddas in i skölden och en annan kod laddas in i Arduino för att skicka, ta emot och tolka data som kommer via den inbyggda serien. Mer information om denna kommunikationsform kommer att ses i nästa steg.

Hur som helst, den här funktionen i skölden stör inte dess funktion, eftersom vi vanligtvis efterliknar en följetong på andra Arduino digitala stift så att vi kan ha den inbyggda serien tillgänglig. Om det är nödvändigt att skicka AT -kommandon till skärmen kan vi dessutom ansluta den till Arduino via fyra kablar eller använda en seriell USB -omvandlare.

Slutligen var skärmen mycket stabil och gjorde montering av kretsar mycket enkelt. Jag testade med Arduino Uno R3 och Mega 2560 R3.

I nästa steg lär du dig hur du uppgraderar / ändrar skärmens firmware.

Steg 2: Uppgradering av fast programvara på ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omvandlare för Arduino

För att ansluta skärmen till datorn är det nödvändigt att använda en seriell USB -omvandlare. Om du inte har en konventionell seriell USB -omvandlare kan du använda Arduino Uno R3 -omvandlaren som en mellanprodukt. Det finns flera modeller av seriella USB -omvandlare på marknaden, men för denna handledning använde jag PL2303HX TTL Serial USB Converter Adapter.

För att uppgradera skölden, använd:

ESP8266 Flash -nedladdningsverktyg

Den fasta programvaran som kommer att användas är:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT-firmware

När du har laddat ner programmet och den inbyggda programvaran kopierar du båda till roten (enhet C) i ditt Windows.

Packa upp flash_download_tools_v2.4_150924.rar och mappen FLASH_DOWNLOAD_TOOLS_v2.4_150924 genereras.

Använda Arduino Uno R3 seriell USB -omvandlare som en mellanprodukt:

Nästa steg är att ansluta skärmen till datorn. Om du inte har en standard seriell usb -omvandlare kan du använda Arduino Uno R3 för att överbrygga skölden och datorn. Förutom Arduino Uno R3 med USB -kabel behöver du:

01 - ESP8266 ESP -12E UART Wireless WIFI Shield TTL Converter04 - Man -Female Jumper Cables

OBS: Innan du monterar Arduino kopplingsschema måste du ladda en tom kod på kortet för att säkerställa att den seriella USB -omvandlaren inte används. Ladda koden nedan i din Arduino och fortsätt:

void setup () {// lägg din installationskod här, för att köra en gång:} void loop () {// lägg din huvudkod här, för att köra upprepade gånger:}

Bild
Bild

OBS: Var uppmärksam när du fäster 3.3V -skärmstiftet på Arduino.

Använda den seriella TTL USB -omvandlingsadaptern PL2303HX:

Du behöver följande förutom PL2303HX TTL Serial USB Converter Adapter:

01 - ESP8266 ESP -12E UART Wireless WIFI Shield TTL Converter04 - Man -Female Jumper Cables

Bild
Bild

OBS: PL2303 har 5V och 3V3 effekt. Använd 3V3 -ström och ignorera 5V -stiftet

När du har gjort något av ovanstående anslutningsschema ansluter du helt enkelt USB -kabeln (till Arduino och datorn) eller den seriella USB -omvandlaren till datorn.

Gå sedan till "Kontrollpanelen" i Windows, "Enhetshanteraren", och i fönstret som öppnas gå till "Portar (COM och LPT)". Du kan se den anslutna enheten och COM -portnumret som den tilldelades. Som en demonstration kopplade jag både Arduino och den seriella USB -omvandlaren på datorn och i bilden nedan kan du se hur enheterna visas i chefen:

Bild
Bild

Om du använder PL2303HX och det inte känns igen av Windows, öppna posten Serial TTL USB Converter PL2303HX - Installation i Windows 10, se hur du löser det och återgå sedan för att fortsätta.

Gå nu till mappen FLASH_DOWNLOAD_TOOLS_v2.4_150924 och kör ESP_DOWNLOAD_TOOL_V2.4.exe:

Bild
Bild

Placera P3- och P4-kontakterna på DIP-omkopplaren på skärmen i läge ON och tryck sedan på ESP-RST-knappen på kortet så att skärmen går in i uppgraderingsläget för firmware:

Bild
Bild

Med programmet öppet, avmarkera alternativet 'SpiAutoSet', välj COM -porten, välj 'BAUDRATE' 115200, avmarkera en kryssruta markerad i 'Download Path Config', konfigurera de andra alternativen enligt nedan och klicka på 'START':

Bild
Bild

Om kommunikationen med ESP8266 WiFi Shield är OK kommer du att se information i 'DETECTED INFO', 'MAC Address' och 'SYNC':

Bild
Bild

OBS! Om programmet returnerar 'FAIL', kontrollera om du har valt rätt COM-port, kontrollera om P3- och P4-knapparna på DIP-omkopplaren är PÅ, klicka på ESP-RST-knappen, klicka på STOP och klicka igen på START.

I 'Download Path Config' bör du välja filen 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' som laddats ner. Klicka på "…" i det första fältet och i fönstret som öppnas navigerar du till mappen där du placerade firmware och väljer filen "Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin". Fyll i offset 0x00000 i fältet 'ADDR' och markera kryssrutan för att slutföra. När du är klar kommer du att ha inställningarna enligt nedan:

Bild
Bild

Klicka nu på START för att starta processen:

OBS! Om du använder Arduino seriell USB-omvandlare som mellanliggande mellan skärmen och datorn, klicka på skärmens ESP-RST-knapp innan du klickar på START. Om du använder en konventionell seriell USB -omvandlare är denna procedur inte nödvändig

Bild
Bild

Vänta på att firmware -uppgraderingsprocessen är klar (det tar cirka sju minuter innan processen är klar):

Bild
Bild

När du har slutfört uppgraderingsprocessen för firmware, stäng ESP_DOWNLOAD_TOOL_V2.4-fönstren, återför P3- och P4-kontakterna på DIP-omkopplaren till OFF-läget och tryck på ESP-RST-knappen på skärmen så att den kan lämna firmware-uppgraderingsläget.

Öppna nu Arduino IDE så att du kan skicka AT -kommandon till kortet för att verifiera att firmware har uppdaterats korrekt och att kortet svarar på kommandona.

Med IDE öppet, gå till menyn "Verktyg" och välj sedan COM -porten i alternativet "Port". Notera på bilden nedan att jag valde COM7 -porten (din port kommer förmodligen att vara annorlunda):

Bild
Bild

Du behöver INTE välja kortet i IDE eftersom detta inte är relevant för att skicka AT -kommandon.

Öppna 'Seriell bildskärm' och kontrollera i sidfoten om hastigheten är inställd på 115200 och om 'Både, NL och CR' är valt:

Bild
Bild

Skriv nu kommandot 'AT' (utan citattecken) och ange 'ENTER' eller klicka på 'Skicka'. Om anslutningen fungerar måste du returnera meddelandet "OK":

Bild
Bild

OBS: Om kommandot INTE får någon feedback eller får en slumpmässig teckensträng, ändra hastigheten från 115200 på den seriella bildskärmen till 9600 och skicka kommandot igen

I "Serial Monitor" skriver du kommandot "AT + GMR" (utan citattecken) och anger "ENTER" eller klickar på "Skicka". Om du får feedback enligt nedan, har ditt ESP8266 WiFi Shield uppdaterats framgångsrikt:

Bild
Bild

Om du vill ändra kommunikations baudrate med 9600 -skölden anger du kommandot 'AT + UART_DEF = 9600, 8, 1, 0, 0' (utan offert) och anger 'ENTER' eller klickar på 'Send'. Om du får informationen enligt nedan, har kommunikationshastigheten ändrats:

Bild
Bild

OBS: När du ändrar skärmens baudrate bör du också ändra hastigheten från 115200 till 9600 i bildskärmens seriella sidfot. Skicka sedan kommandot 'AT' igen (utan citattecken) och tryck på 'ENTER' eller klicka på 'Skicka'. Om du får "OK" som en retur fungerar kommunikationen

Om du vill använda skärmen för att tilldela Arduino WiFi är den perfekta kommunikationshastigheten 9600 baud.

I nästa steg kommer du att ta reda på vilken sköld du har, eftersom det är möjligt att hitta minst tre sköldar på marknaden som verkar vara desamma, men i själva verket har dessa brädor några punkter som skiljer dem åt, även i frågan om arbeta med Arduino genom kommunikation via den inbyggda serien.

Steg 3: Shiald, Shield, More och Moer? Spelar det någon roll?

Om det är ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omvandlare, är det möjligt att hitta minst tre kort som tydligen är desamma, men faktiskt har dessa kort några punkter som skiljer dem åt, även i frågan om att arbeta med Arduino genom inbyggd seriell kommunikation.

Följande kan du se vad som skiljer tavlorna och ta reda på vilken som är din.

Shiald WiFi ESP8266:

Bild
Bild

Observera att på denna tavla är ordet Sköld skrivet "Shiald" och ordet "mer" har "m" med små bokstäver. I de tester jag gjorde länge visade brädan INTE några brister i dess funktion.

Skärm WiFi ESP8266:

Bild
Bild

Observera att på denna tavla är ordet Sköld korrekt skrivet och ordet "Mer" har "M" i versaler. När det gäller driften uppträder detta kort på samma sätt som Shiald -versionen, det vill säga att kortet inte är felaktigt.

Så du menar att Shiald- och Shield -brädorna bara har skillnader i frågan om PCB -siden?

Ja, dessa två kort har bara skillnad när det gäller att skriva två ord. Kretsen på båda korten är densamma och båda fungerar perfekt med Arduino eller ensam (fristående läge). Med tanke på att Arduino har rätt kod laddad och att en av sköldarna också har rätt firmware, efter att du har anslutit skölden till Arduino och anslutit USB -kabeln, sätter du helt enkelt P1- och P2 -kontakterna på DIP -omkopplaren i ON -läget och kommunikationen via inbyggd serie (stift D0 och D1) mellan korten kommer att ske.

Vissa säger att denna Shiald -version har den instabila trådlösa anslutningen, men jag hävdar att det inte finns någon instabilitet alls.

Skärm WiFi ESP8266 (Moer):

Bild
Bild

Observera att på denna tavla är ordet Sköld korrekt skrivet och ordet "Mer" är skrivet "Moer", det vill säga fel. Tyvärr fungerar inte detta kort som det ska och om det är anslutet till Arduino (med DIP -omkopplarna AV eller PÅ) och användaren försöker ladda en kod på Arduino, visas ett felmeddelande i IDE som laddning misslyckas.

Om din sköld är den som kommer skriven i Moer och du har haft problem med att använda den med din Arduino genom inbyggd seriell kommunikation, gå till nästa steg och lär dig hur du löser problemet. Om din sköld INTE är Moer, gå vidare till steg 5.

Steg 4: Shield Moer - Lösa seriell kommunikation med RX / TX

Om detta kort (Moer) är kopplat till Arduino (med DIP -switchkontakterna OFF eller ON) och användaren försöker ladda en kod på Arduino, visas ett felmeddelande i IDE eftersom lasten misslyckas. Detta beror på ett komponentfel som används vid sköldkonstruktion.

Skärmen som har korrekt konstruktion och funktion, har svetsat två Channel N MOSFETs och identifieras som J1Y. En av J1Y -transistorerna är ansluten till ESP8266 RX och den andra är ansluten till ESP8266 TX. På bilden nedan kan du se de två transistorerna markerade:

Bild
Bild

Denna J1Y -transistor är en BSS138 vars syfte är att möjliggöra 5V -logiknivåkretsar att kommunicera med 3.3V -logikkretsar och vice versa. Eftersom ESP8266 har en logisk nivå på 3,3V och Arduino har en logisk nivå på 5V, är det nödvändigt att använda en logisk nivåomvandlare för att säkerställa en perfekt drift av ESP8266.

I skölden Moer är det lödda på kortet två transistorer identifierade som J3Y. På bilden nedan kan du se de två transistorerna markerade:

Bild
Bild

J3Y -transistorn är en S8050 NPN och denna typ av transistor används vanligtvis i förstärkarkretsar. Av någon anledning vid konstruktionen av skärmen Moer använde de transistorn J3Y istället för omvandlaren för logiknivå J1Y.

På detta sätt fungerar ESP8266: s RX- och TX -stift inte som de ska och därför kommer skölden inte att ha någon seriell kommunikation med Arduino. Eftersom skölden kommunicerar med Arduino genom den inbyggda serien (stift D0 och D1), med den kopplad till Arduino -kodbelastningen (i Arduino) kommer aldrig att slutföras framgångsrikt, eftersom det i vissa fall alltid kommer att vara cirka 2,8V i RX och Arduino TX eller konstant 0V, allt på grund av fel transistorer.

Efter all denna information är det klart att den enda lösningen för skärmen Moer är att ersätta J3Y -transistorer med J1Y -transistorer. För denna procedur behöver du utöver tålamodets Moer -sköld och:

01 - Lödkolv01 - Tin01 - Pincett eller nåltång01 - Svetssug02 - BSS138 (J1Y)

BSS138 (J1Y) transistorn används i 3.3V / 5V Logic Level Converter.

OBS: Följande procedur kräver att du vet hur du hanterar ett lödkolv och att du har minst svetsupplevelse. Komponenterna som ska tas bort och de som kommer att bytas ut är SMD -komponenter och kräver större omsorg och tålamod vid svetsning med ett vanligt lödkolv. Var noga med att inte lämna lödkolven för länge vid transistorterminalerna eftersom det kan skada dem

Värm en av transistorterminalerna med det varma lödkolvet och lägg på lite tenn. Utför denna procedur för var och en av terminalerna på de två transistorerna. Överdriven svetsning vid terminalerna gör det lättare att ta bort transistorerna:

Bild
Bild

Ta nu pincetten / tången, håll transistorn vid sidorna, värm transistorns sida som bara har en terminal och tvinga upp transistorn så att terminalen lossnar från lödet. Fortfarande med pincetten / tången som håller transistorn, försök placera spetsen på lödkolven mot de andra två terminalerna och tvinga upp transistorn för att slutligen släppa den från kortet. Gör detta för båda transistorerna och var mycket försiktig:

Bild
Bild

Tog bort de två J3Y IC: erna från skölden, placera helt enkelt J1Y IC på plats, håll den med pincetten / tången och värm upp varje ände av skölden så att plåten ansluter till kontakten. Om kontakterna är låglödda, värm var och en och lägg mer tenn. Gör detta för båda transistorerna och var mycket försiktig:

Bild
Bild

Efter reparationen började dess sköld som tidigare inte hade någon direkt kommunikation med Arduino, att ha anslutning till kortet via den inbyggda serien (stift D0 och D1).

Ett första test för att bekräfta att reparationen lyckades är att fästa skärmen (med alla DIP -switchkontakter AV) till Arduino, ansluta USB -kabeln till kortet och datorn och försöka ladda in en kod i Arduino. Om allt är OK laddas koden framgångsrikt.

Steg 5: Webbserver med ESP8266 ESP-12E UART Wireless WIFI Shield TTL-omvandlare för Arduino

Som ett primärt krav för att fortsätta detta steg borde du ha utfört steg 2.

Som jag nämnde tidigare är det nödvändigt att en kod laddas in i skölden och att Arduino laddas med en annan kod för att skicka, ta emot och tolka data som trafikeras genom den inbyggda serien. I skölden kan vi sätta in en firmware för AT -kommandon och programmera Arduino för att skicka kommandona till skölden för att ansluta till ett WiFi -nätverk och för att styra ingångar och utgångar från Arduino.

I det här steget kommer vi att använda WiFiESP -biblioteket, eftersom det redan har alla nödvändiga funktioner för att integrera ESP8266 (Shield WiFi ESP8266 i vårt fall) till Arduino och tilldela WiFi till kortet. WiFiESP -biblioteket fungerar genom att skicka AT -kommandon, sedan kommer routerns trådlösa nätverksanslutning och alla förfrågningar som görs till webbservern att skicka AT -kommandon till skölden.

För att WiFiESP -biblioteket ska fungera måste firmware -versionen av AT -kommandot vara minst 0,25 eller högre. Så om du inte känner till AT -kommandoversionen av din sköld, gå till steg 2 för att uppdatera kortet med firmware som har en AT -kommandoversion av 1.2.0.0 och återgå sedan för att fortsätta.

En sak som jag identifierade under mina tester med skölden och Arduino är att eftersom kommunikationen mellan dem sker via den inbyggda serien (stift D0 och D1), blir det nödvändigt att serien är exklusiv för kommunikationen mellan dem. Därför rekommenderar jag inte att du använder "Serial.print () / Serial.println ()" för att skriva ut information om Arduino IDE -seriemonitorn eller något annat program som visar serieinformation.

Som standard är WiFiESP -biblioteket konfigurerat för att visa seriefel, varningar och annan kommunikationsinformation mellan Arduino och ESP8266. Som jag nämnde tidigare bör serien släppas för kommunikation mellan Arduino och skölden. Därför redigerade jag en fil från biblioteket och inaktiverade visningen av all information i serien. Den enda informationen som kommer att visas på den seriella bildskärmen är AT -kommandon som biblioteket skickar till skärmen för att ansluta till det trådlösa nätverket eller AT -kommandona för att utföra förfrågningar till webbservern.

Ladda ner det modifierade WiFIESP -biblioteket och installera det i Arduino IDE:

WiFIESP Mod

I biblioteksinstallationsmappen öppnar du bara sökvägen "WiFiEsp-master / src / utility" och inuti den finns filen "debug.h" som redigerades för att inaktivera visning av information på serien. När vi öppnar filen i Anteckningar ++ har vi till exempel raderna 25, 26, 27, 28 och 29 som visar en motsvarande nummerering för de typer av information som ska visas på den seriella bildskärmen. Observera att siffran 0 inaktiverar visning av all information på den seriella bildskärmen. Slutligen konfigurerade jag på rad 32 "_ESPLOGLEVEL_" med värde 0:

Bild
Bild

Om du vill använda WiFiESP -biblioteket i andra projekt med ESP8266 och behöver informationen som visas på den seriella bildskärmen, ställer du bara in "_ESPLOGLEVEL_" till värde 3 (bibliotekets standardvärde) och sparar filen.

Eftersom din sköld redan har AT -kommando firmwareversion 0.25 eller högre, låt oss fortsätta.

Fäst skärmen på din Arduino (Uno, Mega, Leonardo eller annan version som gör att skärmen kan fästas), sätt alla DIP -switchkontakter i OFF -läge, anslut en LED mellan stift 13 och GND och anslut USB -kabeln till Arduino och datorn:

Bild
Bild

Jag använde Arduino Mega 2560, men slutresultatet blir detsamma om du använder ett annat Arduino -kort som gör att skärmen kan kopplas.

Ladda ner koden från länken och öppna den i Arduino IDE:

Kod webbserver

Om du använder Arduino Leonardo, gå till rad 19 och 20 i koden och ändra ordet Serial till Serial1, som visas på bilden nedan:

Bild
Bild

I koden måste du ange namnet på ditt WiFi -nätverk i raden char * ssid = "DITT WIFI -NÄTVERKS NAMN"; lösenordet ska anges i raden char * password = "LÖSENORD FÖR DITT WIFI -NÄTVERK"; och på raden WiFi.config (IPAddress … bör du ange en tillgänglig IP -adress på ditt trådlösa nätverk eftersom denna kod använder statisk IP:

Bild
Bild

I menyn "Verktyg" väljer du "Board" och väljer modellen för din Arduino. Fortfarande i "Verktyg" -menyn, välj alternativet "Port" och kontrollera COM -porten som din Arduino har tilldelats.

Klicka på knappen för att skicka koden till Arduino och vänta på laddning.

När du har laddat koden på Arduino, koppla bort USB -kabeln från kortet, sätt P1- och P2 -kontakterna på DIP -omkopplaren på skärmen i ON -läget och anslut USB -kabeln till Arduino igen.

OBS: Så länge som skärmens P1- och P2 -kontakter är i ON -läget kommer du inte att kunna skicka koder till Arduino eftersom den inbyggda serien kommer att vara upptagen. Kom ihåg varje gång du ändrar läget för omkopplarens DIP-omkopplare, tryck på ESP-RST-knappen

Öppna genast Arduino IDE -seriemonitorn:

Bild
Bild

Med seriell bildskärm öppen kan du följa AT -kommandona som skickas till skölden för att köra webbservern. Om ingen information visas när du öppnar den seriella bildskärmen, tryck på RESET -knappen på din Arduino och vänta.

Observera att på seriell bildskärm visar kommandot "AT + CIPSTA_CUR" IP -adressen som ska anslutas till webbservern och kommandot "AT + CWJAP_CUR" visar namnet och lösenordet för det trådlösa nätverk som skärmen är ansluten till:

Bild
Bild

Kopiera IP -adressen som visas på den seriella bildskärmen, öppna din webbläsare, klistra in IP -adressen och tryck på ENTER för att komma åt. En webbsida som liknar den nedan kommer att laddas:

Bild
Bild

Webbsidan har en knapp som är ansvarig för att slå på / av lysdioden som är ansluten till stift 13 på Arduino. Tryck på knappen för att slå på / av lysdioden och se att den aktuella statusen uppdateras på sidan.

Du kan också komma åt webbsidan via en smartphone eller surfplatta, till exempel.

Se videon nedan för det slutliga resultatet:

Detta var en enkel övning, eftersom syftet var att visa hur lätt det är att använda skölden med Arduino. Alla projekt som du hittar på internet som använder ESP8266 för att tilldela Arduino WiFi, kan reproduceras med denna WiFi -sköld, skillnaden är att du inte behöver montera spänningsdelare i protoboardet för att kommunicera plattformar, och på ett enkelt sätt projekt behöver du inte oroa dig för att driva kretsen med extern strömförsörjning. Dessutom kommer ditt projekt att ha en mycket trevligare estetik.

Nu när du vet hur du integrerar Shield WiFi ESP8266 med Arduino från en webbserver, ändrar du bara koden och genomför ett mer genomarbetat projekt eller börjar utveckla din egen kod.

Återigen, förlåt för misslyckandena på engelska.

Om du har frågor om skölden är det bara att fråga så svarar jag gärna.

Rekommenderad: