Turinys:

Pradedančiųjų ESP8266 ir tweeting vadovas naudojant ESP8266 vadovas: 17 žingsnių (su paveikslėliais)
Pradedančiųjų ESP8266 ir tweeting vadovas naudojant ESP8266 vadovas: 17 žingsnių (su paveikslėliais)

Video: Pradedančiųjų ESP8266 ir tweeting vadovas naudojant ESP8266 vadovas: 17 žingsnių (su paveikslėliais)

Video: Pradedančiųjų ESP8266 ir tweeting vadovas naudojant ESP8266 vadovas: 17 žingsnių (su paveikslėliais)
Video: Использование драйвера шагового двигателя L298N Для управления 4-проводным шаговым двигателем 2024, Lapkritis
Anonim
Pradedančiųjų ESP8266 ir tweeting vadovas naudojant ESP8266 vadovas
Pradedančiųjų ESP8266 ir tweeting vadovas naudojant ESP8266 vadovas

Prieš 2 metus sužinojau apie „Arduino“. Taigi pradėjau žaisti su paprastais dalykais, tokiais kaip šviesos diodai, mygtukai, varikliai ir pan. Tada pagalvojau, ar nebūtų šaunu prisijungti prie tokių dalykų, kaip dienos orų, akcijų kainų, traukinių laiko rodymas LCD ekranas. Radau, kad tai galima padaryti siunčiant ir gaunant duomenis internetu. Taigi sprendimas buvo prisijungimas prie interneto. Pradėjau ieškoti, kaip prijungti „Arduino“prie interneto ir siųsti bei gauti duomenis. Sužinojau apie „Wi -Fi“modulius internete ir pastebėjau, kad jie yra labai brangūs. Tada sužinojau apie ESP8266.

Maždaug prieš metus skaičiau internete apie ESP8266 modulį ir nusipirkau vieną, bet tik su jais pradėjau dirbti praėjusį mėnesį. Tuo metu nebuvo išsamios informacijos. Tačiau dabar yra daug dokumentų, vaizdo įrašų internete apie programinę įrangą, AT komandas, projektus ir pan. Taigi nusprendžiau pradėti.

Aš parašiau šią pamoką kaip pradedančiojo vadovą, nes susidūriau su daugybe problemų prisijungdamas ir pradėdamas naudotis ESP8266. Taigi nusprendžiau parašyti šią instrukciją, kad kiti žmonės, susidūrę su savo modulių problemomis, galėtų juos greičiau išspręsti

Šioje instrukcijoje bandysiu parodyti

  • Kaip prijungti ESP8266 ir bendrauti su juo per „Arduino Uno“.
  • Taip pat pabandysiu parodyti, kaip per jį galima išsiųsti tviterį naudojant „Thingspeak“.

Ką gali ESP8266? Tai riboja jūsų vaizduotė. Internete mačiau projektų ir vadovėlių, rodančių, kaip nustatyti miesto temperatūrą, akcijų kainas, siųsti ir gauti el. Laiškus, skambinti telefonu ir daug daugiau. tai instrukcija, kaip išsiųsti tviterį.

1 žingsnis: reikalingi dalykai

Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks

Štai jums reikalingi dalykai. Daugumą jų galima nusipirkti bet kurioje elektros parduotuvėje arba internete (pateikiau nuorodas).

  • 1xESP8266 (ESP -01)
  • 1xBreadboard adapteris (sužinokite, kaip jį pasigaminti čia arba naudokite trumpuosius laidus)
  • 1xLM2596
  • 1xLogic lygio keitiklis -ebay
  • 1x „Arduino Uno“
  • USB kabelis, skirtas „Arduino Uno“
  • 1xBreadboard -Ebay
  • Laidai -įlanka
  • „Arduino IDE“
  • Sąskaita „Thingspeak“

Bendra kaina bus apie 600 Rs (apie 9 USD). Aš neįtraukiau „Arduino Uno“išlaidų, nes tai priklauso nuo to, ar norite originalo, ar klono. Pigiausi klonai yra maždaug 500 Rs (apie 4 USD).

