WLAN på Arduino - koble ESP8266-01 til Arduino og kontroller NodeMCU Amica eksternt med smarttelefonen
Arduino er et av de mest kjente utviklertavlene. Dessverre har ikke standardmodellene en Wi-Fi-brikke installert. Dette praktiske tipset viser deg hvordan du kobler en ESP8266-01 WLAN-modul til Arduino og hvordan du eksternt kan kontrollere NodeMCU Amica med smarttelefonen.
Kontroller NodeMCU Amica med smarttelefonen
NodeMCU Amica har en rekke pinner, i tillegg til en innebygd ESP8266 Wi-Fi-brikke og en microUSB-kontakt. Derfor er det fornuftig å bruke enheten mer som en frittstående enhet. Hvordan du kobler et "klassisk" ESP8266-brett til Arduino beskrives senere i artikkelen.
- For å kunne programmere ESP-brikker, må du først laste ned og installere driverne for alle CP210er-brikker fra Silicon Labs. Heldigvis skjer dette relativt raskt.
- Åpne deretter Arduino IDE og gå til Innstillinger. Legg til nettadressen "//arduino.esp8266.com/stable/package_esp8266com_index.json" (uten anførselstegn) i de ekstra nettadressene til styrets administrator. Start deretter styreadministratoren, skriv inn "ESP8266" og installer pakken.
- Gå også til biblioteksjefen, skriv inn "Blynk" og installer den nyeste versjonen. Alle nødvendige komponenter er nå installert.
- Du trenger Blynk-appen for å kontrollere NodeMCU med smarttelefonen. Hvis ikke allerede gjort, oppretter du en ny konto her eller logger inn med en eksisterende. Opprett deretter et nytt prosjekt og velg NodeMCU som tavle.
- Med prøvekodene i Arduino IDE bør du også finne en kode for Blynk (→ "Boards_WiFi") på NodeMCU. Bare skriv inn Blynk-symbolet til prosjektet ditt her, som du automatisk har blitt sendt via e-post. Skriv også inn SSID og passord.
- For å legge koden på brettet, må du selvfølgelig velge den fra fanen "Verktøy". I vårt tilfelle måtte "NodeMCU 1.0 (ESP12E Module)" velges, frekvensen 80 MHz, minnestørrelsen "4M (3M SPIFFS)" og baud rate 115200. Vær imidlertid oppmerksom på at informasjonen kan variere avhengig av modell.
- Du kan da bare laste koden på brettet og kontrollere den med Blynk-appen. Her kan du enkelt lage forskjellige widgets og for eksempel styre en LED med en knapp.
Koble WiFi på Arduino - ESP8266-01 til Arduino
Neste vil vi koble til og bruke ESP8266-01 modulen med Arduino.
- Hvis du snur brettet slik at det peker nedover med den gyldne antennen, kan du finne VCC-pinnen øverst til venstre, som selvfølgelig må stilles til HØY. Til høyre er RST-pinnen, som du vanligvis ikke trenger å bruke. CH_PD-pinnen ved siden av må også settes til HØY igjen. Øverst til høyre har vi TXD-pinnen som sender ut signaler, og nederst til venstre har vi en RXD-pinne som mottar signalene, selvfølgelig. Vi har også GPIO0 og GPIO2, i tillegg til den klassiske bakkestiften, som ligger nederst til høyre.
- For å kunne bruke modulen på Arduino er det fornuftig å bruke SoftwareSerial, siden HardwareSerial mest brukes til kommunikasjon mellom Arduino og PC. I vårt tilfelle bruker modulen imidlertid 115200 som baud rate, noe som betyr at kommunikasjon mellom ESP og Arduino via SoftwareSerial ikke er mulig.
- For å endre baudfrekvensen, vil mange brukere bare blinke ny firmware som gir en annen baudfrekvens. Dette er imidlertid ikke helt nødvendig siden baudfrekvensen også kan endres ved hjelp av en kommando. Denne kommandoen er "AT + UART_DEF". Andre kommandoer som "AT + IPR" eller "AT + CIOBAUD" kan også finnes på Internett, men dette er ikke tilrådelig, siden spesielt "AT + IPR" også kan krasje modulen.
- For å sende kommandoen til modulen, anbefales det å koble den til PC-en med en USB-adapter, som vanligvis leveres gratis eller kan bli funnet på Internett for rundt en euro. Hvis du ikke har en USB-adapter, kan du enten bestille en online, som anbefales på det sterkeste, eller bruke en universal FTDI-adapter, som er ganske kompleks og ofte ikke fungerer som den skal. Alternativt er det en annen variant som vil bli forklart senere.
- Hvis du har koblet modulen med adapteren til PC-en, kan du sende kommandoen "AT + UART_DEF = 9600, 8, 1, 0, 0" med baud rate 115200 og CR + LF. Du kan deretter koble til modulen på nytt og sende kommandoer med baud rate 9600.
- Deretter må du programmere Arduino. Koden er relativt enkel. Vi definerer først en tom streng med kommandoen »String s =" ";«, importer SoftwareSerial (»#include«) og oppretter et nytt SoftwareSerial-objekt (»SoftwareSerial Serial_ESP (2, 3);«). I installasjonsmetoden startes tilkoblingen til ESP (»Serial_ESP.begin (9600);«) og tilkoblingen til PCen (»Serial.begin (9600);«). Hvis ESP sender et signal, legges dette til strengen, og strengen sendes deretter ut i den serielle monitoren (»mens (Serial_ESP.available ()> 0) {s + = (char) Serial_ESP.read ();} if (s ! = "") {Serial.println (s); s = "";} «). Motsatt blir signaler som sendes av seriemonitoren, dvs. PCen, også videreført til ESP ("mens (Serial.available ()> 0) {Serial_ESP.write (Serial.read ());}"). Det er imidlertid veldig viktig at det hele blir konvertert til en røyte, siden ESP sender tall tilbake. Du kan også finne koden igjen i bildegalleriet på slutten av artikkelen.
- Når du har lastet koden på Arduino, må du koble ESP-en. Forsiktig! ESP bruker 3, 3 volt i stedet for 5V. 5V bryter dette helt. Siden Arduino fungerer med 5V-logikk, må imidlertid spenningen justeres tilsvarende.
- I teorien kan du bruke en spenningsdelere med motstander, men i praksis er det hele ganske upresist og kan lett forstyrres. Derfor må du bytte en logisk nivåomformer mellom Arduino og ESP.
- Koble 5V-tappen på Arduino til HV, dvs. høyspenningsnål på omformeren, og LV-tappen på omformeren til VCC-tappen på ESP. Koble også LV-pinnen parallelt med CH_PD-pinnen på ESP slik at brikken også er slått på. For å få nok strøm, bør du også koble 3.3V-tappen på Arduino til LV-tappen på omformeren, og følgelig til VCC og CH_PD på ESP. Nå kobler du TX-pinnen fra SoftwareSerial - i vårt tilfelle pinne 3 på Arduino - med HV 1, 2, 3 eller 4 og den motsatte LV-pinnen med RXD-pinnen på ESP. Gjenta dette trinnet for RX-pinnen på Arduino også.
- Til slutt må du koble bakken. For å gjøre dette, koble bakken til Arduino til bakken på HV-siden av omformeren. Koble deretter bakken på LV-siden til bakken til ESP. Endelig må du koble HV-bakken og LV-bakken.
- Nå kan du enkelt sende AT-kommandoer med PC-en din til ESP via Arduino. Du kan enkelt koble Arduino til WiFi-enheten din, opprette en webserver og mye mer. Bare legg de respektive AT-kommandoene til Arduino-koden (i installasjonsmetoden) som skal sendes til ESP, som du også kan finne i "AT Instruksjonssett".
- Hvis du ikke har en USB-adapter klar, kan du også sende kommandoen til å endre baudfrekvensen via HardwareSerial ved å bruke samme krets, ved å bruke Arduino's TX- og RX-pinner, dvs. 0 og 1. Ikke glem å justere baudfrekvensen i koden tilsvarende.
I det neste praktiske tipset gir vi deg en introduksjon til Java-programmeringsspråket.