- Vad är ESP8266?
- Grunderna i WiFi-teorin:
- Programmeringstyper med ESP8266:
- Hårdvara för att programmera ESP8266-modul:
- Material som krävs:
- Kretsförklaring:
- Building Board för att programmera ESP8266:
Internet of Things och Home Automation har verkligen varit ett hypotema de senaste dagarna. Att bygga något på egen hand som kan kommunicera till Internet och kan nås var som helst i världen, låter verkligen coolt, eller hur?
Men vänta!!! Det låter också komplicerat ???….
Så gjorde det för mig, jag trodde att det skulle ta enorm tid och skicklighet att bygga saker som kan interagera med internet. NEJ, jag hade helt fel tack vare denna fantastiska modul som heter ESP8266 från Espressif Systems. Nu kan du enkelt öppna dina dörrar för IoT-projekt med hjälp av den här modulen. Denna låga kostnad, liten storlek modul kan göra underverk och är verkligen enkel och lätt att använda, förutsatt att vi följer rätt steg.
Denna handledning syftar till att introducera dig till den här ESP8266-01-modulen och hjälpa dig att komma igång med den. Kanske har du redan tagit med din modul och fastnat när du försöker använda den. Då är du inte ensam, oroa dig inte, många tycker att det är mycket svårt att komma igång med modulen eftersom det inte finns någon korrekt vägledning eller dokumentation för den här modulen. Detta är anledningen till att göra denna handledning. Följ instruktionerna här och du skulle kunna få din ESP8266-01-modul igång på nolltid, här kommer vi att använda FTDI USB till TTL seriell adaptermodul för att programmera ESP8266. Kontrollera den detaljerade videon i slutet av handledningen.
Innan du går in i ämnet kan du täcka några grunder om ESP8266-01-modulen.
Vad är ESP8266?
De flesta kallar ESP8266 som en WIFI-modul, men det är faktiskt en mikrokontroller. ESP8266 är namnet på den mikrokontroller som utvecklats av Espressif Systems, som är ett företag baserat i Shanghai. Denna mikrokontroller har förmågan att utföra WIFI-relaterade aktiviteter, därför används den ofta som en WIFI-modul.
Det finns många typer av ESP8266-moduler som sträcker sig från ESP8266-01 till ESP8266-12. Den som vi använder i handledningen är ESP8266-01 eftersom den är den billigaste och lätt tillgänglig. Men alla ESP-moduler har bara en typ av ESP-processor, det som skiljer sig är bara den typ av breakout-bard som används. Breakout-kortet på ESP8266-01 kommer bara att ha två GPIO-stift medan det i andra kort kommer att vara högre.
Den fullständiga specifikationen för modulen ges i tabellen nedan
Spänning |
3,3V |
Nuvarande förbrukning |
10uA-170mA |
Maximal strömförbrukning vid blinkning |
800mA |
Flashminne |
16 MB (512 K normal) |
Processor |
Tensilica L106 32 bitar |
Processorhastighet |
80-160 MHz |
Bagge |
32K + 80K |
GPIO |
17 (men de flesta är multiplexerade) |
Analog till digital omvandlare |
1 (10-bitars) |
Maximala TCP-anslutningar |
5 |
Okej några saker som kunde ha förvånat dig över specifikationen är att JA ESP8266-modulen levereras med en ADC-omvandlare och den förbrukar en mycket hög ström på 0,8 A när du blinkar din enhet.
Kontrollera också våra olika ESP8266-baserade intressanta IoT-projekt.
Grunderna i WiFi-teorin:
Transfer Control Protocol (TCP), Internet Protocol (IP), User Datagram Protocol (UDP), Access Point (AP), Station (Sta), Service Set Identifier (SSID), Application Programming Interface (API), Webbserver…..
Gör alla ovanstående termer mening för dig?
Om ja. Sedan, BINGO kan du hoppa över den här delen och gå till nästa avsnitt.
Om inte. Då måste du vara en av de många elstudenterna som bara blinkade igenom de flesta dessa termer precis som jag gjorde när jag först presenterades för alla dessa saker. Så låt oss snabbt gå igenom alla dessa villkor, för först då kunde vi göra vårt inträde i IOT-världen.
Transfer Control Protocol (TCP):
De flesta av oss skulle veta vad detta betyder. Ja, det här är den uppsättning regler baserade på vilka internet fungerar. Eftersom ESP8266 har möjlighet att ställa in WIFI-anslutningar. På hög nivå är Wi-Fi möjligheten att delta i TCP / IP-anslutningar via en trådlös länk. Du kan få din ESP att fungera på TCP / IP-protokollet eller UDP-protokollet.
User Datagram Protocol (UDP):
UDP är också en annan typ av internetprotokoll. Denna typ av kommunikation är snabbare än TCP men den är mindre korrekt. Anledningen är att TCP använder en bekräftelse under sin kommunikation men UDP inte. TCP används mest i nätverk där det finns ett krav på hög tillförlitlighet. UDP används på platser där hastighet har hög prioritet än tillförlitlighet. Till exempel används UDP i videokonferenser, för även om vissa pixlar inte sänds kommer det inte att påverka videokvaliteten så mycket men hastigheten är mycket viktig.
De flesta ESP8266-projekt och koder fungerar runt TCP / IP, UDP kommer att vara minst störd.
Access Point (AP) och Station (STA):
När du har börjat arbeta med ESP-modulen kommer du ofta att stöta på dessa två termer. Låt oss säga att du och din vän vill surfa på internet på dina smarta telefoner men eftersom han inte har en aktiv internetanslutning bestämmer du dig för att aktivera din hotspot och din vän ansluter till den. Här är din telefon som hämtar internetanslutningen Access Point (AP) och din väns telefon som använder internet heter Station (STA).
ESP8266-modulen kan användas i tre lägen, AP-läge, STA-läge eller i både STA- och AP-läge (kombinerat).
Service Set Identifier (SSID): Service Set Identifier (SSID):
Detta är ganska enkelt begrepp. Nästan alla av oss har använt WIFI. Namnet på Wi-Fi-nätverket kallas dess SSID. När vi har flera åtkomstpunkter för en station att ansluta till, bör stationen veta vilken åtkomstpunkt den ska anslutas, varför varje åtkomstpunkt (AP) ges en identitet som kallas SSID.
Application Programming Interface (API):
För att göra det enkelt är ett API en budbärare som tar emot dina förfrågningar, bearbetar det och returnerar ditt system till önskat resultat. De flesta aktiviteter vi gör på internet använder API: er, som när du bokar ett flyg, gör ett online-köp etc. Varje webbplats länkar dig till ett API där någon del av jobbet som att registrera dig, betala etc. görs åt dig där.
ESP8266 använder API för att prata med internetvärlden. Till exempel om den vill veta tid, klimat eller vad den ska begära i form av ett API till motsvarande webbplats. Denna webbplats kommer att ta emot begäran och ge tillbaka det önskade resultatet till vår ESP-modul.
Webbserver:
En webbserver är något som är ansvarigt för att visa innehållet på en webbplats. Allt innehåll på den specifika webbplatsen laddas in på dess webbserver. Det finns dedikerade datorer vars uppgift är att endast fungera som en webbserver. Vi kan också programmera vår ESP8266 för att fungera som en webbserver och ansluta till den var som helst i världen.
Okej, det här räcker för att vi ska komma igång. Nu, låt oss få tag på hårdvaran.
Programmeringstyper med ESP8266:
Det finns två sätt att arbeta med din ESP8266-modul. Denna handledning hjälper dig att komma igång med båda. Ett sätt är att använda AT-kommandona. Det andra sättet är att använda Arduino IDE. Låt oss förstå vad det betyder.
Alla ESP8266-moduler som levereras från fabriken har en standard firmware (SDK + API) laddad i den. Denna firmware hjälper dig att programmera ESP8266-modulen genom AT-kommandon.
Det andra sättet är att direkt programmera ESP8266-modulen med Arduino IDE (kortet behövs inte) och dess bibliotek. Alla projekt kan göras i båda metoderna. Men om du börjar använda Arduino IDE för programmering av din ESP8266 kanske du inte kan använda AT-kommandon eftersom standard SDK kan ha skadats. I så fall måste du blinka din ESP med standardinställningar. Vi kommer att ta upp det i en annan handledning.
Hårdvara för att programmera ESP8266-modul:
ESP8266 är en 8-terminalmodul. Stiftet ur detsamma visas nedan.
Tyvärr är den här modulen inte breadboardvänlig och därför kan vi inte montera den direkt på vårt breadboard. Till skillnad från Arduino har den inte en inbyggd USB till seriell drivrutin; därför måste vi använda “FTDI USB to TTL Serial Adapter Module” för att kommunicera med den. Se till att FTDI-kortet kan fungera på 3,3 V också; den som vi använder i denna handledning visas nedan.
Nu, som vi vet borde vi sätta igång ESP8266 med 3.3V. Men den nuvarande förbrukningen är 0,8 A, så det kanske inte fungerar som förväntat om den drivs från vårt FTDI breakout board. Därför måste vi bygga vår egen strömkrets. Här har vi använt LM317 för det drivande ändamålet; detaljerna för att göra den kompletta hårdvaran ges senare avsnitt.
Material som krävs:
- Perf Board
- ESP8266-01
- FTDI breakout Board
- LM317
- 0.1uf kondensator
- 10uf kondensator
- Fat Jack
- Bergstik Man och Kvinna
- Tryckknapp
- Anslutande ledningar
- 12V adapter för att driva kortet.
Kretsförklaring:
Brädans scheman visas nedan
Vissa kanske har försökt driva din ESP direkt från din FTDI och få den att fungera, men följande är anledningarna till att bygga ditt eget kort med några ytterligare komponenter:
- Endast få FTDI-kort kan få tillräckligt med ström för ESP-modulen. Få ESP-moduler kan förbruka hög ström än den andra under blinkning. Därför är det alltid säkert att ha din egen strömkälla, och det blir lättare att integrera strömkretsen på Dot Board istället för breadboard.
- Vi bör alltid återställa ESP-modulen innan vi laddar upp koden. Att bygga ett eget kort hjälper oss att återställa modulen enkelt. Vi har använt tryckknapp för att återställa ESP8266.
- GPIO0-stiftet måste jordas när du programmerar med Arduino och måste lämnas fritt när du använder AT-kommandon, detta kan enkelt växlas om vi bygger ett eget kort. Vi har använt en bygel för att växla mellan AT-kommandoläge och Arduino IDE-programmeringsläge.
- All programmering görs med seriell kommunikation. Om du använder ett bräda kan några lösa terminaler orsaka ett fel på halvvägs och tvinga oss att blinka modulen att arbeta med igen.
Med detta sagt kan du välja mellan att använda en brädbräda och att skapa din egen tavla för programmering av modulen. Om du fortfarande vill använda brödbrädan kan samma krets som visas ovan byggas med din brädbräda. Endast utseendet kommer att vara annorlunda, alla andra instruktioner i denna handledning kommer att gälla detsamma.
Building Board för att programmera ESP8266:
Så här bygger vi styrelsen för att programmera ESP8266-modulen som har sin egen strömkrets för att starta ESP8266.
Som sagt kommer vår modul att kräva cirka 800 mA när du programmerar den. Därför har vi konstruerat vår egen kraftmodul genom att använda en LM317 variabel spänningsregulator eftersom källströmmen för LM317 är nästan 1,2A. Ingångsspänningen på LM317 kommer att vara 12V, vilken kommer att ges med en 12V 2A väggmonterad adapter. Utgången från LM317 kommer att regleras till 3,3 V kontinuerligt med hjälp av motstånden 220ohm och 360ohm. Läs också vår batteriladdarkrets med hjälp av LM317 för att lära dig mer om LM317.
Formlerna för att beräkna utspänningen för LM317 ges nedan:
Vout = 1,25 * (1+ (R2 / R1))
Där är R1 220ohm och R2 är 360ohms.
ESP8266-modulen är ansluten enligt stiften som visas i tabellen nedan.
Stift nr. |
ESP-stiftnamn |
Anslutna till |
1 |
Jord |
Marken för FTDI-modulen |
2 |
GPIO2 |
Lämnas fri eller ansluten till bergpinne för framtida bruk |
3 |
GPIO0 |
Växla för att växla mellan programmeringslägen |
4 |
Rx |
Tx för FTDI-modulen |
5 |
Tx |
Rx för FTDI-modulen |
6 |
CH_PH |
3,3 V från LM317 |
7 |
Återställa |
Tryck på knappen för att återställa modulen |
8 |
Vcc |
3,3 V från LM317 |
För att enkelt växla mellan AT-kommandoläget och Arduino-programmeringsläget har jag placerat en omkopplare (bygel) som drar GPIO 0 till marken när du använder Arduino IDE och låter den flyta när du använder AT-kommandona.
Det finns en tryckknapp som återställer ESP-modulen när den trycks ned. Detta görs genom att helt enkelt ansluta RST-stiftet på ESP-modulen till jordskenan genom tryckknappen. Varje gång innan vi programmerar vår ESP-modul bör vi återställa den.
När du har monterat kretsen ska den se ut så här nedan.
Jag har använt en Perf-bräda men du kan också använda en brädbräda om du är intresserad (som diskuterats ovan). Den fullständiga uppbyggnaden och förklaringen visas i videon nedan.
När du är klar med anslutningarna. Slå på kortet utan ESP- och FTDI-korten och kontrollera om vi får 3,3 V ordentligt på Vcc- och Ground-terminalerna i ESP-modulernas position. Se nu till att ditt FTDI-kort är i 3.3V-läge och anslut dina FTDI- och ESP-moduler till ditt kort.
Slå på adaptern och anslut den till kortet, ESP-modulen ska lysa med en röd färg.
Anslut sedan ditt FTDI-kort till din dator med en mini-USB till USB-kabel och navigera till Enhetshanteraren på din dator så ska du hitta ditt FTDI-kort anslutet till din COM-port, som visas nedan:
Nu är det dags att programmera vår ESP8266-modul. Du kan börja med att använda AT-kommandona och sedan flytta till att använda Arduino IDE. Glöm inte att kolla in våra andra ESP8266-baserade projekt.