Stap 3: Bereid de programmeeromgeving voor de ESP8266
Normaal zou u een FDDI-kabel of USBtoSerial converter kabel gebruiken de ESP8266 module aansluiten op uw PC om hem te programmeren. Aangezien ik altijd naar de laagste kosten-oplossing zoeken (en niet willen geld uitgeven voor een FDDI-kabel) ik zocht en vond dat ik mijn Arduino Uno de ESP8266 aansluiten op mijn PC kon gebruiken.
Gelukkig heeft de Adafruit HUZZAH ESP8266 2 belangrijke functies die het gemakkelijker voor mij gemaakt:
- 3,3 v op 12V stroom ingang van Vbat en een 3.3V voltage-omvormer aan boord
- 5 v naar 3,3 v level shifter voor de seriële RXD pin aan boord
Dus had ik geen problemen om de ESP8266 rechtstreeks aansluiten op de Arduino Uno de seriële poort.
Het bijgevoegde bestand programmering board.fzz laat zien hoe de ESP module verbinden met de Arduino Uno. De Uno zelf is verbonden met de standaard USB-kabel aan op de PC.
Natuurlijk moet de Uno de seriële poort niet gebruiken terwijl de ESP8266 is verbonden met de RXD en TXD pinnen. De gemakkelijkste manier is naar het voorbeeld van de Blink.ino op de Arduino Uno flash. In het volgende voorbeeld wordt de seriële poort niet geïnitialiseerd en de TXD en RXD lijnen kunnen worden gebruikt voor het programmeren van de ESP-module.
Nadat de Arduino Uno de schets van de Blink.ino draait kunt u verbinden met de ESP8266 de Arduino board zoals aangegeven in de bijgevoegde Fritzing schets Programming board.fzz.
Belangrijke opmerking over de voeding:
Zoals u in het schema zien kunt, doe ik niet verbinden met de 5V output van de Uno de Vbat van de ESP8266. De ESP8266 is heel kieskeurig met de voeding. In mijn eerste proeven ik de ESP8266 van de output van 5V van de Arduino board kopen en kreeg enkele rare fouten tijdens het programmeren van de ESP. Het lijkt erop dat de ESP (tijdens het schrijven naar de flash) meer stroom moet dan de Arduino op de 5V lijn kan leveren.
Ik koos om te leveren de Arduino hetstopcontact een 2A 9V en de ESP verbinden met de Vin pin op de Arduino. De Vin pin krijgt de 9V direct uit het stopcontact haalt. Daarna had ik geen meer problemen.
In de Arduino IDE (Zie de bovenstaande screenshot) in het menu Extra hebt u om het juiste bord (in mijn geval de Adafruit HUZZAH ESP8266) en de com-poort waarop de Arduino Uno is aangesloten te selecteren. Vervolgens kunt u programma's flash in de ESP-module. Voordat het opvlammen die u moet instellen van de ESP in programmeermodus te activeren. De Adafruit ESP8266 modules heeft 2 knoppen daarvoor het resetten en de GPIO0 knop. De volgorde te zetten van de ESP in programmeermodus is:
- Resetknop ingedrukt
- GPIO0 knop ingedrukt
- RESET ontspanknop
- GPIO0-ontspanknop
Na dat de rode LED op het bord van Adafruit zal op (maar lichter gekleurd weergegeven) en de Raad van bestuur is klaar om te worden geprogrammeerd.
Extra Opmerking:
Ik moest GPIO0 van de ESP8266 module verbinden met een ongebruikte GPIO van de Arduino board. Als ik de GPIO0 open laat, wordt de programmering niet werkte. Niet zeker over de reden.
WAARSCHUWING:
Ik gebruik specifieke kenmerken van de module Adafruit HUZZAH ESP8266 in dit instructable. Als u van plan om dit systeem met een ESP8266 module van een andere leverancier Controleer zorgvuldig dat het compatibel is met de voeding die ik gebruik en het spanningsniveau van de RXD pin. De module Adafruit HUZZAH ESP8266 accepteert 3,3 v op 12V stroomvoorziening en heeft een niveau shifter op de RXD pin. Als uw ESP8266 module niet deze functies hoeft zal u zeker uw module vernietigen!
Alle bronnen van de software en alle schema's zijn beschikbaar in mijn Github repository