2 veiksmas: šiek tiek informacijos apie ESP8266

ESP8266 buvo paleistas 2014 m. Prieš metus, todėl jis yra gana naujas. Lustai gaminami „Espressif“.

Privalumas

Didžiausias ESP8266 pranašumas yra galbūt jo kaina. Tai gana pigu, ir jūs galite nusipirkti keletą iš jų vienu metu. Prieš sužinodamas apie tai, aš net negalvojau nusipirkti „wifi“modulio. Jie buvo per brangūs. Naujos ESP8266 versijos išleidžiamos gana dažnai, o naujausia - 12 ESP. Tačiau šioje instrukcijoje daugiausia dėmesio skirsiu tik ESP 01, kuris yra gana populiarus. Be to, kai perkate ESP8266, jis iš anksto įkeliamas su numatytąja AT programine įranga. jums gerai pradėti, kai tik nusipirksite vieną. Taip pat, kaip matysite iš šios instrukcijos, juos gana lengva sujungti.

Trūkumas

Kiekvienas įrenginys turi savo privalumų ir trūkumų, o ESP nesiskiria. ESP kartais gali pasirodyti labai sudėtinga ir varginanti dirbti. Kadangi tai gana nauja, jums bus sunku gauti informacijos apie tai. Laimei, esp8266 bendruomenė.com egzistuoja, o tai labai padeda. Be to, kartais jis taip pat pradeda daryti netikėtus dalykus, pavyzdžiui, išmesti šiukšlių krovinį per nuoseklųjį ryšį ir pan.

Atkreipkite dėmesį, kad internete yra daug dokumentų ir kai kurios jų dalys prieštarauja. Ši instrukcija nesiskiria. Žaisdamas su savo ESP8266 pastebėjau, kad jis labai nukrypo nuo to, kas buvo paminėta internete (jūsų taip pat), bet tai gerai veikė.

3 žingsnis: ESP8266 „Pinout“

ESP8266 kontaktas
ESP8266 kontaktas

ESP8266 turi 8 kaiščius, kaip parodyta.

„Gnd“ir „Vcc“kaip įprasta turi būti prijungti prie žemės ir maitinimo. ESP8266 veikia 3.3V.

RESET kaištis naudojamas rankiniu būdu iš naujo nustatyti ESP. Paprastai jis turi būti prijungtas prie 3.3V. Jei norite iš naujo nustatyti ESP, trumpam prijunkite šį kaištį prie žemės, o tada - atgal į 3.3V.

CH_PD yra lusto išjungimas, kuris paprastai turėtų būti prijungtas prie 3.3V.

GPIO0 ir GPIO2 yra bendrosios paskirties įvesties išvesties kaiščiai. Paprastai jie turi būti prijungti prie 3.3V. Tačiau, kai mirksi programinė įranga, prijunkite GPIO0 prie gnd.

Rx ir Tx kaiščiai yra ESP8266 siunčiantys ir gaunantys kaiščiai. Jie veikia pagal 3.3V logiką, ty 3.3V yra ESP8266 loginė HIGH.

Išsamios jungtys pateikiamos vėlesniuose veiksmuose.

4 veiksmas: ką reikėtų naudoti bendraujant su ESP8266?

Ką reikėtų naudoti bendraujant su ESP8266?
Ką reikėtų naudoti bendraujant su ESP8266?
Ką reikėtų naudoti bendraujant su ESP8266?
Ką reikėtų naudoti bendraujant su ESP8266?
Ką reikėtų naudoti bendraujant su ESP8266?
Ką reikėtų naudoti bendraujant su ESP8266?

Yra daug prietaisų, kurie gali būti naudojami bendrauti su ESP8266, pvz., FTDI programuotojai, USB į TTL nuoseklusis keitiklis, „Arduino“ir kt. Tačiau aš naudoju „Arduino Uno“vien todėl, kad tai lengviausia ir beveik visi jį turi. Taip pat Turėkite „Arduino“, taip pat turite „Arduino IDE“, o jo serijinis monitorius gali būti naudojamas ryšiui su ESP8266. Taigi nereikia išleisti pinigų FTDI programuotojams ir pan.

Tačiau jei norite arba jau turite, galite naudoti FTDI programuotoją arba USB į TTL nuoseklųjį keitiklį (daugiau apie tai, kaip juos prijungti vėliau). Taip pat yra daug programinės įrangos, pvz., „RealTerm“arba glaisto. juos taip pat, kaip ir „Arduino IDE“serijinį monitorių.

5 žingsnis: ESP8266 montavimas ant duonos lentos

ESP8266 montavimas ant duonos lentos
ESP8266 montavimas ant duonos lentos
ESP8266 montavimas ant duonos lentos
ESP8266 montavimas ant duonos lentos

Atkreipkite dėmesį, kad ESP8266 kaiščiai nėra tinkami duonai. Tai galima įveikti dviem būdais.

Naudokite megztinius nuo moterų iki vyrų, kurie gali sujaukti

Darykite taip, kaip parodyta šioje instrukcijoje arba

Naudokite adapterio plokštę, pasidarykite ją patys („Instructables“jų yra daug), kuri yra tvarkinga.

6 žingsnis: maitinimo šaltinis

Maitinimo šaltinis
Maitinimo šaltinis

ESP8266 veikia su 3.3 V maitinimo šaltiniu. Nejunkite jo prie 5 V kaiščio „Arduino“. Jis tikriausiai sudegs.

Kai kuriose pamokose buvo pasiūlyta sukurti įtampos skirstytuvo grandinę naudojant 1k, 2k rezistorius su 5V kaip įvestį ir gauti 3,3V per 2k rezistorių ir tiekti jį „Arduino“. Tačiau aš pastebėjau, kad ESP net neįsijungė, kai tai padariau.

Aš galėjau jį įjungti naudodamas „Arduino“3.3V, tačiau nustatiau, kad po kurio laiko ESP įkaista.

Galite naudoti 3,3 V įtampos reguliatorių.

Arba galite naudoti LM2596 nuolatinės srovės keitiklį. Jie yra gana pigūs. Ir aš juos naudojau. Suteikite 5 V įtampą iš „Arduino“įvesties. Sureguliuokite modulio potenciometrą, kol išvestis taps 3.3VI, kad ESP gali būti maitinamas iš vienos iš šių valandų. Sukurkite jungtis, kaip parodyta paveikslėlyje.

7 žingsnis: loginio lygio konvertavimas

Loginio lygio konvertavimas
Loginio lygio konvertavimas

Paminėta, kad ESP turi 3,3 V logiką, o „Arduino“- 5 V logiką.

Tai reiškia, kad ESP 3.3V yra logiška HIGH, o „Arduino“5V yra logiška HIGH. Tai gali sukelti tam tikrų problemų juos sujungiant.

Internete radau, kad reikia taikyti loginio lygio konvertavimą, kai ESP Rx ir Tx yra sujungiami su „Arduino“.

Kai kuriuose vadovėliuose paminėta, kad reikia susieti loginį lygmenį, kai sujungiamas ESP Rx kaištis.

Tačiau aš pastebėjau, kad tiesiog įprastai prijungus ESP Rx ir Tx kaiščius prie „Arduino“nesukėlė jokių problemų

Aš prijungiau Rx ir Tx per loginio lygio keitiklį, taip pat vien tik Rx, bet negavau jokio atsakymo.

Tačiau pastebėjau, kad ESP Tx kaiščio prijungimas per loginio lygio keitiklį, tiesiogiai prijungiant Tx, taip pat nesukėlė jokių problemų

Taigi loginio lygio keitiklis gali būti naudojamas arba ne.

Naudokite bet kurį metodą, kuris jums tinka bandymų ir klaidų būdu.

8 žingsnis: jungtys

Sujungimai
Sujungimai

ESP8266 jungtys yra šios:

ESP8266

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

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

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

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

Tx --------------------- Arduino Tx (tiesioginis arba per loginio lygio keitiklį)

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

ATSTATYMAS -------------- 3.3V

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

(Atkreipkite dėmesį, kad kai kuriose versijose ESP Rx turėtų būti prijungtas prie „Arduino Tx“, o ESP Tx - „Arduino Rx“.)

Jei naudojate FTDI programuotoją arba USB į TTL nuoseklųjį keitiklį, atitinkamai prijunkite jų Tx ir Rx prie ESP8266 Rx ir Tx.

9 veiksmas: pradžia

Užmezgę ryšius, įkelkite

negaliojanti sąranka ()

{}

tuštumos kilpa ()

{}

y. tuščias eskizas į „Arduino“.

Atidarykite serijinį monitorių ir nustatykite jį į „Tiek NL, tiek CR“.

Eksperimentuokite su Baudo rodikliu. Paprastai jis turėtų būti 9600, nors kartais jis gali būti 115200.

10 žingsnis: Į komandas

AT Komandos
AT Komandos

Tiesiog sakant, kad AT komandos yra komandos, kurias galima siųsti į ESP8266, kad ji galėtų atlikti kai kurias funkcijas, pvz., Paleisti iš naujo, prisijungti prie „Wi -Fi“ir pan. ESP atsakydama atsiųs tam tikrą patvirtinimą teksto forma. Žemiau aš paaiškinau kai kurias funkcijas AT komandos ir kaip ESP reaguoja į jas. Atkreipkite dėmesį, kad siunčiant turiu omenyje komandos įvedimą ir paspaudimą Enter (grįžti).

Siųsti AT per nuoseklųjį monitorių

Ši komanda naudojama kaip bandymo komanda.

Kaip ESP reaguoja: Gerai reikia grąžinti.

Siųskite AT+RST per nuoseklųjį monitorių

Ši komanda naudojama iš naujo paleisti modulį.

Kaip ESP reaguoja: ESP grąžina šiukšles. Tačiau ieškokite „Ready“arba „ready“.

Siųskite AT+GMR per serijinį monitorių

Ši komanda naudojama modulio programinės įrangos versijai nustatyti.

Kaip reaguoja ESP: reikia grąžinti programinės įrangos versiją.

Firmware yra programinė įranga, kuri yra įdiegta įrenginyje, paprastai jo ROM (tik skaitymo atmintyje), ty ji nėra skirta dažnai keisti arba visai nekeisti. Ji suteikia galimybę valdyti ir valdyti įrenginį. ESP8266 turi numerį įvairių programinės įrangos, kurias gana lengva paleisti (įdiegti).

11 veiksmas: bendroji AT komandų sintaksė

Pateikiama bendra AT komandų sintaksė skirtingoms funkcijoms atlikti:

AT+parametras =?

Kai tokio tipo komanda siunčiama per nuoseklųjį monitorių, ESP grąžina visas reikšmes, kurias gali priimti parametras.

AT+parametras = val

Kai tokio tipo komanda siunčiama per nuoseklųjį monitorių, ESP nustato parametro vertę į val.

AT+parametras?

Kai tokio tipo komanda siunčiama per nuoseklųjį monitorių, ESP grąžina dabartinę parametro vertę.

Kai kurios AT komandos gali priimti tik vieną iš aukščiau išvardytų tipų, o kai kurios gali imtis visų 3.

Komandos, kuri yra įmanoma visuose 3 tipuose, pavyzdys yra CWMODE, naudojama nustatyti „Wi -Fi“režimą.

Siųsti AT+CWMODE =? per serijinį monitorių

Kaip reaguoja ESP: visos vertės, kurias gali gauti ESP CWMODE (1-3), grąžinamos konkrečiai +CWMODE (1-3).

1 = statinis

2 = AP

3 = tiek statinis, tiek AP

Siųskite AT+CWMODE = 1 per nuoseklųjį monitorių

Kaip reaguoja ESP: Gerai turėtų būti grąžinta, jei CWMODE pasikeitė nuo ankstesnės vertės ir nustatyta kaip statinė, kitaip jokie pakeitimai neturėtų būti grąžinami, jei CWMODE vertė nepasikeis.

