WLAN på Arduino - anslut ESP8266-01 till Arduino och kontrollera NodeMCU Amica på distans med din smartphone
Arduino är en av de mest kända utvecklarbrädorna. Tyvärr har standardmodellerna inte ett Wi-Fi-chip installerat. Detta praktiska tips visar hur du ansluter en ESP8266-01 WLAN-modul till Arduino och hur du kan fjärrstyra NodeMCU Amica med din smartphone.
Kontrollera NodeMCU Amica med din smartphone
NodeMCU Amica har en mängd stift, liksom ett inbyggt ESP8266 Wi-Fi-chip och ett microUSB-uttag. Därför är det vettigt att använda enheten mer som en fristående enhet. Hur man ansluter ett "klassiskt" ESP8266-kort till Arduino beskrivs senare i artikeln.
- För att kunna programmera ESP-chips måste du först ladda ner och installera drivrutinerna för alla CP210er-chips från Silicon Labs. Lyckligtvis händer detta relativt snabbt.
- Öppna sedan Arduino IDE och gå till Inställningar. Lägg till webbadressen "//arduino.esp8266.com/stable/package_esp8266com_index.json" (utan citattecken) till de ytterligare adressadministratörens webbadresser. Starta sedan kortadministratören, ange "ESP8266" och installera paketet.
- Gå också till bibliotekschefen, ange "Blynk" och installera den senaste versionen. Alla nödvändiga komponenter är nu installerade.
- Du behöver Blynk-appen för att kontrollera NodeMCU med din smartphone. Om inte redan gjort, skapa ett nytt konto här eller logga in med ett befintligt. Skapa sedan ett nytt projekt och välj NodeMCU som kort.
- Med provkoderna i Arduino IDE bör du också hitta en kod för Blynk (→ "Boards_WiFi") på NodeMCU. Ange bara Blynk-symbolen för ditt projekt här, som du automatiskt har skickats via e-post. Ange också ditt SSID och lösenord.
- För att ladda koden på kortet måste du naturligtvis välja den från fliken "Verktyg". I vårt fall måste "NodeMCU 1.0 (ESP12E-modul)" väljas, frekvensen 80 MHz, minnesstorleken "4M (3M SPIFFS)" och baudhastigheten 115200. Observera dock att informationen kan variera beroende på modell.
- Du kan sedan helt enkelt ladda koden på kortet och styra den med Blynk-appen. Här kan du enkelt skapa olika widgetar och till exempel styra en lysdiod med en knapp.
Anslut WiFi på Arduino - ESP8266-01 till Arduino
Därefter vill vi ansluta och använda ESP8266-01-modulen med Arduino.
- Om du vrider kortet så att det pekar ner med den gyllene antennen, kan du hitta VCC-stiftet uppe till vänster, som naturligtvis måste ställas in på HÖG. Till höger är RST-stiftet, som du vanligtvis inte behöver använda. CH_PD-stiftet bredvid måste också ställas in på HÖG igen. Längst upp till höger har vi TXD-stiftet som matar ut signaler och längst ner till vänster har vi en RXD-stift som naturligtvis tar emot signalerna. Vi har också GPIO0 och GPIO2, såväl som den klassiska markstiftet, som ligger längst ner till höger.
- För att kunna använda modulen på Arduino är det vettigt att använda SoftwareSerial, eftersom HardwareSerial mest används för kommunikation mellan Arduino och PC. I vårt fall använder dock modulen 115200 som baud-hastighet, vilket innebär att kommunikation mellan ESP och Arduino via SoftwareSerial inte är möjlig.
- För att ändra baudfrekvensen, blinkar många användare helt enkelt ny firmware som ger en annan baudhastighet. Detta är emellertid inte absolut nödvändigt eftersom baudhastigheten också kan ändras med ett kommando. Detta kommando är "AT + UART_DEF". Andra kommandon som "AT + IPR" eller "AT + CIOBAUD" kan också hittas på Internet, men detta är inte tillrådligt eftersom "AT + IPR" i synnerhet också kan krascha modulen.
- För att skicka kommandot till modulen rekommenderas det att ansluta den till PC: n med en USB-adapter, som vanligtvis levereras gratis eller kan hittas på Internet för ungefär en euro. Om du inte har en USB-adapter kan du antingen beställa en online, vilket rekommenderas starkt, eller använda en universal FTDI-adapter, som är ganska komplicerad och ofta inte fungerar korrekt. Alternativt finns det en annan variant som kommer att förklaras senare.
- Om du har anslutit modulen med adaptern till datorn kan du skicka kommandot "AT + UART_DEF = 9600, 8, 1, 0, 0" med baud rate 115200 och CR + LF. Du kan sedan ansluta modulen igen och skicka kommandon med baud rate 9600.
- Nästa måste du programmera Arduino. Koden är relativt enkel. Vi definierar först en tom sträng med kommandot »String s =" ";«, importerar SoftwareSerial (»#include«) och skapar ett nytt SoftwareSerial-objekt (»SoftwareSerial Serial_ESP (2, 3);«). I installationsmetoden startas anslutningen till ESP (»Serial_ESP.begin (9600);«) och anslutningen till PC: n (»Serial.begin (9600);«). Om ESP skickar en signal läggs den till strängen och strängen matas sedan ut i seriemonitorn (»medan (Serial_ESP.available ()> 0) {s + = (char) Serial_ESP.read ();} if (s ! = "") {Serial.println (s); s = "";} «). Omvänt överförs signaler som skickas av seriemonitorn, dvs. PC: n, också till ESP (»medan (Serial.available ()> 0) {Serial_ESP.write (Serial.read ());}«). Det är emellertid mycket viktigt att hela saken omvandlas till en char eftersom ESP skickar tillbaka nummer. Du kan också hitta koden igen i bildgalleriet i slutet av artikeln.
- När du har laddat koden på Arduino måste du ansluta ESP. Varning! ESP använder 3, 3 volt istället för 5V. 5V bryter detta helt. Eftersom Arduino fungerar med 5V-logik måste spänningen dock justeras i enlighet därmed.
- I teorin kan du använda en spänningsdelare med motstånd, men i praktiken är hela saken ganska uprecis och kan lätt störas. Därför måste du växla en logisk nivåomvandlare mellan Arduino och ESP.
- Anslut 5V-stiftet på Arduino till HV, dvs högspänningsstift på omvandlaren, och LV-stiftet på omvandlaren till VCC-stiftet på ESP. Anslut också LV-stiftet parallellt med CH_PD-stiftet på ESP så att chipet också slås på. För att få tillräcklig ström bör du också ansluta 3, 3V-stiftet på Arduino till LV-stiftet på omvandlaren, följaktligen till VCC och CH_PD på ESP. Anslut nu TX-stiftet från SoftwareSerial - i vårt fall stift 3 på Arduino - med HV 1, 2, 3 eller 4 och motsatt LV-stift med RXD-stiftet på ESP. Upprepa detta steg också för RX-stiftet på Arduino.
- Slutligen måste du ansluta marken. För att göra detta, anslut marken på Arduino till marken på HV-sidan av omvandlaren. Anslut sedan marken på LV-sidan till ESP-marken. Slutligen måste du ansluta HV-marken och LV-marken.
- Nu kan du enkelt skicka AT-kommandon med din dator till ESP via Arduino. Du kan enkelt ansluta Arduino till din WiFi, skapa en webbserver och mycket mer. Lägg bara till respektive AT-kommandon till Arduino-koden (i installationsmetoden) som ska skickas till ESP, som du också hittar i "AT-instruktionsuppsättningen".
- Om du inte har en USB-adapter klar kan du också skicka kommandot att ändra baudfrekvensen via HardwareSerial med samma krets med Arduinos TX- och RX-stift, dvs 0 och 1. Glöm dock inte att justera baudfrekvensen i koden i enlighet därmed.
I nästa praktiska tips ger vi dig en introduktion till Java-programmeringsspråket.