Inhoudsopgave:

Sluit Arduino Uno aan met ESP8266 - Ajarnpa
Sluit Arduino Uno aan met ESP8266 - Ajarnpa

Video: Sluit Arduino Uno aan met ESP8266 - Ajarnpa

Video: Sluit Arduino Uno aan met ESP8266 - Ajarnpa
Video: Как использовать Arduino IDE с поддержкой ESP8266 2024, Juni-
Anonim
Verbind Arduino Uno met ESP8266
Verbind Arduino Uno met ESP8266

Welkom! U staat op het punt een stapsgewijze handleiding te lezen over hoe u uw Arduino Uno met succes kunt verbinden met internet met de ESP8266 (ESP-01). Het is ook mijn eerste Instructable ooit, dus wees alsjeblieft met me!

Laat ik beginnen met te zeggen dat de ESP8266 een klein, goedkoop stukje hardware is dat, indien correct geprogrammeerd, een enorme wereld kan openen, vooral de IOT-wereld. Plots kunnen al uw projecten met één druk op de knop via het web worden geactiveerd, of dit nu via uw telefoon of pc is. De mogelijkheden zijn eindeloos, en op de een of andere manier maakt het me echt enthousiast. Helaas is het niet altijd een gemakkelijk proces en zult u hoogstwaarschijnlijk problemen tegenkomen die ik niet heb. Hoe dan ook, ik zal mijn best doen om vragen te beantwoorden en elk probleem dat ik tegenkwam te vermelden!

Update 2020: onlangs moest ik een nieuwe ESP8266 bijwerken en heb ik dit artikel gebruikt als mijn persoonlijke gids over hoe ik dit moet doen. Ik realiseerde me al snel dat sommige links die ik heb verstrekt verouderd zijn/niet werken, dus ik probeerde ze opnieuw te vervangen. Daarbij kwam ik erachter dat er een nieuwe flash-software is voor de ESP8266, evenals een aantal mooi gedocumenteerde en bijgewerkte firmware. Ik heb mijn best gedaan om de ESP te updaten naar de laatst mogelijke firmware, maar zonder enig succes. De nieuwe flitser is geavanceerder, maar tegelijkertijd ook ingewikkelder. Er zijn veel meer firmware-downloads beschikbaar (wat geweldig is), maar tegelijkertijd hebben gebruikers geen idee welke ze moeten downloaden. Technisch klinkt dit allemaal erg goed en de ESP heeft eindelijk wat "officiële" ondersteuning en documentatie, maar tegelijkertijd werd het zoveel gecompliceerder. Na ongeveer 4 uur onderzoek en wat vallen en opstaan, heb ik besloten het op te geven en gewoon dezelfde flasher en hetzelfde bestand te gebruiken dat ik in dit artikel heb gebruikt. Ik heb de links bijgewerkt en host ze nu zelf, dus zolang ik het niet verknal, blijven ze voor altijd online. Als je wat meer wilt lezen over deze nieuwe toevoegingen van de community, ga dan naar de laatste stap van deze Instructable waar ik wat extra links heb geplaatst.

Stap 1: Hardware

Hardware
Hardware

Update 2020: ik heb een YouTube-video gevonden die daadwerkelijk verbinding maakt met de ESP zonder iets te solderen en zonder adapters!

Oké, dus dit is een beetje een lastig onderdeel, omdat er veel manieren zijn om met de ESP6288 te communiceren. Ik heb geprobeerd de gemakkelijkste manieren te vinden die er zijn en het spijt me het je te moeten zeggen, maar ik denk niet dat je met succes code naar de ESP kunt uploaden zonder een kleine schakelaar of een paar knoppen te solderen … Uiteindelijk heb ik de volgende hardware gebruikt:

  1. Arduino Uno
  2. ESP8266 (ESP-01)
  3. ESP8266 USB-adapter
  4. ESP-01-adapter
  5. Schakelaar voor de USB-adapter
  6. 4 vrouwelijke-mannelijke jumperdraden
  7. USB-kabel om Arduino en pc aan te sluiten

Zoals je ziet, zijn ze niet zo duur en het is niet nodig om een breadboard te gebruiken of al die rare weerstanden en dat soort dingen. Het zijn allemaal simpele adapters en bedrading.

Uiteraard heb je naast de ESP8266 ook een Arduino nodig. Maar dan heb je ook nog twee adapters nodig voor de ESP:

  • Eentje om het te kunnen programmeren (nummer 3 op de lijst). Dit is ook de adapter die onze eigen aanpassing zal hebben met een schakelaar.
  • Een tweede adapter zodat je de ESP niet doodt door hem aan te sluiten op de Arduino (nummer 4 op de lijst). Aangezien de ESP 3,3V loopt, zal 5V van de Arduino het doden. En de 3.3V van de Arduino is niet krachtig genoeg.

Ten slotte zijn ook enkele jumperdraden en een USB-kabel nodig om de Arduino op de pc aan te sluiten.

Stap 2: Een schakelaar op de USB-adapter solderen

Een schakelaar op de USB-adapter solderen
Een schakelaar op de USB-adapter solderen
Een schakelaar op de USB-adapter solderen
Een schakelaar op de USB-adapter solderen

Helaas, om de ESP te programmeren, heb je een manier nodig om de GND Pin en GPIO0 Pin aan te sluiten. Het is me gelukt om een kleine schakelaar te solderen waarmee je kunt kiezen of je in de "programmamodus" wilt zijn of niet. De volgende YouTube-video helpt je bij deze taak, ik raad je ten zeerste aan om deze te bekijken, omdat deze je ook iets vertelt over software en waarom je Ground en GPIO 0 moet verbinden.

Dit is in het kort wat ik heb gedaan:

  • Knip een van de buitenste poten van de schakelaar af, dit kan de rechter of de linker zijn
  • Draai de USB-adapter ondersteboven en soldeer de twee poten van de schakelaar aan de GND-pin en GPIO0-pin. Zorg ervoor dat u geen andere pinnen aansluit, omdat dit later mogelijk niet werkt.
  • Test uw schakelaar met een multimeter

Nogmaals, controleer bij twijfel de bovenstaande YouTube-link.

Ook heeft de afbeelding hierboven de schakelaar op de "Programmodus". Als je exact dezelfde schakelaarpinnen hebt gesoldeerd als ik, weet je nu welke kant "Programmodus" is.

En als je niet van schakelaars houdt, is hier een tutorial met knoppen.

Stap 3: Software

Voor degenen die alleen op zoek zijn naar links, hier zijn ze.

ESP8266:

  • Knipperlicht
  • Firmware (ik ben er vrij zeker van dat dit de nieuwste versie zal zijn, aangezien deze sinds december 2016 niet meer is bijgewerkt)

Arduino Uno:

  • Arduino IDE
  • Board Manager URL (Dit verandert niet zo goed, het is altijd dezelfde link)

En voor degenen die geen idee hebben wat die links betekenen, laat me je begeleiden!

  1. De eerste stap is het installeren van de Arduino IDE. Zou vrij eenvoudig moeten zijn … Druk op volgende volgende enz. en je bent klaar.
  2. De volgende stap is de installatie van de IDE, zodat u uw ESP kunt programmeren. Om dit te doen, moet je naar Bestand -> Voorkeuren gaan en onderaan onder Extra Boards Manager-URL's: plak de volgende URL.
  3. Ga vervolgens naar tools -> Board -> Boards Manager en scrol helemaal naar beneden totdat je er een vindt met de naam esp8266 en klik op installeren. Laatste versie alstublieft. Wanneer de installatie is voltooid, start u de IDE opnieuw.
  4. Ga nu zowel de flasher als de firmware voor de ESP downloaden. Maak een map op uw bureaublad met de naam "Flasher" en pak beide gedownloade bestanden erin uit. We hebben ze later nodig.

Cool, nu zou je alle software moeten hebben die nodig is om de ESP te programmeren!

Stap 4: De ESP testen

De volgende is uw eerste verbinding met de ESP. Dit deel is een beetje lastig en wat voor mij werkte, werkt misschien niet voor jou … Laten we op het beste hopen.

Laten we beginnen met het uploaden van een vooraf gemaakte schets die een blauwe LED op de ESP knippert. Om dit te laten werken, heb je het volgende nodig:

  • Een gemodificeerde USB-adapter voor de ESP, zodat je deze op "Programmode" kunt zetten. Stap 2 van deze Instructable.
  • Weet op welke USB-poort (COM-poort) uw ESP wordt aangesloten.

Maak je geen zorgen als je de COM-poort niet kent. Het is gemakkelijk om erachter te komen. Open uw IDE en klik op tools -> Port en noteer de vermelde poort(en). Steek daarna uw USB-adapter in en controleer de vermelde poorten opnieuw. De nieuwe is de COM-poort die u zoekt!

PS: Ik ben een Windows-gebruiker. Als ik het me goed herinner, noemen Macs ze geen COM-poorten. Hoe dan ook, het zou nog steeds moeten werken!

Dus nu u uw poort kent, kunt u gerust uw USB-adapter aansluiten! Het moet op "Program mode" staan, met andere woorden, GND en GPIO0 moeten verbonden zijn. Open de IDE en ga naar Tools -> Board en kies de Generic ESP8266 Module. Zorg er vervolgens voor dat u onder Tools de volgende instellingen heeft:

  • Bord: "Generieke ESP8266-module"
  • Poort: Uw COM-poort

Ga ten slotte naar Bestand -> Voorbeelden -> ESP8266 -> Knipperen en klik op het kleine vinkje in de linkerbovenhoek van de IDE. Dit zal uw code verifiëren en u vertellen of er iets mis mee is. Ik raad je ten zeerste aan dit elke keer te doen voordat je een schets uploadt naar de ESP of de Arduino! Als dit is gelukt, ziet u 'Klaar met compileren'. tekst. Het enige wat u nu nog hoeft te doen, is op het pictogram "pijl naar rechts" linksboven in de IDE te klikken om de code te uploaden. Als alles correct is ingesteld, zou je moeten zien dat het wordt geüpload en uiteindelijk wordt voltooid. Kijk eens naar je ESP, deze zou een knipperende LED moeten hebben! Gefeliciteerd, je hebt zojuist je eerste programma geüpload naar je ESP!

Maak je geen zorgen als je een foutmelding krijgt. Waarschijnlijk zat de schakelaar niet aan de rechterkant. Koppel uw USB-adapter los en "schakel de schakelaar", sluit deze weer aan en herhaal het proces. Als het werkt, weet je dat dat de "Program mode" kant is! Mocht het dan nog niet lukken, succes. Dat is wat ik bedoelde met "wat voor mij werkte, werkt misschien niet voor jou" … Post vragen/problemen in de reacties en ik zal mijn best doen om te helpen!

PS: Voel je vrij om andere voorbeelden uit te proberen! Misschien is het bestand -> Voorbeelden -> ESP8266Wifi -> WifiScan. Open na het uploaden Tools -> Serial Monitor en wacht een paar seconden. Als er niets verschijnt, stel dan de Baudrate in op 9600 of 115200. En gebruik "Both NL & CR". Hierover later in dit artikel meer, dus maak je geen zorgen als je geen reactie hebt gekregen!

Stap 5: Test AT-opdrachten

Test AT-opdrachten
Test AT-opdrachten

Ik noem deze stap optioneel omdat geen van de hele AT-commando's in eerste instantie voor mij werkte. Hoewel ik zeker wist dat de ESP goed werkte, omdat het deed Knipperen met de vorige schets en ik slaagde er ook in om naar wifi te scannen. Maar elke keer dat ik er via AT-commando's mee probeerde te praten, kreeg ik nooit een antwoord. Hoe dan ook, ik zal je de stappen laten zien die ik heb gemaakt om ermee te kunnen praten. Als het niet werkt, ga dan naar de volgende stap.

Sluit uw ESP aan op de USB-adapter en sluit die aan op uw pc. Zorg ervoor dat het niet in "Program mode" staat! Ga naar Tools en verander de Board naar Generic ESP8266 Module. Zorg ervoor dat de juiste poort is geselecteerd en open vervolgens de seriële monitor (Ctrl + Shift + M) en stel de volgende instellingen in:

  • Zowel NL & CR
  • 115200 Baud

Als alles correct is, typ dan "AT" in de bovenste balk en druk op enter. Je zou een "OK" terug moeten krijgen. Als je een "OK" krijgt, dan ben je erin geslaagd om verbinding te maken met je ESP en kun je zowel trots als gelukkig zijn! Typ vervolgens "AT+GMR" voor meer informatie over uw ESP. Als de SDK-versie 1.54 is, kunt u ook de stap "De nieuwste firmware flashen" overslaan, aangezien u deze al hebt.

Mocht je geen antwoord hebben gekregen, probeer het dan gerust nog een keer en/of verander de baudrate. Ik raad echter aan hier niet te veel tijd aan te "verspillen", omdat je weet dat je ESP werkt vanwege stap 4.

PS: Als de IDE wil dat je de schets opslaat voordat je hem verifieert/uploadt, sla hem dan niet op. Ik heb wat problemen gehad met het opslaan van bestanden en de seriële monitor werkte toen niet. Ik weet nog niet waarom, ik moet nog wat testen, maar ik raad je aan om je schetsen niet op te slaan.

Stap 6: De nieuwste firmware flashen

De nieuwste firmware flashen
De nieuwste firmware flashen

Zelfs als de vorige stap niet voor u werkte, probeer dan de firmware bij te werken met deze stap, misschien lost het het op!

Nu u weet hoe u uw ESP moet programmeren, is het tijd om de firmware bij te werken! Begin door uw ESP op de USB-adapter aan te sluiten en vervolgens het juiste bord en de juiste poort ervoor te selecteren. Vergeet niet om het in "Program mode" te zetten, anders werkt knipperen niet!

Vervolgens moet u de map openen die u in "Stap 2: Software" hebt gemaakt, weet u nog? Met de flasher en het.bin-bestand. Open het en voer esp8266_flasher.exe uit. Als u om beheerdersrechten wordt gevraagd, zegt u ja. Dit is ook een goed moment om de IDE te sluiten, om er zeker van te zijn dat er niets tussenkomt. Klik op de Bin-knop en selecteer een bestand met de naam "AiThinker_ESP8266_DIO_8M_8M_20160615_V1.5.4.bin". Zorg ervoor dat uw poort de juiste is, dat het volgende venster is ingesteld op 0x00000 en dat uw ESP in "Program mode" staat en klik op Downloaden. Het zou moeten beginnen met het uploaden van de firmware naar uw ESP en de blauwe LED zou moeten knipperen. Wacht even tot het klaar is.

Als het klaar is, wordt u beloond met de fout 'Kan de Flash-modus niet verlaten', wat prima is. Negeer het en sluit de flitser. U heeft zojuist de firmware van uw ESP bijgewerkt! Mooi hoor.

In het geval dat je fouten hebt, nogmaals: zorg ervoor dat je poort de juiste is, dat het volgende venster is ingesteld op 0x00000 en dat je ESP in "Program mode" staat! Als het nog steeds niet werkt, zou ik zeggen dat je schakelaar niet correct werkt.

Ten slotte wilt u misschien proberen om nu via AT met uw ESP te praten, kijk eens naar de stap "Test AT-opdrachten". Als het nog steeds niet werkt, maak je geen zorgen. Ga je gang en upload het Blink-voorbeeld opnieuw om er zeker van te zijn dat je je ESP niet hebt verbroken. Als het werkt, ben je nog steeds klaar om te gaan!

Stap 7: Arduino en ESP aansluiten

Arduino en ESP aansluiten
Arduino en ESP aansluiten

Dit is een eenvoudige stap die u laat zien hoe u de ESP aansluit op de Arduino Uno! Zoals vermeld bij stap "Hardware", heb ik de ESP-01-adapter gebruikt.

Sluit eerst uw ESP aan op de ESP-01 Adpater en zorg ervoor dat deze in de juiste richting wijst! Pak vervolgens je 4 jumperdraden en sluit ze als volgt aan:

  • Pin 3 op de Arduino om RX op de adapter te pinnen
  • Pin 2 op de Arduino om TX op de adapter te pinnen
  • Pin 5.5V op de Arduino om VCC op de adapter te pinnen
  • Pin GND op de Arduino om GND op de adapter te pinnen

Bedrading gedaan. Makkelijk pzy toch?

PS: Ik raad aan om een rode draad te gebruiken voor de 5V-verbinding en een zwarte draad voor de GND-verbinding. Het is gewoon een standaard in elektronica.

Stap 8: Einde + dingen om in gedachten te houden

Oké, als je mijn gids hebt gevolgd en ik heb niets verprutst, zou je nu in ieder geval een werkende ESP met bijgewerkte firmware moeten kunnen hebben. Misschien praat hij zelfs tegen jou en jij tegen hem, dat zou perfect zijn! Ga je gang en verken deze wondere wereld van IOT en dergelijke. Misschien wil je een lamp aandoen met een druk op de knop op je telefoon, of misschien het bewateringssysteem in je tuin aanzetten (zoals ik probeer te doen). Ik weet het niet, ik laat je kiezen. Voel je vrij om wat feedback/vragen te schrijven over dit instructable hieronder!

Even wat extra dingen om rekening mee te houden:

  • Tijdens het uploaden van code naar je Arduino moet Pin 0 (RX) vrij zijn!
  • Als u uw ESP door de 3,3V van de Arduino laat lopen, pas dan op dat deze mogelijk niet krachtig genoeg is en dat u hierdoor fouten kunt krijgen! Ik raad de ESP-01 Adapter ten zeerste aan.
  • Als u met uw ESP wilt communiceren via de Arduino en niet via de USB-adapter, moet u het volgende doen:

    1. Noodzakelijk: je moet kunnen praten met AT-commando's met je ESP via de USB-adapter om te kunnen schakelen!
    2. Ga je gang en sluit je USB-adapter aan op de ESP. Zorg ervoor dat het niet op "Program mode" staat!
    3. Kies het ESP8266-bord en de juiste poort en open de seriële monitor (115200 Baud).
    4. Typ "AT" en krijg een "OK" terug.
    5. We zullen de standaard baudrate van de ESP moeten wijzigen met het volgende commando: "AT+UART_DEF=9600, 8, 1, 0, 0" (of voor sommige versies "AT+CIOBAUD=9600").
    6. U zou een "OK" terug moeten krijgen of een soort bevestiging.
    7. Sluit de seriële monitor.
    8. Koppel de USB-adapter los en sluit uw ESP aan op de Arduino-adapter. Sluit de adapter aan op de Arduino zoals getoond in stap "Arduino en ESP aansluiten".
    9. Verbind de Arduino met je pc.
    10. Verander het bord in Arduino en selecteer de juiste poort.
    11. Upload deze code naar de Arduino.
    12. Open de seriële monitor nog een keer, maar deze keer op 9600 Baud.
    13. Je zou nu in staat moeten zijn om "AT" te typen en een "OK" terug te krijgen.

Stap 9: Koppelingen

Hier is een lijst met enkele links die ik op internet heb gevonden en die me hebben geholpen, en ze kunnen jou net zo goed helpen!

  • Schets voor de Arduino Uno om met de ESP te praten
  • Zet je ESP in "programmamodus" met een schakelaar of knoppen

2020-update:

  • Handleiding voor het flitsen met de nieuwe flitsersoftware
  • Aan de slag door Espressif
  • Flasher- en SDK/AT-downloads door Espressif
  • Algemene informatie over de meeste dingen die in dit artikel hier worden behandeld (inclusief informatie over hoe je de ESP kunt flashen zonder adapters)

Aanbevolen: