- Mikä on ESP8266?
- WiFi-teorian perusteet:
- ESP8266-ohjelmointityypit:
- Laitteisto ESP8266-moduulin ohjelmointiin:
- Tarvittavat materiaalit:
- Piirin selitys:
- Rakennuslaitos ohjelmalle ESP8266:
Esineiden Internet ja koti-automaatio ovat olleet viime aikoina todella haastava aihe. Rakentamalla jotain omasta, joka voi viestiä Internetille ja johon pääsee mistä päin maailmaa tahansa, kuulostaa todella hyvältä?
Mutta odota!!! Se kuulostaa myös monimutkaiselta ???….
Joten tein sen puolestani, ajattelin, että Internetin kanssa vuorovaikutuksessa olevien asioiden rakentaminen vie valtavasti aikaa ja taitoa. EI, olin täysin väärässä, kiitos tämän fantastisen moduulin nimeltä ESP8266 Espressif Systemsiltä. Nyt voit helposti avata ovesi IoT-projekteille tämän moduulin avulla. Tämä edullinen, pieni kokoinen moduuli voi tehdä ihmeitä ja on todella yksinkertainen ja helppo käyttää, jos noudatamme oikeita vaiheita.
Näiden oppaiden tarkoituksena on tutustuttaa sinut tähän ESP8266-01-moduuliin ja auttaa aloittamaan sen. Ehkä olet jo tuonut moduulin ja juuttunut yrittäessäsi sitä käyttää. Sitten et ole yksin, älä huoli, monien ihmisten on erittäin vaikea aloittaa moduuli, koska tälle moduulille ei ole asianmukaista ohjausta tai dokumentaatiota. Tämä on syy tämän opetusohjelman tekemiseen. Seuraa ohjeita ja sinun pitäisi pystyä saamaan ESP8266-01-moduulisi käyntiin nopeasti, tässä käytämme FTDI USB - TTL -sarjasovitinmoduulia ESP8266: n ohjelmointiin. Tarkista yksityiskohtainen video opetusohjelman lopussa.
Ennen kuin aloitat aiheen, kerromme joitain ESP8266-01-moduulin perusteita.
Mikä on ESP8266?
Useimmat ihmiset kutsuvat ESP8266: ta WIFI-moduuliksi, mutta se on itse asiassa mikro-ohjain. ESP8266 on Espressif Systemsin kehittämä mikrokontrolleri, joka on shanghaissa toimiva yritys. Tällä mikrokontrollerilla on kyky suorittaa WIFI-toimintoja, joten sitä käytetään laajasti WIFI-moduulina.
Saatavilla on useita ESP8266-moduulityyppejä, jotka vaihtelevat ESP8266-01: sta ESP8266-12: een. Se, jota käytämme opetusohjelmassa, on ESP8266-01, koska se on halvin ja helposti saatavilla. Kaikissa ESP-moduuleissa on kuitenkin vain yhden tyyppinen ESP-prosessori, mikä eroaa vain käytetystä purkautumispalkista. ESP8266-01: n Breakout-levyllä on vain 2 GPIO-nastaa, kun taas muissa levyissä se on korkeampi.
Moduulin täydellinen määrittely on annettu alla olevassa taulukossa
Jännite |
3,3 V |
Nykyinen kulutus |
10uA-170mA |
Suurin virrankulutus vilkkumisen aikana |
800 mA |
Flash-muisti |
16 Mt (normaali 512 kt) |
Suoritin |
Tensilica L106 32-bittinen |
Suorittimen nopeus |
80-160 MHz |
RAM |
32 000 + 80 000 |
GPIO |
17 (mutta useimmat ovat multipleksoituja) |
Analoginen digitaalimuunnin |
1 (10-bittinen) |
TCP-yhteyksien enimmäismäärä |
5 |
Okei muutama asia, joka olisi voinut yllättää sinut erittelystä, on, että KYLLÄ ESP8266-moduulissa on ADC-muunnin ja se kuluttaa erittäin suurta 0,8 A: n virtaa laitteen vilkkuessa.
Tarkista myös erilaiset ESP8266-pohjaiset mielenkiintoiset IoT-projektit.
WiFi-teorian perusteet:
Transfer Control Protocol (TCP), Internet Protocol (IP), User Datagram Protocol (UDP), Access Point (AP), Station (Sta), Service Set Identifier (SSID), Application Programming Interface (API), Web-palvelin…..
Onko kaikilla yllä olevilla termeillä järkevää sinulle?
Jos kyllä. Sitten, BINGO, voit hypätä tämän osan ja siirtyä seuraavaan osaan.
Jos ei. Sitten sinun on oltava yksi niistä monista sähköalan opiskelijoista, jotka vain vilkaisivat suurimman osan näistä termeistä aivan kuten minä, kun minut tutustuttiin ensin kaikkiin näihin juttuihin. Joten käykäämme kaikki nämä ehdot nopeasti läpi, koska vasta sitten voimme päästä pääsemään IOT: n maailmaan.
TCP (Transfer Control Protocol):
Suurin osa meistä tietäisi, mitä tämä tarkoittaa. Kyllä, nämä ovat joukko sääntöjä, joiden perusteella Internet toimii. Koska ESP8266 pystyy luomaan WIFI-yhteyksiä. Korkealla tasolla Wi-Fi on kyky osallistua TCP / IP-yhteyksiin langattoman linkin kautta. Voit saada ESP: n toimimaan TCP / IP- tai UDP-protokollan kanssa.
Käyttäjän datagrammin protokolla (UDP):
UDP on myös toinen Internet-protokollatyyppi. Tämän tyyppinen tiedonsiirto on nopeampaa kuin TCP, mutta se on vähemmän tarkka. Syynä on se, että TCP käyttää kuittausta viestinnän aikana, mutta UDP ei. TCP: tä käytetään enimmäkseen verkoissa, joissa vaaditaan korkeaa luotettavuutta. UDP: tä käytetään paikoissa, joissa nopeudella on etusija kuin luotettavuudella. Esimerkiksi UDP: tä käytetään videoneuvotteluissa, koska siellä, vaikka joitain pikseleitä ei lähetetä, se ei vaikuta videon laatuun niin paljon, mutta nopeus on erittäin tärkeä.
Suurin osa ESP8266-projekteista ja -koodeista toimii TCP / IP: n ympärillä, UDP: tä ei häiritä vähiten.
Tukiasema (AP) ja asema (STA):
Kun aloitat työskentelyn ESP-moduulin kanssa, törmäät näihin kahteen termiin usein. Sanotaan, että sinä ja ystäväsi haluaisit surffata Internetissä älypuhelimissasi, mutta koska hänellä ei ole aktiivista Internet-yhteyttä, päätät kytkeä hotspotisi päälle ja ystäväsi muodostaa yhteyden siihen. Tässä puhelimesi, joka hankkii Internet-yhteyden, on tukiasema (AP) ja ystäväsi puhelinta, joka käyttää Internetiä, kutsutaan asemaksi (STA).
ESP8266-moduulia voidaan käyttää kolmessa tilassa, AP-tilassa, STA-tilassa tai sekä STA- että AP-tilassa (yhdistettynä).
Palvelusarjan tunniste (SSID):
Tämä on melko yksinkertainen termi. Lähes kaikki meistä ovat käyttäneet WIFI: tä. Wi-Fi-verkon nimeä kutsutaan sen SSID: ksi. Kun meillä on useita tukiasemia, joihin asema voi muodostaa yhteyden, aseman tulisi tietää, mihin tukiasemaan sen pitäisi muodostaa yhteys, joten jokaiselle tukiasemalle (AP) annetaan tunnus, jota kutsutaan SSID: ksi.
Sovellusohjelmointirajapinta (API):
Yksinkertaisesti sanottuna sovellusliittymä on Messenger, joka ottaa vastaan pyyntösi, käsittelee ne ja palauttaa järjestelmälle halutun tuloksen. Suurin osa toiminnasta, jota teemme Internetissä, käyttää sovellusliittymiä, kuten kun varaat lennon, ostat verkosta jne. Jokainen verkkosivusto linkittää sinut sovellusliittymään, jossa osa työstä, kuten rekisteröityminen, maksaminen jne., Tehdään puolestasi siellä.
ESP8266 käyttää API: ta puhuakseen Internetin kanssa. Esimerkiksi jos se haluaa tietää ajan, ilmaston tai minkä tahansa sen pitäisi pyytää API: n muodossa vastaavalle verkkosivustolle. Kyseinen verkkosivusto vastaanottaa pyynnön ja antaa halutun tuloksen takaisin ESP-moduulillemme.
Verkkopalvelin:
Verkkopalvelin on asia, joka on vastuussa verkkosivuston sisällön näyttämisestä. Koko kyseisen verkkosivuston sisältö ladataan sen Web-palvelimeen. On olemassa erillisiä tietokoneita, joiden tehtävänä on toimia vain verkkopalvelimena. Voimme myös ohjelmoida ESP8266: n toimimaan verkkopalvelimena ja muodostaa yhteyden siihen mistä päin maailmaa tahansa.
Okei, tämä riittää, jotta voimme aloittaa. Nyt salli meidän käsiimme laitteisto.
ESP8266-ohjelmointityypit:
ESP8266-moduulin kanssa voi työskennellä kahdella tavalla. Tämä opetusohjelma auttaa sinua aloittamaan molemmat. Yksi tapa on käyttää AT-komentoja. Toinen tapa on käyttää Arduino IDE: tä. Ymmärretään, mitä se tarkoittaa.
Kaikkiin tehtaalta toimitettuihin ESP8266-moduuleihin on ladattu oletusohjelmisto (SDK + API). Tämä laiteohjelmisto auttaa sinua ohjelmoimaan ESP8266-moduulin AT-komentojen kautta.
Toinen tapa on ohjelmoida ESP8266-moduuli suoraan käyttämällä Arduino IDE: tä (korttia ei tarvita) ja sen kirjastoja. Kaikki projektit voidaan toteuttaa molemmilla menetelmillä. Mutta jos aloitat Arduino IDE: n käyttämisen ESP8266: n ohjelmoimiseksi, et ehkä pysty käyttämään AT-komentoja, koska oletus SDK on saattanut olla vioittunut. Tällöin sinun on välitettävä ESP oletusasetuksilla. Käsittelemme sen toisessa opetusohjelmassa.
Laitteisto ESP8266-moduulin ohjelmointiin:
ESP8266 on 8-päätelaite. Tappi samasta on esitetty alla.
Valitettavasti tämä moduuli ei ole leipälautaystävällinen, joten emme voi asentaa sitä suoraan leipälautamme. Myös toisin kuin Arduino sillä ei ole rakennettu USB Serial kuljettajalle; Siksi meidän on käytettävä "FTDI USB - TTL -sarjasovitinmoduulia" kommunikoimaan sen kanssa. Varmista, että FTDI-kortti voi toimia myös 3,3 V: n jännitteellä; tämä, jota käytämme tässä opetusohjelmassa, näkyy alla.
Nyt, kun tiedämme, meidän pitäisi käynnistää ESP8266 3.3 V: lla. Mutta nykyinen kulutus on 0,8A, joten se ei välttämättä toimi odotetulla tavalla, jos sitä käytetään FTDI-aloituslevystä. Siksi meidän on rakennettava oma virtapiiri. Täällä olemme käyttäneet LM317: ää virtatarkoitukseen; Yksityiskohdat koko laitteiston valmistamiseksi annetaan myöhemmin.
Tarvittavat materiaalit:
- Perf Board
- ESP8266-01
- FTDI-aloituslauta
- LM317
- 0,1uf kondensaattori
- 10uf kondensaattori
- Tynnyri Jack
- Bergstik Mies ja Nainen
- Paina nappia
- Johtojen liittäminen
- 12 V: n sovitin kortin virtalähteeksi.
Piirin selitys:
Taulukon kaaviot on esitetty alla
Jotkut ovat saattaneet yrittää virrata ESP: täsi suoraan FTDI: ltä ja saada sen toimimaan, mutta seuraavat ovat syitä rakentaa oma piirilevy muutamalla lisäosalla:
- Vain harvat FTDI-kortit voivat hankkia riittävästi virtaa ESP-moduulille. Harvat ESP-moduulit saattavat kuluttaa suurta virtaa kuin muut vilkkumisen aikana. Siksi on aina turvallista, että sinulla on oma virtalähde, ja virtapiiri on helpompi integroida Dot Boardiin leipälevyn sijaan.
- Meidän tulisi aina nollata ESP-moduuli ennen koodin lataamista. Oman korttimme rakentaminen auttaa meitä nollaamaan moduulin helposti. Olemme palauttaneet ESP8266-painikkeen.
- GPIO0-nasta on maadoitettava, kun ohjelmoidaan Arduinolla, ja se on jätettävä vapaaksi, kun käytetään AT-komentoja, tämä voidaan helposti vaihtaa, jos rakennamme oman levyn. Olemme käyttäneet hyppääjää vaihtaaksesi AT-komentotilan ja Arduino IDE-ohjelmointitilan välillä.
- Kaikki ohjelmointi tapahtuu sarjaliikenteellä , jos käytät leipälevyä, jotkut löysät päätelaitteet saattavat aiheuttaa virheen puolivälissä ja pakottaa meidät välähtämään moduulia toimimaan uudelleen.
Tästä huolimatta voit valita leipälautan käyttämisen ja oman levyn tekemisen moduulin ohjelmoimiseksi. Jos haluat silti käyttää leipälautaa, sama yllä oleva piiri voidaan rakentaa leipälautasi avulla. Vain ulkonäkö on erilainen, kaikki muut tämän opetusohjelman ohjeet koskevat samaa.
Rakennuslaitos ohjelmalle ESP8266:
Joten tässä rakennamme levyä ohjelmoimaan ESP8266-moduulia, jolla on oma virtapiiri ESP8266: n virran kytkemiseksi.
Kuten sanottu, moduulimme vaatii noin 800 mA: n ohjelmoinnin aikana. Siksi olemme rakentaneet oman tehomoduulin käyttämällä LM317-vaihtelevan jännitteen säätäjää, koska LM317: n lähdevirta on melkein 1,2 A. LM317: n tulojännite on 12 V, joka annetaan 12V 2A -seinäasennussovittimella. LM317: n lähtö säädetään jatkuvasti 3,3 V: iin käyttämällä 220ohmin ja 360ohmin vastuksia. Tarkista myös LM317-akkulaturipiirimme saadaksesi lisätietoja LM317: stä.
Kaavat LM317: n lähtöjännitteen laskemiseksi ovat seuraavat:
Vout = 1,25 * (1+ (R2 / R1))
Missä R1 on 220 ohmia ja R2 on 360 ohmia.
ESP8266-moduuli on kytketty alla olevassa taulukossa esitettyjen nastojen mukaisesti.
PIN-numero |
ESP-nastan nimi |
Yhdistetty |
1 |
Maa |
FTDI-moduulin maa |
2 |
GPIO2 |
Jätetty vapaaksi tai liitetty bergitikkuun tulevaa käyttöä varten |
3 |
GPIO0 |
Vaihda vaihtaaksesi ohjelmointitilojen välillä |
4 |
Rx |
FTDI-moduulin TX |
5 |
Tx |
Rx FTDI-moduulista |
6 |
CH_PH |
3,3 V LM317: stä |
7 |
Nollaa |
Palauta moduuli painamalla painiketta |
8 |
Vcc |
3,3 V LM317: stä |
Helposti näyttää vuorotellen AT-komennon tila ja Arduino ohjelmointitilaan Olen sijoitettu kytkimen (hyppy), joka vetää GPIO 0 maahan käytettäessä Arduino IDE ja jättää se kelluu, kun käytetään AT-komentoja.
On painike, joka painettuna palauttaa ESP-moduulin. Tämä tapahtuu yksinkertaisesti kytkemällä ESP-moduulin RST-tappi maadoitettuun kiskoon painikkeen kautta. Joka kerta ennen ESP-moduulin ohjelmointia meidän on nollattava se.
Kun piiri on koottu, sen pitäisi näyttää tältä alla.
Olen käyttänyt Perf-lautaa, mutta voit käyttää myös leipälautaa, jos olet kiinnostunut (kuten edellä on käsitelty). Koko rakenne ja selitys on esitetty alla olevassa videossa.
Kun olet tehnyt liitännät. Käynnistä levy ilman ESP & FTDI-kortteja ja tarkista, saammeko 3,3 V oikein ESP-moduulien Vcc- ja Ground-liittimissä. Varmista nyt, että FTDI-kortti on 3.3V-tilassa, ja liitä FTDI- ja ESP-moduulit piirilevyyn.
Käynnistä sovitin ja liitä se piirilevyyn, ESP-moduulin pitäisi palaa punaisella värillä.
Liitä sitten FTDI-kortti tietokoneeseesi mini-USB-USB-kaapelilla ja siirry tietokoneen Laitehallinta -ohjelmaan, ja sinun pitäisi löytää FTDI-kortti, joka on kytketty COM-porttiin alla olevan kuvan mukaisesti:
Nyt on aika saada käsiinsä ESP8266-moduulin ohjelmointi. Voit aloittaa käyttämällä AT-komentoja ja siirtymällä sitten Arduino IDE: n käyttöön. Älä unohda tarkistaa muita ESP8266-pohjaisia projekteja.