Deze tutorial is de voortzetting van de vorige tutorial Aan de slag met ESP8266 (deel 1). Dus, om een korte samenvatting te geven, in onze vorige tutorial hebben we onszelf kennis laten maken met de ESP-module en er een paar basisprincipes over geleerd. We hebben ook een ontwikkelbord gemaakt met behulp van een FTDI seriële adaptermodule, die gemakkelijk kan worden gebruikt om de ESP-module te programmeren met zowel AT-opdrachten als Arduino IDE.
In deze tutorial zullen we leren hoe we AT-commando's kunnen gebruiken om de ESP8266 Wi-Fi Transceiver-module te bedienen. En in de volgende tutorial zullen we leren ESP8266 programmeren met Arduino IDE (zonder Arduino) en de ESP8266 flashen.
Programmeren van de ESP8266 met AT-opdrachten:
De eerste en gemakkelijkste manier om uw ESP-module te programmeren, is door de AT-opdrachten te gebruiken. De letters AT staan voor "ATtention". AT-commando's zijn de instructies die kunnen worden gebruikt om een specifiek modem te besturen, in ons geval is dat de ESP8266-module. Een AT-commando begint altijd met de letter AT en wordt gevolgd door een specifiek commando. De volledige lijst met AT-commando's die kunnen worden gebruikt om de ESP8266 te besturen en te programmeren, wordt gegeven in de documentatie van Espressif Systems. Hetzelfde is te vinden in de onderstaande link.
U kunt de documentatie lezen om te begrijpen wat elke opdracht zal doen. Maar voor deze tutorial gebruik ik slechts enkele commando's om de firmwareversie van de module te controleren en de module in te stellen om in AP (Access Point) -modus te werken.
Deze AT-commando's kunnen rechtstreeks vanaf elke seriële monitorsoftware (Putty of Arduino) vanaf onze computer worden verzonden. Om deze AT-commando's te verzenden, moet in principe een seriële communicatie tot stand worden gebracht tussen de ESP-modules en de computer. Om deze verbinding mogelijk te maken, wordt deze Rx- en Tx-pin van de ESP-module respectievelijk verbonden met de Tx- en RX-pin van de FTDI-module, zoals uitgelegd in de vorige tutorial. Dus laten we beginnen…
Bekijk ook onze verschillende op ESP8266 gebaseerde interessante IoT-projecten.
Vereisten:
Voor dit project heb je het volgende nodig:
- ESP8266-module
- FTDI Breakout Board (3.3V)
- Elke seriële monitorsoftware zoals stopverf of zelfs Arduino zal werken
- Moet de vorige tutorial hebben gelezen en de bovenstaande verbinding moet worden gemaakt
Dan is de belangrijkste stap de juiste bedrading van uw ESP-module. Dit is heel goed uitgelegd in de vorige tutorial. Het schakelschema wordt hier nogmaals ter referentie weergegeven:
Stap 1: Installeer eventuele seriële monitorsoftware. Deze tutorial maakt gebruik van Arduino Serial Monitor, aangezien de meesten van ons ervaring hebben met het gebruik met Arduino-boards.
Stap 2: Verbind uw ESP-module en de FTDI-module met het ontwikkelbord en zet het AAN. Zorg ervoor dat de GPIO0-pin vrij blijft en de RST-pin tijdelijk met aarde wordt verbonden en vervolgens vrij wordt gelaten. We hebben een jumper-schakelaar aan boord gebruikt om te kiezen tussen programmeren via AT-opdracht en via Arduino IDE. En hebben de drukknop gebruikt om de ESP te resetten. Als je de verbindingen hebt gemaakt zoals uitgelegd in de vorige tutorial, zou je bord er ongeveer zo uit moeten zien
Stap 3: Sluit het FTDI-bord aan op uw computer en open Apparaatbeheer, onder COM-poorten zou u moeten zien op welke COM-poort uw FTDI-module is aangesloten, noteer dit. De mijne is aangesloten op COM20 zoals hieronder weergegeven.
Stap 4: Open je Arduino IDE, zorg ervoor dat je verbonden bent met de FTDI COM-poort (de mijne is COM20). Dit kan worden gegarandeerd door Tools-> Ports aan te vinken. Open nu uw Serial Monitor en selecteer "Both NL&CR" en de baudrate als "115200" zoals weergegeven onder aan de afbeelding in de volgende stap.
Opmerking: uw baudrate kan ook verschillen op basis van uw leverancier. Als 115200 niet werkt, probeer dan 9600 en 38400 en 74880.
Stap 5: Zorg ervoor dat uw GPIO0-pin vrij blijft (controleer de schakelaar) en druk op de resetknop. U zou enkele willekeurige waarden op de seriële monitor moeten zien en dan stoppen door "gereed" te zeggen, zoals weergegeven in de onderstaande afbeelding
Als je het tot nu toe hebt gehaald, dan is dat geweldig !! U kunt beginnen met het programmeren van uw ESP8266-module met behulp van AT-opdrachten door het gegevensblad te gebruiken. Om het nog interessanter te maken, zal ik u laten zien hoe u uw ESP-module configureert in AP + STA-modus en zien hoe het werkt.
Stap 6: Het eerste commando dat we zouden gebruiken is het AT-commando. Het wordt alleen gebruikt om te controleren of het opstarten succesvol is. Wanneer u "AT" typt en op enter drukt, zou het moeten antwoorden met "OK".
Stap 7: De SDK en de firmwareversie van de module kunnen worden gecontroleerd met het commando "AT + GMR"
Stap 8: Zoals gezegd kan de ESP-module werken in AP-modus (Access Point-modus), STA-modus of zowel AP- als STA-modus. Laten we de module in AP-modus uitvoeren, zodat we kunnen controleren of het werkt.
Stuur gewoon "AT + CWMODE = 2" en het zal u antwoorden met "OK"
Uw seriële monitor ziet er ongeveer als volgt uit nadat u de opdrachten heeft ingevoerd
Nu kunt u controleren of uw module fungeert als een toegangspunt, door simpelweg te proberen verbinding te maken met het wifi-netwerk. Open uw WIFI-instellingen op mobiel of laptop en zoek naar de beschikbare netwerken.U zou uw ESP-module moeten vinden zoals hieronder weergegeven. De mijne wordt genoemd als ESP_A3A3E7
De volledige stappen en de werking ervan worden ook getoond in de onderstaande video.
Dus laten we dit voorlopig stoppen, in de volgende tutorial zullen we zien “Hoe we de module kunnen programmeren met Arduino IDE en hoe het ESP8266 geheugen te flashen”.
Vergeet niet om onze andere op ESP8266 gebaseerde projecten te bekijken.