- Što je ESP8266?
- Osnove teorije WiFi-a:
- Vrste programiranja s ESP8266:
- Hardver za programiranje modula ESP8266:
- Potrebni materijali:
- Objašnjenje sklopa:
- Građevinska ploča za programiranje ESP8266:
Internet stvari i automatizacija kuće doista je prečuvana tema posljednjih dana. Izgradimo nešto samostalno što može komunicirati s World Wide Webom i kojem se može pristupiti s bilo kojeg mjesta na svijetu, stvarno zvuči cool zar ne?
Ali čekaj!!! Zvuči i komplicirano ???….
Učinio to umjesto mene, mislio sam da će trebati neizmjerno vrijeme i vještina za izgradnju stvari koje mogu komunicirati s internetom. NE, potpuno sam pogriješio zahvaljujući ovom fantastičnom modulu nazvanom ESP8266 tvrtke Espressif Systems. Sada možete lako otvoriti vrata za IoT projekte uz pomoć ovog modula. Ovaj jeftini modul male veličine može učiniti čuda i zaista je jednostavan i lagan za upotrebu, pod uvjetom da slijedimo ispravne korake.
Cilj ovih vodiča je upoznati vas s ovim modulom ESP8266-01 i pomoći vam da započnete s njim. Možda ste već ponijeli svoj modul i zapeli ste dok ste ga pokušavali koristiti. Zatim, niste sami, ne brinite, mnogim ljudima je vrlo teško započeti s modulom jer za to modul ne postoje odgovarajuće smjernice ili dokumentacija. To je razlog izrade ovog vodiča. Slijedite upute ovdje i mogli biste u kratkom roku pokrenuti i pokrenuti svoj ESP8266-01 modul, ovdje ćemo za programiranje ESP8266 upotrijebiti FTDI USB za TTL serijski prilagodni modul. Pogledajte detaljni videozapis na kraju vodiča.
Prije ulaska u temu, pokriti neke osnove o modulu ESP8266-01.
Što je ESP8266?
Većina ljudi ESP8266 naziva WIFI modulom, ali zapravo je to mikrokontroler. ESP8266 naziv je mikrokontrolera koji je razvila tvrtka Espressif Systems koja je tvrtka sa sjedištem u Šangaju. Ovaj mikrokontroler ima mogućnost obavljanja aktivnosti povezanih s WIFI-om, pa se zato široko koristi kao WIFI modul.

Dostupne su mnoge vrste modula ESP8266, u rasponu od ESP8266-01 do ESP8266-12. Ona koju koristimo u vodiču je ESP8266-01 jer je najjeftinija i lako dostupna. Međutim, svi ESP moduli imaju samo jedan tip ESP procesora, ono što se razlikuje je samo vrsta korištenog probojnog bard-a. Probojna ploča ESP8266-01 imat će samo 2 GPIO pina, dok će na ostalim pločama biti viša.
Kompletna specifikacija modula data je u donjoj tablici
| napon | 3,3 V | 
| Trenutna potrošnja | 10uA-170mA | 
| Maksimalna potrošnja struje tijekom treptanja | 800mA | 
| Brza memorija | 16 MB (512 000 normalnih) | 
| Procesor | Tensilica L106 32 bit | 
| Brzina procesora | 80-160MHz | 
| radna memorija | 32K + 80K | 
| GPIO | 17 (ali većina se multipleksira) | 
| Analogno u digitalni pretvarač | 1 (10-bitni) | 
| Maksimalna TCP veza | 5 | 
U redu, nekoliko stvari koje bi vas mogle iznenaditi u vezi sa specifikacijom jest da, DA, modul ESP8266 dolazi s ADC pretvaračem i troši vrlo jaku struju od 0,8A tijekom treptanja vašeg uređaja.
Također provjerite naše razne zanimljive IoT projekte temeljene na ESP8266.
Osnove teorije WiFi-a:
Protokol za kontrolu prijenosa (TCP), Internet protokol (IP), Korisnički protokol za datagram (UDP), Pristupna točka (AP), Stanica (Sta), Identifikator skupa usluga (SSID), Sučelje za programiranje aplikacija (API), Web poslužitelj…..
Imaju li vam svi gore navedeni pojmovi smisla?
Ako da. Zatim, BINGO, možete preskočiti ovaj dio i preći na sljedeći odjeljak.
Ako ne. Onda morate biti jedan od mnogih učenika elektrotehnike koji su samo trepnuli kroz većinu ovih pojmova baš kao i ja kad sam se prvi put upoznao sa svim tim stvarima. Dakle, hajde da brzo prođemo kroz sve ove pojmove jer bismo tek tada mogli ući u svijet IOT-a.
Protokol za kontrolu prijenosa (TCP):
Većina nas znala bi što to znači. Da, to su skup pravila na temelju kojih Internet funkcionira. Budući da ESP8266 ima mogućnost postavljanja WIFI veza. Na visokoj razini Wi-Fi sposobnost je sudjelovanja u TCP / IP vezama putem bežične veze. Možete navesti svoj ESP da radi na TCP / IP protokolu ili UDP protokolu.
Korisnički protokol datagrama (UDP):
UDP je također druga vrsta internetskog protokola. Ova vrsta komunikacije je brža od TCP-a, ali je manje točna. Razlog je taj što TCP koristi potvrdu tijekom svoje komunikacije, ali UDP ne. TCP se uglavnom koristi u mrežama gdje je potrebna velika pouzdanost. UDP se koristi na mjestima gdje brzina ima veći prioritet od pouzdanosti. Na primjer, UDP se koristi u video konferencijama, jer tamo čak i ako se neki pikseli ne prenesu, to neće toliko utjecati na kvalitetu video zapisa, ali je brzina vrlo važna.
Većina projekata i kodova ESP8266 rade oko TCP / IP-a, UDP-u će se najmanje smetati.
Pristupna točka (AP) i stanica (STA):
Jednom kad započnete raditi s ESP modulom, često ćete se susretati s ova dva pojma. Recimo da biste vi i vaš prijatelj željeli surfati internetom na svojim pametnim telefonima, ali budući da nema aktivnu internetsku vezu, odlučili ste uključiti svoju žarišnu točku i vaš prijatelj se na nju povezuje. Ovdje je vaš telefon koji ima internetsku vezu pristupna točka (AP), a telefon vašeg prijatelja koji koristi internet zove se postaja (STA).
Modul ESP8266 može se koristiti u tri načina rada, načinu rada AP, načinu rada STA ili u načinu rada STA i AP (kombinirano).
Identifikator servisnog skupa (SSID):
Ovo je prilično jednostavan pojam. Gotovo svi smo koristili WIFI. Ime Wi-Fi mreže naziva se njezin SSID. Kada imamo više pristupnih točaka za postaju na koju se treba povezati, postaja bi trebala znati na koju pristupnu točku treba biti povezana, stoga svaka pristupna točka (AP) dobiva identitet koji se naziva SSID.
Sučelje za programiranje aplikacija (API):
Pojednostavljeno, API je glasnik koji uzima vaše zahtjeve, obrađuje ih i vraća vašem sustavu željeni rezultat. Većina aktivnosti koje radimo na internetu koristi API-je, na primjer kada rezervirate let, izvršite internetsku kupnju itd. Svaka web lokacija povezuje vas s API-jem gdje se neki dio posla poput prijave, plaćanja itd. Obavlja umjesto vas. tamo.
ESP8266 koristi API za razgovor sa svijetom Interneta. Na primjer, ako želi znati vrijeme, klimu ili što već treba zatražiti u obliku API-ja na odgovarajuće web mjesto. Ta će web stranica primiti zahtjev i vratiti željeni rezultat našem ESP modulu.
Web poslužitelj:
Web poslužitelj je nešto što je odgovorno za prikaz sadržaja web mjesta. Sav sadržaj te određene web stranice učitat će se na njezin web poslužitelj. Postoje namjenska računala čiji je posao djelovati samo kao web poslužitelj. Također možemo programirati naš ESP8266 da radi kao web poslužitelj i na njega se spojiti s bilo kojeg mjesta na svijetu.
Dobro, ovo je dovoljno da započnemo. Ajmo sada u ruke hardvera.
Vrste programiranja s ESP8266:
Postoje dva načina rada s vašim modulom ESP8266. Ovaj vodič pomoći će vam da započnete s obje. Jedan od načina je upotreba AT naredbi. Drugi način je upotreba Arduino IDE-a. Razumijemo što to znači.
Svi tvornički isporučeni moduli ESP8266 imat će ugrađeni zadani firmware (SDK + API). Ovaj će vam firmver pomoći u programiranju modula ESP8266 putem AT naredbi.
Drugi je način izravnim programiranjem modula ESP8266 pomoću Arduino IDE-a (ploča nije potrebna) i njegovih knjižnica. Svi se projekti mogu izvoditi na obje metode. Ali ako započnete koristiti Arduino IDE za programiranje vašeg ESP8266, možda nećete moći koristiti AT naredbe jer je zadani SDK možda oštećen. U tom slučaju morate treptati ESP sa zadanim postavkama. To ćemo pokriti u drugom uputstvu.
Hardver za programiranje modula ESP8266:
ESP8266 je 8 terminalni modul. Igla iz iste prikazana je u nastavku.


Nažalost, ovaj modul nije prilagođen pločama pa ga stoga ne možemo montirati izravno na našu ploču. Također za razliku od Arduina, on nema ugrađeni USB za serijski upravljački program; stoga moramo koristiti "FTDI USB za TTL serijski prilagodni modul" za komunikaciju s njim. Osigurajte da FTDI ploča može raditi i na 3.3V; onaj koji koristimo u ovom vodiču prikazan je u nastavku.

Sada, kao što znamo, trebali bismo napajati ESP8266 s 3,3 V. Ali trenutna potrošnja je 0,8 A, pa možda neće raditi kako se očekivalo ako se napaja iz naše FTDI probojne ploče. Stoga moramo izgraditi vlastiti krug napajanja. Ovdje smo upotrijebili LM317 za napajanje; detalji za izradu kompletnog hardvera dati su u sljedećim odjeljcima.
Potrebni materijali:
- Perf Board
- ESP8266-01
- FTDI odbor za probijanje
- LM317
- 0.1uf kondenzator
- 10uf kondenzator
- Bačva Jack
- Bergstik muško i žensko
- Pritisnite tipku
- Spajanje žica
- 12V adapter za napajanje ploče.
Objašnjenje sklopa:
Sheme ploče prikazane su u nastavku

Neki su možda pokušali napajati vaš ESP izravno s vašeg FTDI-ja i pokrenuti ga, ali sljedeći su razlozi za izgradnju vlastite ploče s nekoliko dodatnih komponenata:
- Samo nekoliko FTDI ploča može dati dovoljno struje za ESP modul. Nekoliko ESP modula može trošiti veću struju od ostalih tijekom treptanja. Stoga je uvijek sigurno imati vlastiti izvor napajanja i bit će lakše integrirati krug napajanja na točkaste ploče umjesto na pločicu.
- Uvijek bismo trebali resetirati ESP modul prije slanja koda, izgradnja vlastite ploče pomoći će nam da resetiramo modul lako. Za resetiranje ESP8266 koristili smo tipku.
- GPIO0 pin mora biti uzemljen prilikom programiranja pomoću Arduina i mora biti ostavljen slobodan kada se koriste AT naredbe, to se lako može prebaciti ako napravimo vlastitu ploču. Koristili smo kratkospojnik za prebacivanje između načina AT naredbi i načina programiranja Arduino IDE.
- Sve programiranje vrši se pomoću serijske komunikacije , ako koristite pločicu, neki labavi terminali mogu prouzročiti pogrešku na pola puta i prisiliti nas da ponovo aktiviramo modul.
S tim u vezi, možete birati između upotrebe ploče i izrade vlastite ploče za programiranje modula. Ako i dalje želite koristiti pločicu, isti krug prikazan gore može se izraditi pomoću ploče. Samo će izgled biti drugačiji, sve ostale upute u ovom uputstvu primjenjivat će se na isti način.
Građevinska ploča za programiranje ESP8266:
Dakle, ovdje gradimo ploču za programiranje modula ESP8266 koji ima vlastiti krug napajanja za napajanje ESP8266.
Kao što je rečeno, naš modul će trebati oko 800mA dok ga programira. Stoga smo konstruirali vlastiti modul napajanja pomoću regulatora napona LM317 s promjenjivim naponom, budući da je izvorna struja LM317 gotovo 1,2A. Ulazni napon LM317 bit će 12V, što će se dati pomoću adaptera za zidni nosač 12V 2A. Izlaz LM317 regulirat će se na 3,3 V konstantno pomoću otpornika od 220 ohma i 360 ohma. Također provjerite naš krug punjača baterija koristeći LM317 da biste saznali više o LM317.
Formule za izračunavanje izlaznog napona LM317 date su u nastavku:
Vout = 1,25 * (1+ (R2 / R1))
Gdje je R1 220 ohma, a R2 360 ohma.
Modul ESP8266 povezan je prema pinovima prikazanim u donjoj tablici.
| Pin br. | Naziv ESP pin-a | Spojen na | 
| 1 | Prizemlje | Uzemljenje FTDI modula | 
| 2 | GPIO2 | Ostavljen slobodan ili povezan na berg stick za buduću upotrebu | 
| 3 | GPIO0 | Prebacite se za prebacivanje između načina programiranja | 
| 4 | Rx | Tx FTDI modula | 
| 5 | Tx | Rx FTDI modula | 
| 6 | CH_PH | 3,3 V od LM317 | 
| 7 | Resetirati | Tipka za resetiranje modula | 
| 8 | Vcc | 3,3 V od LM317 | 
Kako bih se lako prebacio između načina naredbe AT i načina programiranja Arduino, stavio sam prekidač (kratkospojnik) koji će povući GPIO 0 na zemlju kada se koristi Arduino IDE i ostaviti ga da pluta kada koristi AT naredbe.
Postoji tipka koja će pritiskom resetirati ESP modul. To se postiže jednostavnim spajanjem RST klina ESP modula na uzemljivač pomoću tipke. Svaki put prije programiranja našeg ESP modula trebali bismo ga resetirati.
Nakon što sklopite sklop, u nastavku bi trebao izgledati otprilike ovako.

Koristio sam Perf ploču, ali možete koristiti i pločicu ako ste zainteresirani (kao što je gore rečeno). Kompletna izrada i objašnjenje prikazani su u video ispod.
Kad završite s vezama. Uključite ploču bez ESP i FTDI ploča i provjerite imamo li pravilno 3,3 V na priključcima Vcc i Ground na položaju ESP modula. Sada provjerite je li vaša FTDI ploča u načinu rada od 3,3 V i povežite svoje FTDI i ESP module s pločom.
Uključite adapter i spojite ga na ploču, ESP modul trebao bi svijetliti crvenom bojom.

Zatim spojite FTDI ploču na računalo pomoću mini-USB na USB kabela i dođite do Upravitelja uređaja na računalu i trebali biste pronaći FTDI ploču spojenu na COM priključak, kao što je prikazano dolje:

Sada je vrijeme da se dočepamo programiranja našeg modula ESP8266. Možete započeti s korištenjem AT-naredbi, a zatim prijeđite na upotrebu Arduino IDE-a. Ne zaboravite provjeriti naše druge projekte temeljene na ESP8266.

