Inhoudsopgave:

ESP-12E (ESP8266) met Arduino Uno: verbinding maken - Ajarnpa
ESP-12E (ESP8266) met Arduino Uno: verbinding maken - Ajarnpa

Video: ESP-12E (ESP8266) met Arduino Uno: verbinding maken - Ajarnpa

Video: ESP-12E (ESP8266) met Arduino Uno: verbinding maken - Ajarnpa
Video: Inleiding tot NodeMCU ESP8266 WiFi-ontwikkelbord met voorbeeld van HTTP-client 2024, November
Anonim
ESP-12E (ESP8266) met Arduino Uno: verbinding maken
ESP-12E (ESP8266) met Arduino Uno: verbinding maken

WORK IN PROGRESS, LAAT COMMENTAAR ZODAT WE HET SAMEN KUNNEN VERBETEREN

Deze tutorial is het eerste van drie delen bedoeld voor mensen die hun ESP8266 willen aansluiten via een Arduino UNO-bord. Meer specifiek zal ik de ESP-12E-versie van deze wifi-modules gebruiken.

Persoonlijk had ik veel problemen toen ik ESP8266-borden begon te verkennen. Er is veel informatie beschikbaar, maar het is voor een beginner behoorlijk ontmoedigend om er doorheen te bladeren en ik heb nooit een tutorial naar mijn smaak gevonden over het gebruik ervan met Arduino Uno. Ik heb daarom besloten om mijn eigen tutorial te maken met de kennis die ik heb verzameld van eindeloze uren kijken op sites, blogs, forums, enz. zodat anderen niet hetzelfde vervelende proces hoeven te doorlopen.

Dit is wat de verschillende onderdelen zullen behandelen:

  1. Hoe de ESP-12E op de UNO aan te sluiten voor basisbediening en seriële communicatie;
  2. Hoe nieuwe firmware naar de module te flashen;
  3. Hoe u uw eigen schetsen uploadt naar uw ESP-12E.

Ik neem aan dat je al een soort breakout-bord voor je module hebt of een manier om draden aan de verschillende pinnen te bevestigen. Deze reeks tutorials gaat niet in op het bouwen van een breakout-bord. ankitdaf heeft HIER een goede tutorial over dit onderwerp -- ik gebruik iets dat erg lijkt op zijn build.

Ik ga ook niet in op het installeren van de Arduino IDE, omdat je het waarschijnlijk hebt geïnstalleerd als je een UNO hebt. Hier is de officiële link voor het geval je die niet hebt.

Laat me je vanaf het begin vertellen: DEZE CONFIGURATIE WERKT! Ik gebruik het nu al een tijdje met succes en het heeft me niet in de steek gelaten (geen resets of iets dergelijks).

Wat je nodig hebt:

  • Arduino UNO-bord
  • ESP-12E-module (heb dit niet getest op andere versies, maar het zou kunnen werken, probeer het eens)
  • 3.3V stroombron, gebruik geen Arduino 3.3V pin

    • Ik gebruik een 5V USB-telefoonoplader en een step-down spanningsomvormer
    • gebruik iets dat in staat is om ten minste 500 mA te leveren om er zeker van te zijn, aangezien sommige mensen pieken tot 420 mA in ESP-modules hebben opgemerkt
    • EDIT: Ik gebruik de mijne eigenlijk net onder de 3.6V en het lijkt beter te presteren dan bij 3.3V.
  • jumperdraden
  • 4 x 10kΩ weerstanden
  • een breadboard
  • 2 drukknoppen (optioneel maar aanbevolen voor gebruiksgemak)
  • een 470uF condensator (optioneel maar aanbevolen voor stabiliteit)

Stap 1: Maak de verbindingen

Maak de verbindingen
Maak de verbindingen

Begin met het diagram en raadpleeg de onderstaande beschrijving als iets niet duidelijk is

Hier is een mooi, groot diagram dat niet is gecomprimeerd als je het nodig hebt: BEDRADINGSSCHEMA.

WAARSCHUWING: Nogmaals, gebruik de 3.3V-pin op de Arduino UNO niet om uw ESP-module van stroom te voorzien. De ESP trekt meer stroom dan de 3.3V-pin kan leveren.

VAN STROOMBRON NAAR BREADBOARD:

+3.3V naar positieve rail van breadboard

GND/Negatief voor negatieve rail van breadboard

Er is ook een condensator van 470 F aangesloten tussen de positieve en negatieve rails van het breadboard. Dit is een gepolariseerde condensator dus wees voorzichtig met de bedrading: de kant met de streep geeft meestal de minpool aan, sluit deze dus aan op de minrail en de andere op de plusrail.

VAN ESP NAAR BREADBOARD:

VCC naar positieve rail van breadboard

GND naar negatieve rail van breadboard

EN (of CH_PD) hoog getrokken (naar 3,3V) met een weerstand van 10kΩ

RST wordt normaal gesproken hoog getrokken met een weerstand van 10 kΩ, maar is verbonden met GND wanneer op de "RESET"-knop wordt gedrukt

GPIO15 naar beneden getrokken (naar GND) met een weerstand van 10kΩ

GPIO0:

  • Normale werking: hoog getrokken met 10kΩ-weerstand OF zwevend (niet aangesloten op iets)
  • Knipperen/uploaden: Verbonden met GND wanneer "FLASH"-knop wordt ingedrukt

Als u de knoppen niet wilt gebruiken:

  • RST moet hoog worden getrokken; handmatig verbinden en loskoppelen met GND wanneer een reset van de ESP vereist is; alternatief: laat RST hoog getrokken en schakel de ESP uit/aan door de VCC-lijn los te koppelen en opnieuw aan te sluiten
  • GPIO0 mag voor normaal gebruik nergens op worden aangesloten, maar sluit hem handmatig aan op GND als u firmware wilt flashen of schetsen wilt uploaden

VAN ESP NAAR ARDUINO:

TX op ESP naar TX-pin op Arduino (pin #1)

RX op ESP naar RX pin op Arduino (pin #0)

OP ARDUINO

RESET-pin moet worden aangesloten op GND-pin (dit schakelt het resetten van de kaart bij seriële com-initialisatie in Arduino uit)

Als je alles correct hebt aangesloten, zou je in ieder geval de blauwe LED op de ESP moeten zien knipperen wanneer je deze reset/opnieuw opstart.

Stap 2: Open Arduino IDE en de seriële monitor

Open Arduino IDE en de seriële monitor
Open Arduino IDE en de seriële monitor
Open Arduino IDE en de seriële monitor
Open Arduino IDE en de seriële monitor

U zou nu helemaal klaar moeten zijn om met uw ESP te communiceren via de Arduino UNO vanaf de seriële monitor.

Al mijn ESP's zijn vooraf geladen met de AT-opdrachtenbibliotheek. Dat gezegd hebbende, er zijn mensen die zeggen dat hun ESP's aanvankelijk niets bevatten en dat ze de ene of de andere firmware moesten flashen. We zullen hoe dan ook in deze stap te weten komen

Open de Arduino IDE, selecteer de poort waarop uw Arduino UNO is aangesloten en open vervolgens de seriële monitor.

Selecteer in de rechterbenedenhoek van de seriële monitor 115200 als baudrate. Je moet ook "Beide NL & CR" hebben geselecteerd.

Zorg ervoor dat alle verbindingen uit de vorige stap correct zijn - we streven hier naar basisbediening, niet knipperend, dus GPIO0 moet hoog worden getrokken of losgekoppeld worden gelaten.

Reset/herstart de ESP-module. Als alles in orde is, zou je in de seriële monitor eerst wat mumbo-jumbo-tekens moeten zien, gevolgd door "ready". Als dit wordt weergegeven, bent u klaar om een paar opdrachten te testen, dus ga verder met de volgende stap.

Stap 3: AT-opdrachten

AT-opdrachten
AT-opdrachten

Nu zijn we klaar om een paar commando's in de seriële monitor te typen. Typ gewoon de gewenste opdracht

Hier is een lijst met de meest gebruikte commando's.

AT controleer of de module correct is aangesloten en functioneert, de module zal antwoorden met een bevestiging. AT+RST reset de wifi-module. Het is een goede gewoonte om het te resetten voor of nadat het is geprogrammeerd.

AT+GMR geeft de firmwareversie weer die op de ESP8266 is geïnstalleerd.

AT+CWLAP detecteert de beschikbare toegangspunten (wifi-netwerken) in het gebied en hun signaalsterktes. LAP betekent Lijst toegangspunten

AT+CWJAP=” SSID”,” PASSWORD” verbindt de ESP8266 met de gespecificeerde SSID in de AT-opdracht die in de vorige code wordt genoemd. JAP betekent Join Access Point

AT+CWJAP="", "" verbreek de verbinding met alle toegangspunten

AT+CIFSR geeft het verkregen IP-adres en het MAC-adres van de ESP weer.

AT+CWMODE= stelt de wifi-modus in. Reset met AT+RST na het wijzigen van de wifi-modus.

AT+CW-MODUS? zal u vertellen op welke wifi-modus de module is ingesteld. 1 is STATION (gebruikt om verbinding te maken met andere netwerken, dit is wat je gebruikt om sensorgegevens te meten en naar een website te sturen), 2 is Access Point (een wifi-netwerk op zich), en 3 is een hybride STATION-ACCESS POINT.

Als je dieper wilt ingaan op AT-commando's, dan is hier de officiële documentatie met alle mogelijke AT-instructies. En voor het geval ze besluiten het te verplaatsen, heb ik het 2016-document hieronder bijgevoegd.

In de volgende tutorial zullen we zien hoe we deze setup kunnen gebruiken om firmware naar de ESP-12E te flashen met de ESP Flash Tool 2.4.

WORK IN PROGRESS, LAAT COMMENTAAR ZODAT WE HET SAMEN KUNNEN VERBETEREN

Aanbevolen: