Iesācēja rokasgrāmata par ESP8266 un tvītošanu, izmantojot ESP8266: 17 soļi (ar attēliem)
Iesācēja rokasgrāmata par ESP8266 un tvītošanu, izmantojot ESP8266: 17 soļi (ar attēliem)
Anonim
Iesācēja rokasgrāmata par ESP8266 un tvītošanu, izmantojot ESP8266
Iesācēja rokasgrāmata par ESP8266 un tvītošanu, izmantojot ESP8266

Es uzzināju par Arduino pirms 2 gadiem. Tāpēc es sāku spēlēt ar vienkāršām lietām, piemēram, gaismas diodēm, pogām, motoriem utt. Tad es domāju, vai nebūtu forši pieslēgties, lai veiktu tādas lietas kā dienas laika, akciju cenu, vilcienu laika rādīšana LCD displejs. Es atklāju, ka to var izdarīt, nosūtot un saņemot datus, izmantojot internetu. Tātad risinājums bija savienojums ar intenet. Tur es sāku meklēt, kā savienot Arduino ar internetu un sūtīt un saņemt datus. Es uzzināju par wifi moduļiem internetā un atklāju, ka tie ir ļoti dārgi. Tad es uzzināju par ESP8266.

Apmēram pirms gada es daudz lasīju internetā ESP8266 modulī un nopirku vienu, bet pagājušajā mēnesī sāku ar viņiem strādāt. Tajā laikā nebija pieejama plaša informācija. Tomēr tagad ir pieejama daudz dokumentācijas, video internetā par programmaparatūru, AT komandām, projektiem utt. Tāpēc es nolēmu sākt.

Es uzrakstīju šo pamācību kā iesācēja rokasgrāmatu, jo saskāros ar daudzām problēmām, veidojot vadu un uzsākot darbu ar ESP8266. Tāpēc es nolēmu uzrakstīt šo pamācību, lai citi cilvēki, kas saskaras ar moduļu problēmām, varētu tos ātrāk atrisināt

Šajā pamācībā es mēģināšu parādīt

  • Kā savienot ESP8266 un sazināties ar to, izmantojot Arduino Uno.
  • Es arī mēģināšu parādīt, kā caur to var nosūtīt tvītu, izmantojot Thingspeak.

Ko var darīt ESP8266? To ierobežo jūsu iztēle. Internetā esmu redzējis projektus un apmācības, kas parāda, kā iegūt pilsētas temperatūru, akciju cenas, sūtīt un saņemt e -pastus, zvanīt un daudz ko citu. Es parādīšu šo pamācību, kā nosūtīt tvītu.

1. darbība: lietas, kas jums būs nepieciešamas

Lietas, kas jums būs nepieciešamas
Lietas, kas jums būs nepieciešamas

Šeit ir lietas, kas jums būs nepieciešamas. Lielāko daļu no tiem var iegādāties no jebkura elektrības veikala vai tiešsaistē (esmu norādījis saites atsaucei).

  • 1xESP8266 (ESP -01)
  • 1xBreadboard adapteris (uzziniet, kā to izveidot šeit vai izmantojiet dažus savienojuma vadus)
  • 1xLM2596 -Ebay
  • 1xLogic līmeņa pārveidotājs -Ebay
  • 1xArduino Uno
  • USB kabelis Arduino Uno
  • 1xBreadboard -Ebay
  • Vadi -ebay
  • Arduino IDE
  • Konts ar Thingspeak

Kopējās izmaksas būs aptuveni 600 Rs (apmēram 9 ASV dolāri). Es neesmu izslēdzis Arduino Uno izmaksas, jo tas ir atkarīgs no tā, vai vēlaties oriģinālu vai klonu. Lētākie kloni ir pieejami aptuveni 500 Rs (aptuveni 4 USD).

2. darbība. Informācija par ESP8266

ESP8266 tika palaists 2014. gadā tikai pirms gada, tāpēc tas ir diezgan jauns. Mikroshēmas ražo Espressif.

Priekšrocība

ESP8266 lielākā priekšrocība, iespējams, ir tā izmaksas. Tas ir diezgan lēts, un jūs varat iegādāties dažus no tiem vienā piegājienā. Pirms es uzzināju par to, es pat nevarēju iedomāties iegādāties wifi moduli. Tie bija pārāk dārgi. Jaunas ESP8266 versijas tiek izlaistas diezgan bieži, un jaunākā ir ESP 12. Tomēr šajā pamācībā es pievērsīšos tikai ESP 01, kas ir diezgan populārs. Turklāt, pērkot ESP8266, tas ir iepriekš ielādēts ar noklusējuma AT programmaparatūru. jums ir labi sākt darbu, tiklīdz to iegādājaties.. Arī, kā redzēsit no šīs pamācības, ir diezgan viegli tos saskarties.

Trūkums

Katrai ierīcei ir savas priekšrocības un trūkumi, un ESP neatšķiras. ESP dažkārt var izrādīties ļoti sarežģīts un nomākts strādāt. Tā kā tā ir diezgan jauna, jums būs grūti iegūt informāciju par to. Par laimi, kopiena vietnē esp8266.com pastāv, kas palīdz daudz. Turklāt dažreiz arī sāk darīt negaidītas lietas, piemēram, izmest atkritumu kravu, izmantojot seriālo savienojumu utt.

Ņemiet vērā, ka internetā ir pieejama daudz dokumentācijas, un daži no tiem ir pretrunīgi. Šī pamācība neatšķiras. Spēlējot ar manu ESP8266, es atklāju, ka tā daudz atšķiras no tā, kas tika minēts internetā (jūsu var arī), bet tas strādāja labi.

3. darbība: ESP8266 pinout

ESP8266 piespraude
ESP8266 piespraude

ESP8266 ir 8 tapas, kā parādīts attēlā.

Gnd un Vcc kā parasti jāpievieno zemei un barošanai. ESP8266 darbojas ar 3.3V spriegumu.

RESET tapu izmanto, lai manuāli atiestatītu ESP. Tam parasti jābūt savienotam ar 3.3V. Ja vēlaties atiestatīt ESP, pievienojiet šo tapu īslaicīgi pie zemes un pēc tam atpakaļ uz 3.3V.

CH_PD ir mikroshēmas strāvas padeves pārtraukums, kas parasti jāpievieno 3,3 V.

GPIO0 un GPIO2 ir vispārējas nozīmes ieejas izejas tapas. Parasti tām jābūt savienotām ar 3.3V. Tomēr, mirgojot programmaparatūrai, pievienojiet GPIO0 līdz gnd.

Rx un Tx tapas ir ESP8266 raidīšanas un uztveršanas tapas. Tie darbojas ar 3.3V loģiku, t.i., 3.3V ir loģika HIGH ESP8266.

Detalizēti savienojumi ir sniegti turpmākajās darbībās.

4. solis: Kas jāizmanto saziņai ar ESP8266?

Kas jāizmanto, lai sazinātos ar ESP8266?
Kas jāizmanto, lai sazinātos ar ESP8266?
Kas jāizmanto, lai sazinātos ar ESP8266?
Kas jāizmanto, lai sazinātos ar ESP8266?
Kas jāizmanto, lai sazinātos ar ESP8266?
Kas jāizmanto, lai sazinātos ar ESP8266?

Ir daudz ierīču, kuras var izmantot, lai sazinātos ar ESP8266, piemēram, FTDI programmētāji, USB uz TTL sērijas pārveidotājs, Arduino uc Ja jums ir Arduino, jums ir arī Arduino IDE, un tā seriālo monitoru var izmantot saziņai ar ESP8266. Tātad netērējiet naudu FTDI programmētājiem utt.

Tomēr, ja vēlaties vai ja jums tāds jau ir, varat izmantot FTDI programmētāju vai USB -TTL sērijas pārveidotāju (vairāk par to pievienošanu vēlāk). Ir arī daudz programmatūras, piemēram, RealTerm vai špakteles. Jūs varat izmantot tos tāpat kā Arduino IDE sērijas monitoru.

5. darbība: ESP8266 uzstādīšana uz maizes dēļa

ESP8266 uzstādīšana uz maizes dēļa
ESP8266 uzstādīšana uz maizes dēļa
ESP8266 uzstādīšana uz maizes dēļa
ESP8266 uzstādīšana uz maizes dēļa

Ņemiet vērā, ka ESP8266 tapas nav piemērotas maizei. To var pārvarēt divos veidos.

Izmantojiet vadus no sievietēm līdz vīriešiem, kas var padarīt lietas netīras vai

Dariet, kā parādīts šajā pamācībā vai

Izmantojiet adaptera dēli, izveidojiet to pats (Instructables to ir daudz), kas ir glīts.

6. darbība: barošanas avots

Enerģijas padeve
Enerģijas padeve

ESP8266 darbojas ar 3.3V barošanu. Nepievienojiet to Arduino 5V tapai. Tas, iespējams, sadedzinās.

Dažās apmācībās tika ieteikts izveidot sprieguma dalītāja ķēdi, izmantojot 1k, 2k rezistorus ar 5V kā ieeju, un iegūt 3,3V pāri 2k rezistoram un piegādāt to Arduino. Tomēr es atklāju, ka ESP pat neieslēdzās, kad es to izdarīju.

Es varēju to ieslēgt, izmantojot Arduino 3.3V, bet konstatēju, ka ESP pēc kāda laika sakarst.

Jūs varat izmantot 3.3V sprieguma regulatoru.

Vai arī jūs varat izmantot LM2596 līdzstrāvas pazemināšanas pārveidotāju. Tie ir diezgan lēti. Un es tos izmantoju. Piešķiriet 5 V no Arduino līdz ieejai. Pielāgojiet moduļa potenciometru, līdz izeja kļūst par 3.3VI, un ESP var darbināt no viena no šiem stundām. Veiciet savienojumus, kā parādīts attēlā.

7. darbība: loģikas līmeņa konvertēšana

Loģikas līmeņa konvertēšana
Loģikas līmeņa konvertēšana

Tiek minēts, ka ESP ir 3.3V loģika, bet Arduino ir 5V loģika.

Tas nozīmē, ka ESP 3.3V ir loģisks HIGH, bet Arduino 5V ir loģisks HIGH. Tas var radīt dažas problēmas, savienojot tos kopā.

Internetā es atklāju, ka ir jāpiemēro loģikas līmeņa pārveidošana, vienlaikus sasaistot ESP Rx un Tx ar Arduino.

Dažās apmācībās tika minēts, ka, saskaroties ar ESP Rx tapu, ir nepieciešama loģikas līmeņa pārveidošana.

Tomēr es atklāju, ka tikai normāla ESP Rx un Tx tapu savienošana ar Arduino neradīja nekādas problēmas

Es savienoju Rx un Tx, izmantojot loģikas līmeņa pārveidotāju, kā arī tikai Rx, bet nesaņēmu nekādu atbildi.

Tomēr es atklāju, ka ESP Tx tapas savienošana, izmantojot loģikas līmeņa pārveidotāju, vienlaikus tieši savienojot Tx, arī neradīja problēmas

Tātad loģikas līmeņa pārveidotāju var izmantot vai nē.

Izmantojiet jebkuru metodi, kas jums noder, izmantojot izmēģinājumus un kļūdas.

8. darbība. Savienojumi

Savienojumi
Savienojumi

ESP8266 savienojumi ir:

ESP8266

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

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

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

Rx -------------------- Arduino Rx

Tx --------------------- Arduino Tx (tiešs vai caur loģikas līmeņa pārveidotāju)

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

ATiestatīt -------------- 3.3V

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

(Ņemiet vērā, ka dažās versijās ESP Rx ir jāpievieno Arduino Tx un ESP Tx jāpievieno Arduino Rx).

Ja izmantojat FTDI programmētāju vai seriālo pārveidotāju no USB uz TTL, pievienojiet to Tx un Rx attiecīgi ESP8266 Rx un Tx.

9. darbība. Darba sākšana

Pēc savienojumu izveidošanas augšupielādējiet

anulēts iestatījums ()

{}

tukša cilpa ()

{}

i., tukša skice uz Arduino..

Atveriet seriālo monitoru un iestatiet to uz “Both NL & CR”.

Eksperimentējiet ar Bauda likmi. Tam parasti jābūt 9600, lai gan dažreiz tas var būt 115200.

10. solis: pie komandām

Pēc komandām
Pēc komandām

Vienkārši sakot, AT komandas ir komandas, kuras var nosūtīt uz ESP8266, lai tas varētu veikt dažas funkcijas, piemēram, restartēt, izveidot savienojumu ar wifi utt. Atbildot uz ESP, teksta veidā tiks nosūtīts apstiprinājums. Tālāk es paskaidroju dažus AT komandas un tas, kā ESP uz tām reaģē. Ņemiet vērā, ka ar sūtīšanu es domāju komandas ierakstīšanu un nospiešanu (atgriezties).

Sūtiet AT caur seriālo monitoru

Šī komanda tiek izmantota kā testa komanda.

Kā ESP reaģē: Labi jāatgriež.

Sūtiet AT+RST caur seriālo monitoru

Šī komanda tiek izmantota moduļa restartēšanai.

Kā ESP reaģē: ESP atgriež atkritumu kravu. Tomēr meklējiet Gatavs vai gatavs.

Sūtiet AT+GMR, izmantojot seriālo monitoru

Šo komandu izmanto, lai noteiktu moduļa programmaparatūras versiju.

Kā reaģē ESP: jāatdod programmaparatūras versija.

Programmaparatūra ir programmatūra, kas tiek instalēta ierīcē, parasti tās ROM (tikai lasāmā atmiņa), ti, tā nav paredzēta bieži mainīšanai vai vispār nav. Tā nodrošina ierīces vadību un datu apstrādi. ESP8266 ir numurs dažādu programmaparatūru, kuras visas ir diezgan viegli mirgot (instalēt).

11. darbība: AT komandu vispārējā sintakse

Tiek sniegta vispārējā AT komandu sintakse dažādu funkciju veikšanai:

AT+parametrs =?

Kad šāda veida komanda tiek nosūtīta caur seriālo monitoru, ESP atgriež visas vērtības, kuras var iegūt parametrs.

AT+parametrs = val

Kad šāda veida komanda tiek nosūtīta caur seriālo monitoru, ESP nosaka parametra vērtību uz val.

AT+parametrs?

Kad šāda veida komanda tiek nosūtīta caur seriālo monitoru, ESP atgriež pašreizējo parametra vērtību.

Dažas AT komandas var izmantot tikai vienu no iepriekš minētajiem veidiem, bet dažas var izmantot visus 3.

Komandas piemērs, kas ir iespējams visos iepriekšminētajos 3 veidos, ir CWMODE, ko izmanto, lai iestatītu wifi režīmu.

Sūtīt AT+CWMODE =? caur seriālo monitoru

Kā reaģē ESP: visas vērtības, kuras var izmantot ESP CWMODE (1-3), tiek atdotas īpaši +CWMODE (1-3).

1 = statisks

2 = AP

3 = gan statisks, gan AP

Nosūtiet AT+CWMODE = 1 caur sērijas monitoru

Kā reaģē ESP: Labi jāatgriež, ja CWMODE mainās no iepriekšējās vērtības un tā ir iestatīta uz statisku, pretējā gadījumā nekādas izmaiņas nav jāatgriež, ja CWMODE vērtība nemainās.

SVARĪGI: ja vien CWMODE nav iestatīts uz 1, komandas turpmākajās darbībās nedarbosies.

Vai nosūtīt AT+CWMODE? caur seriālo monitoru

Kā reaģē ESP: CWMODE pašreizējā vērtība ir jāatgriež, jo īpaši, ja veicāt iepriekš minēto darbību +CWMODE: 1.

12. darbība. Savienojuma izveide ar Wifi

Sūtiet AT+CWLAP, izmantojot seriālo monitoru

Šī komanda tiek izmantota, lai uzskaitītu visus apgabala tīklus.

Kā reaģē ESP: jāatdod visu pieejamo piekļuves punktu vai wifi tīklu saraksts.

Sūtīt AT+CWJAP = "SSID", "parole"

(ieskaitot pēdiņas).

Šī komanda tiek izmantota, lai pievienotos wifi tīklam.

Kā reaģē ESP: ja modulis ir pievienots tīklam, jāatgriež OK.

Vai nosūtīt AT+CWJAP? caur seriālo monitoru

Šo komandu izmanto, lai noteiktu tīklu, kuram ESP pašlaik ir pievienots.

Kā ESP reaģē: tīkls, kuram ir pievienots ESP, tiks atgriezts. Konkrēti +CWJAP: "SSID"

Sūtiet AT+CWQAP, izmantojot seriālo monitoru

Šo komandu izmanto, lai atvienotos no tīkla, kuram ESP pašlaik ir pievienots.

Kā ESP reaģē: ESP aizver tīklu, kuram tas ir pievienots, un tiek atgriezts OK.

Sūtiet AT+CIFSR caur seriālo monitoru

Šī komanda tiek izmantota, lai noteiktu ESP IP adresi.

Kā ESP reaģē: tiek atgriezta ESP IP adrese.

13. solis: lietas runa

Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak

Ja neesat izveidojis kontu pakalpojumā Thingspeak, izveidojiet to tūlīt.

Kad esat izveidojis kontu vietnē Thingspeak, dodieties uz Lietotnes> ThingTweet.

Saistiet ar to savu Twitter kontu.

Ņemiet vērā ģenerēto API atslēgu.

Šeit pēc tam, kad lietotne ThingTweet ir izmantota Twitter konta saistīšanai ar jūsu ThingSpeak kontu, varat nosūtīt tvītu, izmantojot TweetContol API.

API (lietojumprogrammu saskarne) ir kods, kas ļauj divām programmatūras programmām savstarpēji sazināties.

Dažas citas izstrādātājiem pieejamas API ir Google Maps API, Open weather API u.c.

Tikai pēc tam, kad ESP ir iestatīts, pārbaudīts un izveidots savienojums ar wifi (būtībā visas iepriekšējās 2 darbības), veiciet tālāk norādītās darbības.

14. darbība. Vēl dažas AT komandas

Nosūtiet AT+CIPMODE = 0, izmantojot seriālo monitoru

Kā ESP reaģē: tiek atgriezts OK.

Komanda CIPMODE tiek izmantota pārsūtīšanas režīma iestatīšanai.

0 = normāls režīms

1 = UART-WiFi caurlaides režīms

Nosūtiet AT+CIPMUX = 1 caur seriālo monitoru

Kā ESP reaģē: tiek atgriezts OK.

Komanda CIPMUX tiek izmantota viena vai vairāku savienojumu iestatīšanai.

0 = viens savienojums

1 = vairāki savienojumi

15. darbība: TCP savienojuma iestatīšana

TCP savienojuma iestatīšana
TCP savienojuma iestatīšana
TCP savienojuma iestatīšana
TCP savienojuma iestatīšana

Ņemiet vērā, ka, sākot ar pirmo komandu, tiklīdz esat nosūtījis pirmo, savienojums tiks izveidots tikai uz ierobežotu laiku. Tāpēc nosūtiet komandas pēc iespējas ātrāk.

Sūtīt AT+CIPSTART = 0, "TCP", "api.thingspeak.com", 80, izmantojot seriālo monitoru

Kā reaģē ESP: ja savienojums ir izveidots, tiek atgriezta saite.

Šo komandu izmanto, lai izveidotu TCP savienojumu.

Sintakse ir AT+CIPSTART = saites ID, tips, attālais IP, attālais ports

kur

saites ID = tīkla savienojuma ID (0 ~ 4), ko izmanto vairākiem savienojumiem.

tips = virkne, "TCP" vai "UDP".

attālais IP = virkne, attālā IP adrese (vietnes adrese).

attālais ports = virkne, attālā porta numurs (parasti tiek izvēlēts kā 80).

Sūtiet AT+CIPSEND = 0, 110 caur sērijas monitoru

Kā ESP reaģē:> (lielāks par) tiek atgriezts, ja komanda ir veiksmīga.

Šī komanda tiek izmantota datu nosūtīšanai.

Sintakse ir AT+CIPSEND = saites ID, garums

kur

saites ID = savienojuma ID (0 ~ 4), multi-connect. Tā kā CIPMUX ir iestatīts uz 1, tas ir 1.

garums = datu garums, MAX 2048 baiti. Parasti garumam izvēlieties lielu skaitli.

16. darbība: tvīta sūtīšana

Tvīta sūtīšana
Tvīta sūtīšana

Tagad par tvīta nosūtīšanu

Sūtīt GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet caur seriālo monitoru.

Nomainiet savu API ar API atslēgu, un jūs esat mīļš ar jebkuru tvītu, kuru vēlaties.

Tiklīdz jūs nosūtāt iepriekš minēto komandu, sāciet nospiest taustiņu Enter (atgriešanās) ar aptuveni 1 sekundes intervālu. Pēc kāda laika tiks nosūtīti Sūtīt OK, +IPD, 0, 1: 1 un OK, kas nozīmē, ka tvīts ir publicēts.

Atveriet savu čivināt un pārbaudiet, vai tvīts ir publicēts vai nē.

Ņemiet vērā arī to, ka to pašu tvītu nevar nosūtīt atkārtoti.

Iepriekš nosūtītā virkne (GET….) Ir HTTP GET pieprasījums.

GET pieprasījums tiek izmantots, lai izgūtu datus no dotā servera (api.thingspeak.com).

17. darbība: ko darīt pēc tam

(Noskatieties video vismaz 360p formātā)

Dodieties uz šo krātuvi, lai lejupielādētu kodu un shēmas. Noklikšķiniet uz pogas "Klonēt vai lejupielādēt" (zaļā krāsā labajā pusē) un atlasiet "Lejupielādēt ZIP", lai lejupielādētu zip failu. Tagad iegūstiet saturu datorā, lai iegūtu kods un shēmas (shēmu mapē). Šajā krātuvē esmu augšupielādējis arī cheatsheet, kurā apkopotas visas AT komandas.

Internetā ir pieejams daudz lielisku resursu, kas nodarbojas ar ESP8266. Šeit es minēju dažus no tiem:

  • Kevina Dāra video.
  • VISI videoklipi.
  • esp8266.com

Varat arī vairāk eksperimentēt ar AT komandām. Internetā ir pieejams daudz API, kas var darīt visu, piemēram, laika apstākļus, akciju cenas utt.

Pilna AT komandu dokumentācija

Arī es šobrīd strādāju pie programmas, kas automātiski tweets sensora analogās vērtības, un es to ievietošu, kad tas darbosies pareizi.

Ja jums patika mans pamācošais balsojums par to Arduino visu lietu konkursā.

Ieteicams: