Inhoudsopgave:

ESP8266 ESP-12E UART draadloze WIFI Shield TTL-converter ongecompliceerd - Ajarnpa
ESP8266 ESP-12E UART draadloze WIFI Shield TTL-converter ongecompliceerd - Ajarnpa

Video: ESP8266 ESP-12E UART draadloze WIFI Shield TTL-converter ongecompliceerd - Ajarnpa

Video: ESP8266 ESP-12E UART draadloze WIFI Shield TTL-converter ongecompliceerd - Ajarnpa
Video: PN532 NFC RFID Module Tutorial | Interfacing PN532 with Arduino in UART, I2C & SPI Mode 2024, Juni-
Anonim
ESP8266 ESP-12E UART Draadloze WIFI Shield TTL-converter Ongecompliceerd
ESP8266 ESP-12E UART Draadloze WIFI Shield TTL-converter Ongecompliceerd

Deze handleiding is bedoeld om mensen te helpen die de ESP8266 ESP-12E UART Wireless WIFI Shield TTL-converter hebben gekocht en niet weten hoe ze deze met Arduino moeten gebruiken.

Aanvankelijk was deze tutorial hier in Brazilië in het Portugees geschreven. Ik heb mijn best gedaan om het in het Engels te schrijven. Dus vergeef me voor enkele fouten die misschien in het schrijven staan.

Dit instructables was als volgt verdeeld:

Stap 1: De ESP8266 ESP-12E UART Wireless WIFI Shield TTL-converter voor Arduino leren kennen

Stap 2: Firmware-upgrade op ESP8266 ESP-12E UART Wireless WIFI Shield TTL-converter voor Arduino

Stap 3: Schild, Schild, Meer en Moer? Maakt het uit?

Stap 4: Shield Moer - RX / TX seriële communicatie oplossen

Stap 5: Webserver met ESP8266 ESP-12E UART Wireless WIFI Shield TTL-converter voor Arduino

Ik raad je aan om alle stappen te lezen om zoveel mogelijk over dit schild te leren.

Stap 1: De ESP8266 ESP-12E UART Wireless WIFI Shield TTL-converter voor Arduino leren kennen

De ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter (Shield WiFi ESP8266) maakt het eenvoudig om de Arduino te verbinden met WiFi-netwerken via de ESP8266. Bij gebruik is het niet langer nodig om een circuit met meerdere componenten en draden te monteren om een ESP8266 met de Arduino te verbinden, bevestig het bord gewoon aan de Arduino, positioneer het pad van de DIP-schakelaar volgens de schild-bedrijfsmodus en programmeer de Arduino om verbinding maken met wifi-netwerken. Bovendien kan het bord zonder de Arduino worden gebruikt, omdat alle pin-outs van de ESP-12E beschikbaar zijn.

In het schild staat de informatie dat het is gemaakt door een persoon genaamd WangTongze en die eigenaar is van de rechten ervan is de elecshop.ml. Aanvankelijk probeerde de maker van het schild geld in te zamelen voor zijn project via Indiegogo (collectieve financieringssite), maar het lukte hem niet om geld in te zamelen.

Kenmerken van ESP8266-model ESP-12E:

- 32-bits RISC-architectuur - Processor kan werken op 80 MHz / 160 MHz - 32 MB flashgeheugen - 64 kB voor instructies - 96 kB voor gegevens - Standaard native WiFi 802.11b / g / n - Werkt in AP-, Station- of AP + Station-modus - Het heeft 11 digitale pinnen- Het heeft 1 analoge pin met 10-bit resolutie- Digitale pinnen behalve de D0 hebben interrupt, PWM, I2C en één draad- Programmeerbaar via USB of WiFi (OTA)- Compatibel met Arduino IDE- Compatibel met gebruikte modules en sensoren in Arduino

Hieronder lees je de belangrijkste kenmerken van dit schild:

- Grootte van de Arduino Uno R3 en de pinning is compatibel met Arduino Uno, Mega 2560, Leonardo en afgeleiden.- Kleine versies van de Arduino (bijvoorbeeld Nano en Pro Mini) zijn compatibel, maar verbindingen moeten worden gemaakt via jumpers.- Arduino-spanning (5V) wordt gebruikt om het schild van stroom te voorzien.- Heeft een AMS1117 3.3V-spanningsregelaar, dus de 5V-spanning die door de Arduino wordt geleverd, wordt verlaagd om het schild van stroom te voorzien zonder dat er externe voeding nodig is.- Het heeft een ingebouwde logische niveau-omzetter, dus het Arduino TTL-niveau (5V) beschadigt de ESP8266 die werkt met TTL 3.3V-niveau niet.- Het heeft een 4-weg DIP-schakelaar die dient om de bedieningsmodi van het bord te wijzigen.- Beschikbare bedieningsmodi: WiFi Shield voor Arduino / AT-commando's verzenden via Arduino / firmware-upgrade via USB Seriële externe / zelfstandige converter.- Het heeft indicatieve LED's (PWR / DFU / AP / STA). - Omdat het in schildformaat is, kunnen andere schilden en modules worden geplaatst.- Het heeft de ESP-RST-knop om de ESP8266 te resetten.- Th De ESP8266 ADC-pin is beschikbaar in twee vormen op het bord, de eerste op een pin met een leesbereik van 0 tot 1V en de tweede vorm in het bereik van 0 tot 3,3V.

In de afbeelding zijn de belangrijkste delen van het schild gemarkeerd:

Afbeelding
Afbeelding

A (DIGITAL PINS): reeks pinnen die door de Arduino worden gebruikt.

B (ESP8266 PINS): ESP8266-12E en hun respectievelijke pinnen. Op de achterkant van de plaat staat de nomenclatuur van de pinnen.

C (EXTERNE SERILE USB-ADAPTERVERBINDING): Pinvolgorde die wordt gebruikt om de externe seriële USB-adapter aan te sluiten voor firmware-update of foutopsporing van de ESP8266.

D (SCHILD ONDERHOUDSPENNEN): Een reeks van drie pinnen die wordt geïdentificeerd als alleen onderhoud en wordt gebruikt om te controleren of de spanningsregelaar de spanningen correct ontvangt en levert. HET MAG NIET WORDEN GEBRUIKT ALS VOEDINGSBRON.

E (DIP-SCHAKELAAR OM BEDRIJFSMODI TE WIJZIGEN): Viervoudige DIP-schakelaar om de bedrijfsmodi te wijzigen.

CONTACT 1 (P1) en CONTACT 2 (P2): gebruikt om de RX (vertegenwoordigd door P1) en TX (vertegenwoordigd door P2) van de ESP8266 aan te sluiten op de Arduino D0 (RX) en D1 (TX) pinnen. P1 en P2 in de UIT-positie schakelen de RX-verbinding van ESP8266 naar Arduino TX en TX van ESP8266 naar Arduino RX uit.

CONTACT 3 (P3) en CONTACT 4 (P4): gebruikt om de firmware-upgrademodus voor ESP8266 in en uit te schakelen. Om firmware schrijven / laden op ESP8266 in te schakelen, moeten P3 en P4 in de AAN-positie staan. Wanneer P4 in de AAN-positie staat, gaat de DFU-LED branden, wat aangeeft dat de ESP8266 is ingeschakeld om de firmware te ontvangen. Om de firmware-updatemodus uit te schakelen en de ESP8266 in te stellen op normale werking, stelt u P3 en P4 eenvoudig in op UIT.

OPMERKING: Alle 4 contacten in de UIT-positie geven aan dat de ESP8266 in de normale modus naast de Arduino werkt

F (AD8 VANAF ESP8266): pintoewijzing voor de ESP8266 ADC. Een pin die werkt in het bereik van 0 tot 1V en een andere pin die werkt in het bereik van 0 tot 3,3V. Deze pinnen worden alleen gebruikt bij gebruik van alleen ESP8266 (stand-alone modus).

G (ESP8266 RESET): knop die wordt gebruikt om ESP8266 te resetten. Telkens wanneer u de positie van de DIP-schakelaars wijzigt, moet u op de ESP-RST-knop drukken.

H (ANALOG PIN AND POWER SUPPLY): volgorde van pinnen die door de Arduino worden gebruikt.

Dit schild heeft een eigenaardigheid in de contacten P1 en P2 van de DIP-schakelaar en deze bijzonderheid wekt in feite grote twijfel op bij de mensen die het schild proberen te gebruiken.

Volgens de maker van het schild zijn er bij het aansluiten op de Arduino slechts 2 pinnen nodig. Deze pinnen zijn D0 en D1 (respectievelijk Arduino's RX en TX) en bovendien moeten de P1- en P2-contacten van de DIP-schakelaar op het schild in de AAN-positie staan voor de verbinding.

In een van de weinige Chinese documenten die ik over dit schild heb gekregen, zegt de maker van het bord:

P1 en P2 zijn bit-encoders en worden gebruikt om te bepalen of de ESP8266 serieel is aangesloten op Arduino D0 en D1.

In een ander deel van het document wordt genoemd:

Dit uitbreidingsbord houdt de Arduino serieel bezig en verbindt RX van ESP8266 naar TX van Arduino en TX van ESP8266 naar Arduino RX.

De D0 (RX) en D1 (TX) pinnen van de Arduino komen overeen met native seriële / USB-communicatie, dus deze pinnen blijven bezet wanneer we code naar het bord sturen of de seriële monitor gebruiken. Daarom, als de P1- en P2-contacten van het schild in de AAN-positie staan, zal de ESP8266 Arduino D0 en D1 gebruiken en is het niet mogelijk om codes te verzenden of de seriële te gebruiken omdat deze bezet zal zijn. Om AT-commando's naar het schild te sturen, is het bovendien noodzakelijk dat de ESP8266 RX is aangesloten op de Arduino RX en dat de ESP8266 TX is aangesloten op de Arduino TX. Dit gebeurt alleen als we de verbindingen omkeren zoals weergegeven in de onderstaande afbeelding:

Afbeelding
Afbeelding

Zie ik heb de D0- en D1-contacten van het schild gebogen en de Arduino D0 aangesloten op de D1 van het schild en D1 van de Arduino op de D0 van het schild. Toen ik de verbinding op deze manier gebruikte (Arduino werd gebruikt als verbindingsbrug), kon ik AT-commando's naar de ESP8266 sturen en bevestigde wat ik me al had voorgesteld.

De standaardwerking van het schild vereist dat een code (bijvoorbeeld webserver of firmware) in het schild wordt geladen en dat een andere code in de Arduino wordt geladen om de gegevens die via de native serie komen te verzenden, ontvangen en interpreteren. Meer details over deze vorm van communicatie zullen in de volgende stappen worden bekeken.

Hoe dan ook, deze functie van het schild interfereert niet met de werking ervan, omdat we meestal een serienummer emuleren op andere Arduino digitale pinnen, zodat we de oorspronkelijke serieel beschikbaar kunnen hebben. Als het nodig is om AT-commando's naar het schild te sturen, kunnen we het bovendien via vier kabels op de Arduino aansluiten of een seriële USB-converter gebruiken.

Ten slotte was het schild zeer stabiel en maakte het monteren van circuits zeer eenvoudig. Ik heb getest met Arduino Uno R3 en Mega 2560 R3.

In de volgende stap leert u hoe u de schildfirmware kunt upgraden / wijzigen.

Stap 2: Firmware-upgrade op ESP8266 ESP-12E UART Wireless WIFI Shield TTL-converter voor Arduino

Om het schild op de computer aan te sluiten, is het noodzakelijk om een seriële USB-converter te gebruiken. Als je geen conventionele seriële USB-converter hebt, kun je de Arduino Uno R3-converter als tussenproduct gebruiken. Er zijn verschillende modellen seriële USB-converters op de markt, maar voor deze tutorial heb ik de PL2303HX TTL seriële USB-converteradapter gebruikt.

Om het schild te upgraden, gebruikt u de:

ESP8266 Flash-downloadtools

De firmware die zal worden gebruikt is:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT-firmware

Nadat u het programma en de firmware hebt gedownload, kopieert u beide naar de root (station C) van uw Windows.

Pak flash_download_tools_v2.4_150924.rar uit en de map FLASH_DOWNLOAD_TOOLS_v2.4_150924 wordt gegenereerd.

Gebruik van de Arduino Uno R3 seriële USB-converter als tussenproduct:

De volgende stap is om het schild op de computer aan te sluiten. Als je geen standaard seriële usb-converter hebt, kun je de Arduino Uno R3 gebruiken om het schild en de computer te overbruggen. Naast de Arduino Uno R3 met USB-kabel heb je nodig:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL-converter04 - Man-vrouw jumperkabels

OPMERKING: Voordat u het Arduino-bedradingsschema monteert, moet u een lege code op het bord laden om ervoor te zorgen dat de seriële USB-converter niet wordt gebruikt. Laad de onderstaande code in je Arduino en ga verder:

void setup() {// plaats hier je setup-code, om een keer uit te voeren: } void loop() { // plaats hier je hoofdcode, om herhaaldelijk uit te voeren:}

Afbeelding
Afbeelding

OPMERKING: Let op bij het bevestigen van de 3,3V-schildpin op de Arduino.

Gebruik van de seriële TTL USB-converteradapter PL2303HX:

Naast de PL2303HX TTL seriële USB-converteradapter hebt u de volgende items nodig:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL-converter04 - Man-vrouw jumperkabels

Afbeelding
Afbeelding

OPMERKING: De PL2303 heeft een vermogen van 5V en 3V3. Gebruik 3V3-stroom en negeer de 5V-pin

Nadat u een van de bovenstaande verbindingsschema's hebt gemaakt, sluit u eenvoudig de USB-kabel (naar de Arduino en de computer) of de seriële USB-converter aan op de computer.

Ga dan in Windows naar het 'Configuratiescherm', 'Apparaatbeheer' en in het geopende venster naar 'Poorten (COM en LPT)'. U kunt het aangesloten apparaat zien en het COM-poortnummer waaraan het is toegewezen. Als demonstratie heb ik zowel de Arduino als de seriële USB-converter op de computer aangesloten en in onderstaande afbeelding kun je zien hoe de apparaten in de manager verschijnen:

Afbeelding
Afbeelding

Als u PL2303HX gebruikt en het wordt niet herkend door Windows, ga dan naar de post Serial TTL USB Converter PL2303HX - Installatie in Windows 10, kijk hoe u dit kunt oplossen en ga dan terug om door te gaan.

Ga nu naar de map FLASH_DOWNLOAD_TOOLS_v2.4_150924 en voer ESP_DOWNLOAD_TOOL_V2.4.exe uit:

Afbeelding
Afbeelding

Plaats op het schild de P3- en P4-contacten van de DIP-schakelaar in de AAN-positie en druk vervolgens op de ESP-RST-knop op de kaart zodat het schild naar de firmware-upgrademodus gaat:

Afbeelding
Afbeelding

Terwijl het programma open is, schakelt u de optie 'SpiAutoSet' uit, selecteert u de COM-poort, selecteert u de 'BAUDRATE' 115200, schakelt u alle selectievakjes uit die zijn gemarkeerd in 'Download Path Config', configureert u de andere opties zoals hieronder weergegeven en klikt u op 'START':

Afbeelding
Afbeelding

Als de communicatie met ESP8266 WiFi Shield in orde is, ziet u informatie in 'DETECTED INFO', 'MAC Address' en 'SYNC':

Afbeelding
Afbeelding

OPMERKING: Als het programma 'FAIL' retourneert, controleer dan of u de juiste COM-poort hebt geselecteerd, controleer of de P3- en P4-toetsen van de DIP-schakelaar AAN staan, klik op de ESP-RST-knop, klik op STOP en klik opnieuw op START.

In 'Download Path Config' moet u het gedownloade bestand 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' selecteren. Klik op de '…' van het eerste veld en navigeer in het geopende venster naar de map waar je de firmware hebt geplaatst en selecteer het bestand 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin'. Vul in het veld 'ADDR' de offset 0x00000 in en vink het selectievakje aan om te voltooien. Als u klaar bent, heeft u de instellingen zoals hieronder weergegeven:

Afbeelding
Afbeelding

Klik nu op START om het proces te starten:

OPMERKING: Als u de Arduino seriële USB-converter gebruikt als tussenstation tussen het schild en de computer, klikt u op de ESP-RST-knop van het schild voordat u op START klikt. Als u een conventionele seriële USB-converter gebruikt, is deze procedure niet nodig

Afbeelding
Afbeelding

Wacht tot het firmware-upgradeproces is voltooid (het duurt ongeveer zeven minuten voordat het proces is voltooid):

Afbeelding
Afbeelding

Na het voltooien van het firmware-upgradeproces, sluit u de ESP_DOWNLOAD_TOOL_V2.4-vensters, zet u de P3- en P4-contacten van de DIP-schakelaar terug in de UIT-positie en drukt u op de ESP-RST-knop op het schild zodat deze de firmware-upgrademodus kan verlaten.

Open nu de Arduino IDE zodat je AT-commando's naar het bord kunt sturen om te controleren of de firmware correct is bijgewerkt en of het bord op de commando's reageert.

Ga met de IDE open naar het menu 'Extra' en selecteer vervolgens in de optie 'Poort' de COM-poort. Merk in de onderstaande afbeelding op dat ik de COM7-poort heb geselecteerd (uw poort zal waarschijnlijk anders zijn):

Afbeelding
Afbeelding

U hoeft het bord NIET in de IDE te selecteren, omdat dit niet relevant is voor het verzenden van AT-commando's.

Open de 'Serial Monitor' en controleer in de footer of de snelheid op 115200 staat en of 'Beide, NL en CR' is geselecteerd:

Afbeelding
Afbeelding

Typ nu het commando 'AT' (zonder aanhalingstekens) en geef 'ENTER' of klik op 'Verzenden'. Als de verbinding werkt, moet u het bericht 'OK' retourneren:

Afbeelding
Afbeelding

OPMERKING: Als het verzenden van de opdracht GEEN feedback ontvangt of een willekeurige tekenreeks ontvangt, verander dan de snelheid van 115200 van de seriële monitor naar 9600 en verzend de opdracht opnieuw

Typ in de 'Serial Monitor' het commando 'AT + GMR' (zonder aanhalingstekens) en geef 'ENTER' of klik op 'Verzenden'. Als u feedback ontvangt zoals hieronder weergegeven, is uw ESP8266 WiFi Shield met succes bijgewerkt:

Afbeelding
Afbeelding

Als u de communicatie baudrate met het 9600 shield wilt wijzigen, voert u het commando 'AT + UART_DEF = 9600, 8, 1, 0, 0' in (zonder aanhalingsteken) en geeft u 'ENTER' of klikt u op 'Verzenden'. Als u de onderstaande informatie ontvangt, is de communicatiesnelheid gewijzigd:

Afbeelding
Afbeelding

OPMERKING: Wanneer u de baudrate van het schild wijzigt, moet u ook de snelheid wijzigen van 115200 naar 9600 in de voettekst Monitor Serial. Verstuur daarna nogmaals het 'AT'-commando (zonder aanhalingstekens) en druk op 'ENTER' of klik op 'Verzenden'. Als u de 'OK' als retour ontvangt, werkt de communicatie

Als je het schild wilt gebruiken om wifi aan de Arduino toe te wijzen, is de ideale communicatiesnelheid 9600 baud.

In de volgende stap zul je ontdekken welk schild je hebt, aangezien het mogelijk is om ten minste drie schilden op de markt te vinden die hetzelfde lijken, maar in feite hebben deze borden een aantal punten die ze verschillen, zelfs in de kwestie van werken met de Arduino door middel van communicatie via de native seriële.

Stap 3: Schild, Schild, Meer en Moer? Maakt het uit?

Als het de ESP8266 ESP-12E UART Wireless WIFI Shield TTL-converter is, is het mogelijk om ten minste drie borden te vinden die ogenschijnlijk hetzelfde zijn, maar in feite hebben deze borden een aantal punten die ze verschillen, zelfs als het gaat om het werken met de Arduino via native seriële communicatie.

Hierna kunt u zien wat de borden onderscheidt en ontdekken welke van u is.

Shiald WiFi ESP8266:

Afbeelding
Afbeelding

Merk op dat op dit bord het woord Shield is geschreven als "Shiald" en dat het woord "more" de "m" in kleine letters heeft. In de tests die ik lange tijd deed, vertoonde het bord GEEN gebreken in zijn werking.

Schild WiFi ESP8266:

Afbeelding
Afbeelding

Merk op dat op dit bord het woord Shield correct is geschreven en dat het woord "More" de "M" in hoofdletters heeft. Wat de werking betreft, gedraagt dit bord zich op dezelfde manier als de Shiald-versie, dat wil zeggen dat het bord niet defect is.

Dus je bedoelt dat de Shiald- en Shield-borden alleen verschillen hebben in de kwestie van PCB-zijde?

Ja, deze twee kaarten hebben alleen een verschil in het schrijven van twee woorden. Het circuit op beide borden is hetzelfde en beide werken perfect met de Arduino of alleen (standalone-modus). Aangezien de Arduino de juiste code heeft geladen en dat een van de schilden ook met de juiste firmware is, plaatst u na het bevestigen van het schild op de Arduino en het aansluiten van de USB-kabel eenvoudig de P1- en P2-contacten van de DIP-schakelaar in de AAN-positie en de communicatie via native seriële (pinnen D0 en D1) tussen de borden zal worden gemaakt.

Sommigen zeggen dat deze Shiald-versie de onstabiele draadloze verbinding heeft, maar ik beweer dat er helemaal geen instabiliteit is.

Shield WiFi ESP8266 (meer):

Afbeelding
Afbeelding

Merk op dat op dit bord het woord Shield correct is geschreven en het woord "More" is geschreven "Moer", dat wil zeggen verkeerd. Helaas werkt dit bord niet zoals het zou moeten en als het is aangesloten op de Arduino (met de DIP-schakelaarcontacten UIT of AAN) en de gebruiker probeert een code op de Arduino te laden, verschijnt er een foutmelding in de IDE als de het laden zal mislukken.

Als uw schild het schild is dat in Moer is geschreven en u problemen hebt gehad om het met uw Arduino te gebruiken via native seriële communicatie, gaat u naar de volgende stap en leert u hoe u het probleem kunt oplossen. Als uw schild NIET DE Moer IS, gaat u verder met stap 5.

Stap 4: Shield Moer - RX / TX seriële communicatie oplossen

Als dit bord (Moer) is gekoppeld aan de Arduino (met de DIP-schakelaar contacten UIT of AAN) en de gebruiker probeert een code op de Arduino te laden, verschijnt er een foutmelding in de IDE omdat het laden zal mislukken. Dit komt door een componentfout die wordt gebruikt bij de constructie van de schilden.

Het schild dat de juiste constructie en werking heeft, heeft twee Channel N MOSFET's gelast en wordt geïdentificeerd als J1Y. Een van de J1Y-transistoren is verbonden met de ESP8266 RX en de andere is verbonden met de ESP8266 TX. In de onderstaande afbeelding ziet u de twee transistoren gemarkeerd:

Afbeelding
Afbeelding

Deze J1Y-transistor is een BSS138 waarvan het doel is om 5V logische niveauschakelingen te laten communiceren met 3,3V logische niveauschakelingen en vice versa. Aangezien de ESP8266 een logisch niveau van 3,3 V heeft en de Arduino een logisch niveau van 5 V heeft, is het noodzakelijk om een logisch niveau-converter te gebruiken om de perfecte werking van de ESP8266 te garanderen.

In het schild Moer zijn op het bord twee transistoren gesoldeerd die worden geïdentificeerd als J3Y. In de onderstaande afbeelding ziet u de twee transistoren gemarkeerd:

Afbeelding
Afbeelding

De J3Y-transistor is een S8050 NPN en dit type transistor wordt veel gebruikt in versterkerschakelingen. Om de een of andere reden gebruikten ze ten tijde van de constructie van het schild Moer de transistor J3Y in plaats van de omzetter van logisch niveau J1Y.

Op deze manier zullen de RX- en TX-pinnen van de ESP8266 niet werken zoals ze zouden moeten en daarom zal het schild geen seriële communicatie met de Arduino hebben. Aangezien het schild met de Arduino communiceert via de native seriële (pinnen D0 en D1), zal het laden van de Arduino-code (in de Arduino) nooit succesvol worden voltooid, omdat er in sommige gevallen altijd ongeveer 2,8 V in de RX en Arduino TX of constante 0V, allemaal vanwege de verkeerde transistors.

Na al deze informatie is het duidelijk dat de enige oplossing voor het schild Moer, het vervangen van J3Y-transistoren door J1Y-transistoren is. Voor deze procedure heb je naast het Moer-schild van geduld nodig, en:

01 - Soldeerbout01 - Tin01 - Pincet of Naaldtang01 - Laszuiger02 - BSS138 (J1Y)

De BSS138 (J1Y) transistor wordt gebruikt in de 3.3V/5V Logic Level Converter.

OPMERKING: De volgende procedure vereist dat u weet hoe u met een soldeerbout moet omgaan en dat u de minste laservaring hebt. De componenten die zullen worden verwijderd en die zullen worden vervangen, zijn SMD-componenten en vereisen meer zorg en geduld bij het lassen met een gewone soldeerbout. Zorg ervoor dat u de soldeerbout niet te lang bij de transistoraansluitingen laat, omdat deze hierdoor beschadigd kunnen raken

Verwarm met de hete soldeerbout een van de transistoraansluitingen en doe wat tin. Voer deze procedure uit voor elk van de klemmen van de twee transistoren. Overmatig lassen aan de klemmen maakt het gemakkelijker om de transistors te verwijderen:

Afbeelding
Afbeelding

Pak nu het pincet/tangetje, houd de transistor aan de zijkanten vast, verwarm de zijkant van de transistor die maar één aansluiting heeft en duw de transistor omhoog zodat de aansluiting loskomt van het soldeer. Probeer nog steeds met de pincet / tang die de transistor vasthoudt, de punt van de soldeerbout tegen de andere twee terminals te plaatsen en duw de transistor omhoog om hem los te maken van het bord. Doe dit voor beide transistors en wees heel voorzichtig:

Afbeelding
Afbeelding

Verwijder de twee J3Y IC's van het schild, plaats het J1Y IC op zijn plaats, houd het vast met het pincet/tangetje en verwarm elk uiteinde van het schild zodat het tin in het contact komt. Als de contacten laag soldeer zijn, verwarm ze dan en plaats meer tin. Doe dit voor beide transistors en wees heel voorzichtig:

Afbeelding
Afbeelding

Na de reparatie begon het schild dat voorheen geen directe communicatie met de Arduino had, verbinding te maken met het bord via de native seriële (pinnen D0 en D1).

Een eerste test om te bevestigen dat de reparatie succesvol was, is om het schild (met alle DIP-schakelaarcontacten UIT) aan de Arduino te bevestigen, de USB-kabel op het bord en de computer aan te sluiten en te proberen een code in de Arduino te laden. Als alles in orde is, wordt de code met succes geladen.

Stap 5: Webserver met ESP8266 ESP-12E UART Wireless WIFI Shield TTL-converter voor Arduino

Als primaire vereiste om door te gaan met deze stap, moet u stap 2 hebben uitgevoerd.

Zoals ik eerder al zei, om het schild met de Arduino te gebruiken via de native seriële (pinnen D0 en D1), is het noodzakelijk dat een code in het schild wordt geladen en dat Arduino een andere code laadt om de gegevens die via de oorspronkelijke seriële gegevens worden verhandeld. In het schild kunnen we een firmware van AT-opdrachten plaatsen en de Arduino programmeren om de opdrachten naar het schild te sturen om verbinding te maken met een WiFi-netwerk en om de in- en uitgangen van de Arduino te besturen.

In deze stap zullen we de WiFiESP-bibliotheek gebruiken, omdat deze al over alle noodzakelijke functies beschikt om de ESP8266 (Shield WiFi ESP8266 in ons geval) met de Arduino te integreren en WiFi aan het bord toe te wijzen. De WiFiESP-bibliotheek werkt door AT-opdrachten te verzenden, waarna de draadloze netwerkverbinding van de router en elk verzoek aan de webserver resulteren in het verzenden van AT-opdrachten naar het schild.

Om de WiFiESP-bibliotheek te laten werken, moet de firmwareversie van het AT-commando minimaal 0,25 of hoger zijn. Dus als u de AT-commandoversie van uw schild niet kent, ga dan naar stap 2 om het bord bij te werken met firmware met een AT-commandoversie van 1.2.0.0 en keer dan terug om verder te gaan.

Een ding dat ik tijdens mijn tests met het schild en de Arduino heb vastgesteld, is dat, omdat de communicatie tussen hen plaatsvindt via de native seriële (pinnen D0 en D1), het noodzakelijk wordt dat de seriële exclusief wordt gebruikt voor de communicatie tussen hen. Daarom raad ik het gebruik van "Serial.print() / Serial.println()" niet aan om informatie af te drukken op de Arduino IDE seriële monitor of enig ander programma dat seriële informatie weergeeft.

Standaard is de WiFiESP-bibliotheek geconfigureerd om seriële fouten, waarschuwingen en andere communicatie-informatie tussen de Arduino en ESP8266 weer te geven. Zoals ik eerder al zei, moet de serie worden vrijgegeven voor communicatie tussen de Arduino en het schild. Daarom heb ik een bestand uit de bibliotheek bewerkt en de weergave van alle informatie in het tijdschrift uitgeschakeld. De enige informatie die op de seriële monitor wordt weergegeven, zijn de AT-opdrachten die de bibliotheek naar het schild stuurt om verbinding te maken met het draadloze netwerk of de AT-opdrachten om verzoeken aan de webserver uit te voeren.

Download de gewijzigde WiFIESP-bibliotheek en installeer deze in de Arduino IDE:

WiFIESP-modus

Ga in de installatiemap van de bibliotheek naar het pad "WiFiEsp-master\src\utility" en daarin bevindt zich het bestand "debug.h" dat is bewerkt om de weergave van informatie over het serienummer uit te schakelen. Als we het bestand openen in Kladblok ++, hebben we bijvoorbeeld regels 25, 26, 27, 28 en 29 die een overeenkomstige nummering tonen voor de soorten informatie die op de seriële monitor worden weergegeven. Merk op dat het cijfer 0 de weergave van alle informatie op de seriële monitor uitschakelt. Ten slotte heb ik in regel 32 de "_ESPLOGLEVEL_" geconfigureerd met waarde 0:

Afbeelding
Afbeelding

Als u de WiFiESP-bibliotheek in andere projecten met ESP8266 wilt gebruiken en de informatie op de seriële monitor wilt weergeven, stelt u eenvoudig "_ESPLOGLEVEL_" in op waarde 3 (standaardwaarde van de bibliotheek) en slaat u het bestand op.

Aangezien uw schild al AT-commando-firmwareversie 0.25 of hoger heeft, gaan we verder.

Bevestig het schild aan uw Arduino (Uno, Mega, Leonardo of andere versie waarmee het schild kan worden bevestigd), zet alle DIP-schakelaarcontacten in de UIT-stand, sluit een LED aan tussen pin 13 en GND en sluit de USB-kabel aan op de Arduino en de computer:

Afbeelding
Afbeelding

Ik heb de Arduino Mega 2560 gebruikt, maar het eindresultaat zal hetzelfde zijn als je een ander Arduino-bord gebruikt waarmee het schild kan worden gekoppeld.

Download de code van de link en open deze in de Arduino IDE:

Code webserver

Als je Arduino Leonardo gebruikt, ga dan naar regel 19 en 20 van de code en verander het woord Serial in Serial1, zoals weergegeven in de onderstaande afbeelding:

Afbeelding
Afbeelding

In de code moet u de naam van uw WiFi-netwerk invoeren in de regel char * ssid = "NAAM VAN UW WIFI-NETWERK";, het wachtwoord moet in de regel invoeren char * wachtwoord = "WACHTWOORD VAN UW WIFI-NETWERK"; en op de WiFi.config-regel (IPAddress … moet u een beschikbaar IP-adres op uw draadloze netwerk invoeren omdat deze code een statisch IP-adres gebruikt:

Afbeelding
Afbeelding

Selecteer in het menu "Tools" "Board" en selecteer het model van uw Arduino. Selecteer nog steeds in het menu "Tools" de optie "Poort" en controleer de COM-poort waaraan uw Arduino is toegewezen.

Klik op de knop om de code naar de Arduino te sturen en wacht op het laden.

Na het laden van de code op de Arduino, koppelt u de USB-kabel los van de kaart, zet u de P1- en P2-contacten van de DIP-schakelaar van het schild in de AAN-stand en sluit u de USB-kabel weer aan op de Arduino.

OPMERKING: Zolang de P1- en P2-contacten van het schild in de AAN-positie staan, kunt u geen codes naar de Arduino sturen omdat de native serieel bezet zal zijn. Onthoud dat elke keer dat u de positie van de DIP-schakelaars van de schakelaar wijzigt, u op de ESP-RST-knop drukt

Open onmiddellijk de Arduino IDE seriële monitor:

Afbeelding
Afbeelding

Met de seriële monitor open kun je de AT-commando's volgen die naar het schild worden gestuurd om de webserver te laten draaien. Als er geen informatie wordt weergegeven bij het openen van de seriële monitor, drukt u op de RESET-knop op uw Arduino en wacht u.

Merk op dat op de seriële monitor het commando "AT + CIPSTA_CUR" het IP-adres toont om verbinding te maken met de webserver en het commando "AT + CWJAP_CUR" de naam en het wachtwoord van het draadloze netwerk waarin het schild is aangesloten:

Afbeelding
Afbeelding

Kopieer het IP-adres dat op de seriële monitor wordt weergegeven, open uw internetbrowser, plak het IP-adres en druk op ENTER om te openen. Een webpagina die lijkt op de onderstaande wordt geladen:

Afbeelding
Afbeelding

De webpagina heeft een knop die verantwoordelijk is voor het in- / uitschakelen van de LED die is aangesloten op pin 13 van de Arduino. Druk op de knop om de LED aan / uit te zetten en te zien dat de huidige status op de pagina wordt bijgewerkt.

U kunt de webpagina ook openen via bijvoorbeeld een smartphone of tablet.

Zie onderstaande video voor het eindresultaat:

Dit was een eenvoudige oefening, omdat het doel was om te laten zien hoe gemakkelijk het is om het schild met de Arduino te gebruiken. Alle projecten die u op internet vindt die de ESP8266 gebruiken om WiFi aan de Arduino toe te wijzen, kunnen worden gereproduceerd met dit WiFi Shield, het verschil is dat u geen spanningsdelers in het protoboard hoeft te monteren om platforms te communiceren, en in eenvoudige projecten hoeft u zich geen zorgen te maken over het voeden van het circuit met externe voeding. Bovendien zal uw project een veel aangenamere esthetiek hebben.

Nu je weet hoe je de Shield WiFi ESP8266 met de Arduino vanaf een webserver kunt integreren, pas je de code aan en implementeer je een uitgebreider project of begin je met het ontwikkelen van je eigen code.

Nogmaals sorry voor de fouten in het Engels.

Als je vragen hebt over het schild, stel ze dan gewoon en ik zal graag reageren.

Aanbevolen: