Sisällysluettelo:

Aloittelijan opas ESP8266: een ja twiittaukseen ESP8266: n avulla: 17 vaihetta (kuvilla)
Aloittelijan opas ESP8266: een ja twiittaukseen ESP8266: n avulla: 17 vaihetta (kuvilla)

Video: Aloittelijan opas ESP8266: een ja twiittaukseen ESP8266: n avulla: 17 vaihetta (kuvilla)

Video: Aloittelijan opas ESP8266: een ja twiittaukseen ESP8266: n avulla: 17 vaihetta (kuvilla)
Video: ALOITTELIJAN OPAS TAROTTIEN MAAILMAAN 2024, Marraskuu
Anonim
Aloittelijan opas ESP8266: een ja twiittiin ESP8266: n avulla
Aloittelijan opas ESP8266: een ja twiittiin ESP8266: n avulla

Opin Arduinosta 2 vuotta sitten, joten aloin leikkiä yksinkertaisilla asioilla, kuten LEDeillä, painikkeilla, moottoreilla jne. Nestekidenäyttö. Havaitsin, että tämä voitaisiin tehdä lähettämällä ja vastaanottamalla tietoja Internetin kautta. Joten ratkaisu muodosti yhteyden Internetiin. Aloitin etsinnän Arduinon yhdistämisestä Internetiin ja tietojen lähettämisestä ja vastaanottamisesta. Opin wifi -moduuleista Internetissä ja huomasin niiden olevan erittäin kalliita. Sitten opin ESP8266: sta.

Luin paljon Internetistä ESP8266 -moduulista noin vuosi sitten ja ostin yhden, mutta sain työskennellä heidän kanssaan vasta viime kuussa. Tuolloin ei ollut saatavilla kattavia tietoja. Internetistä liittyen laiteohjelmistoon, AT -komentoihin, projekteihin jne. Joten päätin aloittaa.

Kirjoitin tämän ohjeen aloittelijan oppaana, koska minulla oli paljon ongelmia johdotuksessa ja ESP8266: n käytön aloittamisessa.

Tässä Instructable -ohjelmassa yritän näyttää

  • Kuinka kytkeä ESP8266 ja kommunikoida sen kanssa Arduino Unon kautta.
  • Yritän myös näyttää, kuinka twiitti voidaan lähettää sen kautta Thingspeakin avulla.

Mitä ESP8266 voi tehdä? Mielikuvituksesi rajoittaa sitä. Olen nähnyt Internetissä projekteja ja opetusohjelmia, jotka osoittavat, kuinka hakea kaupungin lämpötila, osakekurssit, sähköpostien lähettäminen ja vastaanottaminen, puheluiden soittaminen ja paljon muuta. Tämä opastettava twiitin lähettäminen.

Vaihe 1: Asioita, joita tarvitset

Asioita, joita tarvitset
Asioita, joita tarvitset

Tässä on tarvitsemasi asiat, joista suurin osa voidaan ostaa mistä tahansa sähköliikkeestä tai verkossa (olen toimittanut linkit viitteeksi).

  • 1xESP8266 (ESP -01)
  • 1xBreadboard -sovitin (opi tekemään se täällä tai käytä hyppyjohtoja)
  • 1xLM2596
  • 1xLogic tasonmuunnin -Ebay
  • 1xArduino Uno
  • USB -kaapeli Arduino Unolle
  • 1xBreadboard -lahti
  • Johdot -ebay
  • Arduino IDE
  • Tili Thingspeakissa

Kokonaiskustannukset ovat noin 600 ruplaa (noin 9 dollaria). Olen jättänyt pois Arduino Unon kustannukset, koska se riippuu siitä, haluatko alkuperäisen vai kloonin. Halvimmat kloonit ovat saatavilla noin 500 ruplaa (noin 4 dollaria).

Vaihe 2: Tietoja ESP8266: sta

ESP8266 lanseerattiin vuonna 2014 vain vuosi sitten, joten se on melko uusi. Sirut valmistaa Espressif.

Etu

ESP8266: n suurin etu on ehkä sen hinta. Se on melko halpaa, ja voit ostaa pari näistä kerralla. Ennen kuin sain tietää siitä, en voinut edes ajatella wifi -moduulin ostamista. Ne olivat liian kalliita.. ESP8266: n uusia versioita julkaistaan melko usein, ja uusin versio on ESP 12. Tässä oppaassa keskityn kuitenkin vain ESP 01: een, joka on varsin suosittu. olet hyvä aloittaa heti, kun ostat sellaisen.. Myös tästä oppaasta näet, että niiden käyttöliittymä on melko helppo.

Haitta

Jokaisella laitteella on omat etunsa ja haittansa, ja ESP ei ole erilainen. ESP voi joskus osoittautua erittäin hankalaksi ja turhauttavaksi työskennellä, koska se on melko uusi, sinun on vaikea saada tietoja siitä..com on olemassa ja siitä on paljon apua. Lisäksi se alkaa joskus myös tehdä odottamattomia asioita, kuten roskakuorman heittämistä sarjayhteyden kautta jne.

Huomaa, että Internetissä on paljon asiakirjoja ja osa niistä on ristiriitaisia. Tämä Instructable ei ole erilainen. Kun pelasin ESP8266: n kanssa, huomasin, että se poikkesi paljon Internetissä mainituista (sinun myös), mutta se toimi hyvin.

Vaihe 3: ESP8266: n kiinnitys

Pinout ESP8266
Pinout ESP8266

ESP8266: ssa on 8 nastaa kuvan mukaisesti.

Gnd ja Vcc on liitettävä tavalliseen tapaan maahan ja vastaavasti. ESP8266 toimii 3.3V.

RESET -nasta käytetään ESP: n manuaaliseen nollaamiseen. Se on tavallisesti kytkettävä 3.3V: iin. Jos haluat palauttaa ESP: n, kytke tämä nasta hetkeksi maahan ja sitten takaisin 3.3V: iin.

CH_PD on sirun virrankatkaisu, joka pitäisi normaalisti liittää 3,3 V: n jännitteeseen.

GPIO0 ja GPIO2 ovat yleiskäyttöisiä tulolähtöliittimiä, jotka on tavallisesti kytkettävä 3,3 V: een.

Rx- ja Tx -nastat ovat ESP8266: n lähetys- ja vastaanottotappeja, jotka toimivat 3,3 V: n logiikalla eli 3,3 V on looginen HIGH ESP8266: lle.

Yksityiskohtaiset liitännät esitetään myöhemmissä vaiheissa.

Vaihe 4: Mitä tulisi käyttää viestintään ESP8266: n kanssa?

Mitä tulisi käyttää viestintään ESP8266: n kanssa?
Mitä tulisi käyttää viestintään ESP8266: n kanssa?
Mitä tulisi käyttää viestintään ESP8266: n kanssa?
Mitä tulisi käyttää viestintään ESP8266: n kanssa?
Mitä tulisi käyttää viestintään ESP8266: n kanssa?
Mitä tulisi käyttää viestintään ESP8266: n kanssa?

On monia laitteita, joita voidaan käyttää kommunikoimaan ESP8266: n kanssa, kuten FTDI -ohjelmoijat, USB -TTL -sarjamuunnin, Arduino jne. sinulla on Arduino, sinulla on myös Arduino IDE, ja sen sarjamonitoria voidaan käyttää kommunikointiin ESP8266: n kanssa, joten ei rahaa FTDI -ohjelmoijiin jne.

Jos kuitenkin haluat tai jos sinulla on sellainen, voit käyttää FTDI -ohjelmoijaa tai USB -TTL -sarjamuunninta (lisätietoja niiden liittämisestä myöhemmin). Lisäksi on paljon ohjelmistoja, kuten RealTerm tai kitti. nämä samalla tavalla kuin Arduino IDE: n sarjamonitori.

Vaihe 5: ESP8266: n asennus leipälevylle

ESP8266: n asennus leipälevylle
ESP8266: n asennus leipälevylle
ESP8266: n asennus leipälevylle
ESP8266: n asennus leipälevylle

Huomaa, että ESP8266 -nastat eivät ole leipälautaystävällisiä, ja tämä voidaan voittaa kahdella tavalla.

Käytä naaraspuolisia uroshyppyjohtoja, jotka voivat tehdä asiat sotkuisiksi

Tee tämän ohjeen mukaisesti tai

Käytä sovitinkorttia, tee se itse (niitä on paljon Instructablesissa), joka on siisti.

Vaihe 6: Virtalähde

Virtalähde
Virtalähde

ESP8266 toimii 3,3 V: n jännitteellä, älä kytke sitä Arduinon 5 V: n nastaan, se todennäköisesti palaa.

Jotkut opetusohjelmat ehdottivat jännitteenjakajapiirin tekemistä käyttämällä 1k, 2k vastuksia, joissa on 5V tulo, ja hankkia 3,3V 2k vastuksen poikki ja toimittaa se Arduinolle.

Pystyin kytkemään sen päälle Arduinon 3.3V: n avulla, mutta huomasin, että ESP kuumeni jonkin ajan kuluttua.

Voit käyttää 3,3 V jännitesäädintä.

Tai voit käyttää LM2596 dc-dc-askelmuunninta. Ne ovat melko halpoja.ja käytin näitä. Anna 5V Arduinosta tuloon. Säädä moduulin potentiometriä, kunnes lähtö muuttuu 3.3VI: ksi, ESP voidaan käyttää Tee yhdistäminen kuvan mukaisesti.

Vaihe 7: Loogisen tason muuntaminen

Loogisen tason muuntaminen
Loogisen tason muuntaminen

Mainitaan, että ESP: ssä on 3.3V -logiikka, kun taas Arduinossa on 5V -logiikka.

Tämä tarkoittaa, että ESP: ssä 3.3V on looginen HIGH, kun taas Arduinossa 5V on looginen HIGH. Tämä voi aiheuttaa ongelmia niiden yhdistämisessä.

Löysin Internetistä, että loogisen tason muuntamista on sovellettava liitettäessä ESP Rx ja Tx Arduinon kanssa.

Joissakin opetusohjelmissa mainittiin, että ESP Rx -tapin liittämisessä tarvitaan logiikkatason muuntamista.

Kuitenkin huomasin, että vain normaalisti ESP Rx- ja Tx -nastojen yhdistäminen Arduinoon ei aiheuttanut ongelmia

Yhdistin Rx: n ja Tx: n logiikan tasomuuntimen kautta sekä Rx: n yksin, mutta en saanut mitään vastausta.

Kuitenkin huomasin, että ESP Tx -tapin liittäminen logiikkatasotemuuntimen kautta samalla, kun kytket Tx: n suoraan, ei myöskään aiheuttanut ongelmia

Joten loogisen tason muunninta voidaan käyttää tai ei.

Käytä mitä tahansa menetelmää, joka toimii sinulle kokeilun ja erehdyksen kautta.

Vaihe 8: Liitännät

Liitännät
Liitännät

ESP8266 -liitännät ovat:

ESP8266

Gnd ------------------- Gnd

GPIO2 --------------- 3.3V

GPIO0 --------------- 3.3V

Rx -------------------- Arduinon rx

Tx --------------------- Arduinon Tx (suora tai logiikkatasomuunnin)

CH_PD -------------- 3.3V

NOLLAUS -------------- 3.3V

Vcc -------------------- 3.3V

(Huomaa, että joissakin versioissa ESP Rx on liitettävä Arduino Tx: ään ja ESP Tx Arduino Rx: ään).

Jos käytät FTDI -ohjelmoijaa tai USB -TTL -sarjamuunninta, liitä niiden Tx ja Rx ESP8266: n Rx- ja Tx -järjestelmiin.

Vaihe 9: Aloittaminen

Kun olet tehnyt yhteydet, lataa

mitätön asennus ()

{}

tyhjä silmukka ()

{}

eli tyhjä luonnos Arduinolle.

Avaa sarjamonitori ja aseta se "Both NL & CR".

Kokeile Baudin nopeutta. Sen pitäisi yleensä olla 9600, mutta joskus se voi olla 115200.

Vaihe 10: AT Commands

AT Commands
AT Commands

Yksinkertaisesti sanomalla AT -komennot ovat komentoja, jotka voidaan lähettää ESP8266 -laitteeseen, jotta se voi suorittaa joitain toimintoja, kuten käynnistää uudelleen, muodostaa yhteyden wifi -verkkoon jne. ESP lähettää jonkin vahvistuksen tekstin muodossa. Huomaa, että lähetyksellä tarkoitan komennon kirjoittamista ja enterin (return) painamista.

Lähetä AT sarjamonitorin kautta

Tätä komentoa käytetään testikomennona.

ESP: n vastaus: OK on palautettava.

Lähetä AT+RST sarjamonitorin kautta

Tätä komentoa käytetään moduulin käynnistämiseen uudelleen.

ESP: n reaktio: ESP palauttaa roskat, mutta etsi vaihtoehto Valmis tai valmis.

Lähetä AT+GMR sarjamonitorin kautta

Tätä komentoa käytetään määrittämään moduulin laiteohjelmistoversio.

ESP: n vastaus: Laiteohjelmistoversio tulee palauttaa.

Laiteohjelmisto on ohjelmisto, joka on asennettu laitteeseen, joka on yleensä sen ROM -levyllä (vain luku -muisti), eli sitä ei ole tarkoitus muuttaa usein tai ei ollenkaan. Se tarjoaa laitteen hallinnan ja tietojen käsittelyn. eri laiteohjelmistot, jotka kaikki on melko helppo päivittää (asentaa).

Vaihe 11: AT -komentojen yleinen syntaksi

Yleinen AT -komentojen syntaksi eri toimintojen suorittamiseen on annettu:

AT+parametri =?

Kun tämän tyyppinen komento lähetetään sarjamonitorin kautta, ESP palauttaa kaikki arvot, jotka parametri voi ottaa.

AT+parametri = val

Kun tämän tyyppinen komento lähetetään sarjamonitorin kautta, ESP asettaa parametrin arvoksi val.

AT+parametri?

Kun tämän tyyppinen komento lähetetään sarjamonitorin kautta, ESP palauttaa parametrin nykyisen arvon.

Jotkut AT -komennot voivat ottaa vain yhden yllä olevista tyypeistä, kun taas jotkut voivat ottaa kaikki 3.

Esimerkki komennosta, joka on mahdollista kaikissa edellä mainituissa 3 tyypissä, on CWMODE, jota käytetään wifi -tilan asettamiseen.

Lähetä AT+CWMODE =? sarjamonitorin kautta

Miten ESP reagoi: Kaikki arvot, jotka ESP CWMODE voi ottaa (1-3), palautetaan erikseen +CWMODE (1-3).

1 = Staattinen

2 = AP

3 = Sekä staattinen että AP

Lähetä AT+CWMODE = 1 sarjamonitorin kautta

ESP: n vastaus: OK on palautettava, jos CWMODE muuttuu edellisestä arvostaan ja se on asetettu staattiseksi, muuten mitään muutosta ei pitäisi palauttaa, jos CWMODE -arvo ei muutu.

TÄRKEÄÄ: Ellei CWMODE -asetukseksi ole asetettu 1, myöhempien vaiheiden komennot eivät toimi.

Lähetetäänkö AT+CWMODE? sarjamonitorin kautta

ESP: n vastaus: CWMODE: n nykyarvo tulee palauttaa, erityisesti jos olet noudattanut yllä olevaa vaihetta +CWMODE: 1 tulee palauttaa.

Vaihe 12: Yhteyden muodostaminen Wifi -verkkoon

Lähetä AT+CWLAP sarjamonitorin kautta

Tätä komentoa käytetään luetteloimaan kaikki alueen verkot.

ESP: n vastaus: Luettelo kaikista käytettävissä olevista tukiasemista tai wifi -verkoista on palautettava.

Lähetä AT+CWJAP = "SSID", "password"

(mukaan lukien lainausmerkit).

Tätä komentoa käytetään liittymään wifi -verkkoon.

ESP: n vastaus: OK on palautettava, jos moduuli on kytketty verkkoon.

Lähetetäänkö AT+CWJAP? sarjamonitorin kautta

Tätä komentoa käytetään määrittämään verkko, johon ESP on parhaillaan kytketty.

Miten ESP reagoi: Verkko, johon ESP on kytketty, palautetaan. Erityisesti +CWJAP: "SSID"

Lähetä AT+CWQAP sarjamonitorin kautta

Tätä komentoa käytetään katkaisemaan yhteys verkkoon, johon ESP on parhaillaan kytketty.

Miten ESP reagoi: ESP sulkee verkon, johon se on kytketty, ja OK palautetaan.

Lähetä AT+CIFSR sarjamonitorin kautta

Tätä komentoa käytetään ESP: n IP -osoitteen määrittämiseen.

ESP: n vastaus: ESP: n IP -osoite palautetaan.

Vaihe 13: Asiat

Asiat
Asiat
Asiat
Asiat
Asiat
Asiat
Asiat
Asiat

Jos et ole vielä luonut Thingspeak -tiliä, luo se nyt.

Kun olet luonut tilin Thingspeakissa, siirry kohtaan Sovellukset> ThingTweet.

Linkitä siihen Twitter -tilisi.

Huomaa luotu sovellusliittymäavain.

Täällä, kun ThingTweet -sovellusta on käytetty linkittämään Twitter -tili ThingSpeak -tiliisi, voit lähettää tweetin TweetContol -sovellusliittymän avulla.

Sovellusliittymä (API) on koodi, jonka avulla kaksi ohjelmistoa voi kommunikoida keskenään.

Jotkut muut kehittäjien käytettävissä olevat sovellusliittymät ovat Google maps -sovellusliittymä, Open weather -sovellusliittymä jne.

Vasta sen jälkeen, kun ESP on määritetty, tarkistettu ja yhdistetty wifi -verkkoon (periaatteessa kaikki edellisen 2 vaiheen vaiheet), suorita alla olevat vaiheet

Vaihe 14: Lisää AT -komentoja

Lähetä AT+CIPMODE = 0 sarjamonitorin kautta

ESP: n vastaus: OK palautetaan.

CIPMODE -komentoa käytetään siirtotilan asettamiseen.

0 = normaalitila

1 = UART-WiFi-läpivienti

Lähetä AT+CIPMUX = 1 sarjamonitorin kautta

ESP: n vastaus: OK palautetaan.

CIPMUX -komentoa käytetään yksittäisten tai useiden yhteyksien asettamiseen.

0 = yksi liitäntä

1 = useita yhteyksiä

Vaihe 15: TCP -yhteyden määrittäminen

TCP -yhteyden määrittäminen
TCP -yhteyden määrittäminen
TCP -yhteyden määrittäminen
TCP -yhteyden määrittäminen

Huomaa, että heti ensimmäisestä komennosta lähtien yhteys muodostetaan heti ensimmäisen lähettämisen jälkeen vain rajoitetuksi ajaksi, joten lähetä komennot mahdollisimman nopeasti.

Lähetä AT+CIPSTART = 0, "TCP", "api.thingspeak.com", 80 sarjamonitorin kautta

ESP: n vastaus: Linkitetty palautetaan, jos yhteys on muodostettu.

Tätä komentoa käytetään TCP -yhteyden muodostamiseen.

Syntaksi on AT+CIPSTART = linkin tunnus, tyyppi, etä -IP, etäportti

missä

link ID = verkkoyhteyden tunnus (0 ~ 4), käytetään moniliitännässä.

type = merkkijono, "TCP" tai "UDP".

etä -IP = merkkijono, etä -IP -osoite (verkkosivuston osoite).

etäportti = merkkijono, etäportin numero (valitaan yleensä 80).

Lähetä AT+CIPSEND = 0, 110 sarjamonitorin kautta

ESP: n vastaus:> (suurempi kuin) palautetaan, jos komento onnistuu.

Tätä komentoa käytetään tietojen lähettämiseen.

Syntaksi on AT+CIPSEND = linkin tunnus, pituus

missä

link-tunnus = yhteyden tunnus (0 ~ 4), moniliitäntä, koska CIPMUX on asetettu arvoon 1, on 1.

pituus = datan pituus, MAX 2048 tavua Valitse yleensä pituudelle suuri luku.

Vaihe 16: Tweetin lähettäminen

Twiitin lähettäminen
Twiitin lähettäminen

Nyt lähetetään twiitti

Lähetä GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet sarjamonitorin kautta.

Korvaa API API -avaimella ja makeuta haluamallasi twiitillä.

Heti kun lähetät yllä olevan komennon, paina enter -näppäintä (Return) noin 1 sekunnin välein. Jonkin ajan kuluttua SEND OK, +IPD, 0, 1: 1 ja OK palautetaan, mikä tarkoittaa, että twiitti on lähetetty.

Avaa twitterisi ja tarkista, onko twiitti lähetetty vai ei.

Huomaa myös, että samaa twiittiä ei voida lähettää toistuvasti.

Yllä oleva lähetetty merkkijono (GET….) On HTTP GET -pyyntö.

GET -pyyntöä käytetään tietojen hakemiseen annetulta palvelimelta (api.thingspeak.com).

Vaihe 17: Mitä tehdä tämän jälkeen

(Katso video vähintään 360p)

Lataa koodi ja kaaviot tästä arkistosta. Napsauta "Kloona tai lataa" -painiketta (vihreä väri oikealla) ja valitse "Lataa ZIP" ladataksesi zip -tiedoston. Olen ladannut tähän arkistoon myös cheatsheet, jossa on yhteenveto kaikista AT -komennoista.

Internetissä on paljon hienoja resursseja, jotka käsittelevät ESP8266: ta. Olen maininnut joitain niistä täällä:

  • Kevin Darrah videoita.
  • KAIKKI videoita.
  • esp8266.com

Voit myös kokeilla enemmän AT -komentoja. Internetissä on paljon sovellusliittymiä, jotka voivat tehdä kaikenlaisia asioita, kuten saada säätä, osakekursseja jne.

Täysi AT -komentojen dokumentaatio

Lisäksi työskentelen parhaillaan ohjelman parissa, joka tweettaa automaattisesti anturin analogiset arvot ja julkaisen sen, kun se toimii oikein.

Jos pidit ohjeellisesta äänestyksestäni Arduinon kaikki asiat -kilpailussa.

Suositeltava: