Stap 1: De ESP 8266 specificaties en Pins
Nou, is het eerste wat dat je hoeft te doen testen van de module met AT-opdrachten, die is de standaard voor communicatie. In het algemeen, komt de module uit produceert spreken bij een 115.200 baud-rate. Dit is soms ingewikkeld zijn, zoals in het geval van Arduino UNO, eenmalig voor HW Serial '0' (pinnen 0 en 1) op die snelheid werken kan. Het probleem is dat de seriële PC-Monitor gebruiken ook dezelfde seriële poort (PC wordt gebruikt als een generieke term, maar ik hoop dat mijn Mac luistert niet naar me;-). De oplossing voor Arduino UNO is het gebruik van de bibliotheek "SoftwareSerial" aan te wijzen andere twee generieke pinnen (GPIOs) moet worden gebruikt als een seriële poort (SW). Dit werkt OK, zolang de overdrachtssnelheid minder dan 19.200 baud is. Perfect! Maar hoe dat te doen in het geval van ESP8266 komen geprogrammeerde in een sneller tempo? De manier is om te herprogrammeren, natuurlijk! MAAR niet alle Firmware die wordt geladen in uit fabriek, aanvaarden de herprogrammering module. Dus is het ideaal om de FW eerst upgraden. Verschillende berichten op internet uitleggen hoe dit te doen. Hier, niet om uw hoofd wikkelen rond met de juiste snelheid, firmware, etc., zal ik vereenvoudigen met behulp van een Arduino MEGA, die 4 HW seriële poorten heeft. Dus, geen zorgen.
De havens van MEGA:
- TX0 / RX0 == > Pin 1, 0 (hetzelfde als de UNO) == > "Serial 0"
- TX1 / RX1 == > Pin 18, 19 == > "Serial1"
- TX2 / RX2 == > Pin 16, 17 == > "Serial2"
- TX3 / RX3 == > Pin 14, 15 == > "Serial3"
Voor mijn tests, ik zal gebruik maken van de seriële 2 (pin 16 en 17)
Laten we hebben een nauwe uitzicht op de module:
- Power Source: 3,3 v dit is zeer belangrijk omdat de module niet met 5V werkt en kunt branden als je erop (berijmde!). De input pinnen ook geen ondersteuning voor 5V en wanneer een Arduino-signaal ontvangt, is het belangrijk eerst te gebruiken een "niveau spanningsomvormer" (leuke naam voor de goede en oude weerstanden voltage divider). Een ander belangrijk punt is dat een onafhankelijke bron van 3,3 v. De Arduino leveren niet altijd de vereiste huidige voor de werking van de juiste module.
- De module heeft 6 pinnen:
- TX: dat het zal worden aangesloten op RX2 is MEGA (kan worden aangesloten rechtstreeks, aangezien MEGA heeft geen probleem begrijpen 3,3 v zo hoog)
- RX: TX2 verbonden met de MEGA via een niveau-Converter
- VCC: 3,3 v
- GND: grond. Het is goed eraan te herinneren dat u de GND van ESP8266 op de GND van de MEGA aansluiten moet.
- CH_PD (*): aangesloten op pin 4 voor de MEGA-SW reset om de start van de mededeling
- RST: Reset in het algemeen verbindt met VCC
- GPIO0: open
- GPIO2: open
(*) Deze pin is in verschillende sites op het Internet, direct aangesloten op VCC. In mijn geval, zonder de "reset" door SW (zet de pin tijdelijk lage), did de ESP8266 niet werkzaamheden.
Er zijn adapters op de markt om te zetten van het module breadboard vriendelijk, zoals de fysieke afstand tussen de ESP8266 pinnen zijn niet compatibel met het breadboard gaten. Ik gebruikte een eenvoudige "Mannelijke / vrouwelijke" kabeltype FTDI (zie hieronder) voor de verbinding. De weergegeven kleuren zijn compatibel met het diagram van de verbinding.