SVARBU: Jei CWMODE nenustatyta 1, vėlesnių veiksmų komandos neveiks.

Siųsti AT+CWMODE? per serijinį monitorių

Kaip reaguoja ESP: dabartinė CWMODE vertė turėtų būti grąžinta, ypač jei atlikote aukščiau nurodytą veiksmą +CWMODE: 1.

12 veiksmas: prisijunkite prie „Wifi“

Siųskite AT+CWLAP per nuoseklųjį monitorių

Ši komanda naudojama išvardyti visus vietovės tinklus.

Kaip reaguoja ESP: turėtų būti pateiktas visų galimų prieigos taškų arba „Wi -Fi“tinklų sąrašas.

Siųsti AT+CWJAP = "SSID", "slaptažodis"

(įskaitant dvigubas kabutes).

Ši komanda naudojama prisijungti prie „Wi -Fi“tinklo.

Kaip reaguoja ESP: jei modulis buvo prijungtas prie tinklo, reikia grąžinti Gerai.

Siųsti AT+CWJAP? per serijinį monitorių

Ši komanda naudojama nustatyti tinklą, prie kurio šiuo metu prijungtas ESP.

Kaip ESP reaguoja: tinklas, prie kurio prijungtas ESP, bus grąžintas. Konkrečiai +CWJAP: „SSID“

Siųskite AT+CWQAP per nuoseklųjį monitorių

Ši komanda naudojama atsijungti nuo tinklo, prie kurio šiuo metu prijungtas ESP.

Kaip ESP reaguoja: ESP išeina iš tinklo, prie kurio yra prijungtas, ir grąžinama „OK“.

Siųskite AT+CIFSR per serijinį monitorių

Ši komanda naudojama ESP IP adresui nustatyti.

Kaip reaguoja ESP: grąžinamas ESP IP adresas.

13 žingsnis: „Kalbėkite“

„Kalbėjimas“
„Kalbėjimas“
„Kalbėjimas“
„Kalbėjimas“
„Kalbėjimas“
„Kalbėjimas“
„Kalbėjimas“
„Kalbėjimas“

Jei dar nesate sukūrę „Thingspeak“paskyros, susikurkite ją dabar.

Sukūrę paskyrą „Thingspeak“, eikite į „Apps“> „ThingTweet“.

Susiekite su juo „Twitter“paskyrą.

Atkreipkite dėmesį į sukurtą API raktą.

Čia, kai „ThingTweet“programa buvo naudojama „Twitter“paskyrai susieti su „ThingSpeak“paskyra, galite išsiųsti tviterį naudodami „TweetContol“API.

API (taikomųjų programų sąsaja) yra kodas, leidžiantis dviem programinės įrangos programoms bendrauti tarpusavyje.

Kai kurios kitos kūrėjams prieinamos API yra „Google“žemėlapių API, „Open Weather“API ir kt.

Tik po to, kai ESP buvo nustatytas, patikrintas ir prijungtas prie „Wi -Fi“(iš esmės visi ankstesniuose 2 veiksmuose nurodyti veiksmai), atlikite toliau nurodytus veiksmus

14 žingsnis: dar keletas AT komandų

Siųskite AT+CIPMODE = 0 per nuoseklųjį monitorių

Kaip ESP reaguoja: Grąžinama.

Perkėlimo režimui nustatyti naudojama komanda CIPMODE.

0 = normalus režimas

1 = UART-WiFi praleidimo režimas

Siųskite AT+CIPMUX = 1 per nuoseklųjį monitorių

Kaip ESP reaguoja: Grąžinama.

CIPMUX komanda naudojama nustatyti vieną ar kelis ryšius.

0 = vienas ryšys

1 = daugkartinis ryšys

15 veiksmas: TCP ryšio nustatymas

TCP ryšio nustatymas
TCP ryšio nustatymas
TCP ryšio nustatymas
TCP ryšio nustatymas

Atminkite, kad pradedant nuo pirmosios komandos, kai tik išsiunčiate pirmąją, ryšys bus užmegztas tik ribotą laiką. Taigi siųskite komandas kuo greičiau.

Siųsti AT+CIPSTART = 0, „TCP“, „api.thingspeak.com“, 80 per nuoseklųjį monitorių

Kaip reaguoja ESP: susieta grąžinama, jei ryšys užmegztas.

Ši komanda naudojama TCP ryšiui užmegzti.

Sintaksė yra AT+CIPSTART = nuorodos ID, tipas, nuotolinis IP, nuotolinis prievadas

kur

nuorodos ID = tinklo ryšio ID (0 ~ 4), naudojamas kelių ryšių.

type = string, "TCP" arba "UDP".

nuotolinis IP = eilutė, nuotolinis IP adresas (svetainės adresas).

nuotolinis prievadas = eilutė, nuotolinio prievado numeris (paprastai pasirenkamas 80).

Siųskite AT+CIPSEND = 0, 110 per nuoseklųjį monitorių

Kaip ESP reaguoja:> (didesnis nei) grąžinamas, jei komanda sėkminga.

Ši komanda naudojama duomenims siųsti.

Sintaksė yra AT+CIPSEND = nuorodos ID, ilgis

kur

nuorodos ID = jungties ID (0 ~ 4), kai naudojamas kelias jungtis. Kadangi CIPMUX nustatytas į 1, tai yra 1.

ilgis = duomenų ilgis, MAX 2048 baitai. Paprastai pasirinkite didelį ilgio skaičių.

16 žingsnis: „Tweet“siuntimas

Siunčiant „Tweet“
Siunčiant „Tweet“

Dabar apie tweet siuntimą

Siųsti GET/apps/thingtweet/1/statusus/update? Api_key = yourAPI & status = yourtweet per serijinį monitorių.

Pakeiskite savo API API raktu, o jūs - „Twitter“bet kokiu norimu tviteriu.

Kai tik atsiųsite aukščiau nurodytą komandą, maždaug 1 sekundės intervalu paspauskite „Enter“(grįžti). Po kurio laiko bus grąžinti SEND OK, +IPD, 0, 1: 1 ir OK, o tai reiškia, kad tviteris buvo paskelbtas.

Atidarykite „Twitter“ir patikrinkite, ar tviteris buvo paskelbtas, ar ne.

Taip pat atkreipkite dėmesį, kad to paties tviterio negalima siųsti pakartotinai.

Aukščiau pateikta eilutė (GET…) yra HTTP GET užklausa.

GET užklausa naudojama duomenims gauti iš nurodyto serverio (api.thingspeak.com).

17 žingsnis: ką daryti po to

(Žiūrėkite vaizdo įrašą bent 360p)

Eikite į šią saugyklą, kad atsisiųstumėte kodą ir schemas. Spustelėkite mygtuką „Klonuoti arba atsisiųsti“(žalia spalva dešinėje) ir pasirinkite „Atsisiųsti ZIP“, kad atsisiųstumėte ZIP failą. Dabar ištraukite turinį į savo kompiuterį, kad gautumėte kodą ir schemas (schemų aplanke). Į šią saugyklą taip pat įkėliau cheat -lapą, kuriame apibendrinamos visos AT komandos.

Internete yra daug puikių išteklių, susijusių su ESP8266. Kai kuriuos iš jų paminėjau čia:

  • Kevino Darrah vaizdo įrašai.
  • ALLABoutEE vaizdo įrašai.
  • esp8266.com

Taip pat galite daugiau eksperimentuoti su AT komandomis. Internete yra daug API, galinčių atlikti įvairius dalykus, pvz., Gauti orą, akcijų kainas ir pan.

Visi AT komandų dokumentai

Taip pat šiuo metu dirbu su programa, kuri automatiškai įrašo jutiklio analogines vertes ir paskelbsiu ją, kai ji veiks tinkamai.

Jei jums patiko mano pamokomas balsavimas „Arduino“visų dalykų konkurse.

Rekomenduojamas: