Tartalomjegyzék:

Kezdő útmutató az ESP8266 -hoz és a tweeteléshez az ESP8266 használatával: 17 lépés (képekkel)
Kezdő útmutató az ESP8266 -hoz és a tweeteléshez az ESP8266 használatával: 17 lépés (képekkel)

Videó: Kezdő útmutató az ESP8266 -hoz és a tweeteléshez az ESP8266 használatával: 17 lépés (képekkel)

Videó: Kezdő útmutató az ESP8266 -hoz és a tweeteléshez az ESP8266 használatával: 17 lépés (képekkel)
Videó: 17. ESP8266 alapú webszerver - 2. rész 2024, November
Anonim
Kezdő útmutató az ESP8266 -hoz és a tweeteléshez az ESP8266 használatával
Kezdő útmutató az ESP8266 -hoz és a tweeteléshez az ESP8266 használatával

2 évvel ezelőtt tanultam az Arduino -ról. Így elkezdtem játszani egyszerű dolgokkal, például LED -ekkel, gombokkal, motorokkal stb. Akkor azt gondoltam, nem lenne jó csatlakozni ahhoz, hogy olyan dolgokat tegyek, mint a napi időjárás, a részvényárak és a vonatok időzítése egy LCD kijelzőt. Úgy találtam, hogy ez megtehető adatok küldésével és fogadásával az interneten keresztül. Tehát a megoldás az intenethez való csatlakozás volt. Elkezdődött a keresésem az Arduino internethez való csatlakoztatásának, valamint adatok küldésének és fogadásának módjáról. Megtanultam az interneten található wifi modulokat, és nagyon költségesnek találtam őket. Aztán megtudtam az ESP8266 -ot.

Körülbelül egy éve sokat olvastam az interneten az ESP8266 modulon, és vettem egyet, de csak a múlt hónapban kezdtem velük dolgozni. Abban az időben nem állt rendelkezésre széles körű információ. Most azonban sok dokumentáció, videó elérhető az interneten a firmware, AT parancsok, projektek stb. tekintetében. Ezért úgy döntöttem, hogy elkezdem.

Ezt az oktatóanyagot kezdő kézikönyvként írtam, mivel sok problémával szembesültem az ESP8266 bekötésekor és az első lépésekkel kapcsolatban. Ezért úgy döntöttem, hogy megírom ezt az utasításokat, hogy mások, akik problémákkal találkoznak a modulokkal, gyorsabban megoldhassák azokat

Ebben az utasításban megpróbálom megmutatni

  • Hogyan csatlakoztathat egy ESP8266 -ot, és hogyan kommunikálhat vele az Arduino Uno segítségével.
  • Megpróbálom megmutatni azt is, hogyan lehet tweetet küldeni rajta a Thingspeak segítségével.

Mit tehet az ESP8266? A képzelet szab határt. Láttam olyan projekteket és oktatóanyagokat az interneten, amelyek bemutatják, hogyan lehet lemérni a város hőmérsékletét, a részvényárakat, e -maileket küldeni és fogadni, telefonálni és még sok minden mást. ezt az utasítást egy tweet küldésére.

1. lépés: Amire szüksége lesz

Dolgok, amire szüksége lesz
Dolgok, amire szüksége lesz

Itt vannak a dolgok, amire szüksége lesz. A legtöbbjük megvásárolható bármely elektromos boltban vagy online (a hivatkozásokat megadtam).

  • 1xESP8266 (ESP -01) -ebay
  • 1xBreadboard adapter (itt megtudhatja, hogyan készíthet egyet, vagy használhat néhány jumper vezetéket)
  • 1xLM2596 -ebay
  • 1xLogic szintváltó -ebay
  • 1xArduino Uno
  • USB -kábel az Arduino Uno -hoz
  • 1xBreadboard -ebay
  • Vezetékek -ebay
  • Arduino IDE
  • Fiók a Thingspeak -en

A teljes költség körülbelül 600 Rs (körülbelül 9 USD) lesz. Kizártam az Arduino Uno költségeit, mivel attól függ, hogy eredetit vagy klónt szeretne. A legolcsóbb klónok körülbelül 500 Rs (körülbelül 4 USD) áron kaphatók.

2. lépés: Néhány információ az ESP8266 -ról

Az ESP8266 -t csak egy éve indították útjára 2014 -ben, tehát teljesen új. A chipeket az Espressif gyártja.

Előny

Az ESP8266 legnagyobb előnye talán a költsége. Ez meglehetősen olcsó, és néhányat egyszerre vásárolhat. Mielőtt megtudtam volna róla, eszembe sem jutott wifi modult vásárolni. Túl költségesek voltak. Az ESP8266 új verziói meglehetősen gyakran jelennek meg, a legújabb pedig az ESP 12. Ebben az utasításban azonban csak az ESP 01 -re fogok összpontosítani, amely meglehetősen népszerű. Ezenkívül az ESP8266 megvásárlásakor előre telepítve van az alapértelmezett AT firmware. akkor jó elkezdeni, amint vásárol egyet. Amint ezt az oktatóanyagból látni fogja, nagyon könnyű kezelni őket.

Hátrány

Minden eszköznek megvannak a maga előnyei és hátrányai, és az ESP nem különbözik egymástól. Az ESP néha nagyon bonyolultnak és frusztrálónak bizonyulhat a munkához. Mivel ez teljesen új, nehéz lesz információt szerezni róla. Szerencsére az esp8266 közösség A.com létezik, ami sokat segít. Sőt, néha néha váratlan dolgokat is elkezd csinálni, például hulladék feldobását a soros kapcsolaton keresztül stb.

Ne feledje, hogy sok dokumentáció áll rendelkezésre az interneten, és annak egy része ellentmondásos. Ez az Instructable nem különbözik egymástól. Az ESP8266 -tal játszva azt tapasztaltam, hogy sokat eltér az interneten említettektől (a tiéd lehet is), de jól működött.

3. lépés: Az ESP8266 kiiktatása

ESP8266 érintkező
ESP8266 érintkező

Az ESP8266 8 tűvel rendelkezik az ábrán látható módon.

A Gnd és Vcc a szokásos módon a földhöz és a tápellátáshoz kell csatlakoztatni. Az ESP8266 3.3V -ról működik.

A RESET pin az ESP manuális visszaállítására szolgál. Általában 3.3V -ra kell csatlakoztatni. Ha vissza szeretné állítani az ESP -t, csatlakoztassa ezt a csapot egy pillanatra a földhöz, majd vissza 3.3V -ra.

A CH_PD a chip kikapcsolása, amelyet általában 3.3V -ra kell csatlakoztatni.

A GPIO0 és a GPIO2 általános célú bemeneti kimeneti tüskék. Ezeket általában 3.3V -ra kell csatlakoztatni. A firmware villogásakor azonban csatlakoztassa a GPIO0 -t a gnd -hez.

Az Rx és a Tx csapok az ESP8266 adó- és fogadócsapjai. 3.3V -os logikán működnek, azaz a 3.3V logikai HIGH az ESP8266 -nál.

A részletes kapcsolatok a későbbi lépésekben találhatók.

4. lépés: Mit kell használni az ESP8266 kommunikációjához?

Mit kell használni az ESP8266 kommunikációjához?
Mit kell használni az ESP8266 kommunikációjához?
Mit kell használni az ESP8266 kommunikációjához?
Mit kell használni az ESP8266 kommunikációjához?
Mit kell használni az ESP8266 kommunikációjához?
Mit kell használni az ESP8266 kommunikációjához?

Sok eszköz használható kommunikációra az ESP8266 -al, például FTDI programozók, USB -TTL soros átalakító, Arduino stb. Mindazonáltal használtam egy Arduino Uno -t egyszerűen azért, mert ez a legegyszerűbb és szinte mindenkinek megvan. Ha rendelkezik Arduino -val, akkor rendelkezik az Arduino IDE -vel is, és annak soros monitorja használható kommunikációra az ESP8266 készülékkel. Tehát nincs pénz költése FTDI programozókra stb.

Ha azonban szeretné, vagy ha már rendelkezik ilyennel, használhat egy FTDI programozót vagy egy USB -TTL soros átalakítót (bővebben a csatlakoztatásukról később). Emellett sok szoftver, például a RealTerm vagy a gitt is rendelkezésre áll. ezeket ugyanúgy, mint az Arduino IDE soros monitorát.

5. lépés: Az ESP8266 felszerelése a kenyértáblára

Az ESP8266 felszerelése a kenyértáblára
Az ESP8266 felszerelése a kenyértáblára
Az ESP8266 felszerelése a kenyértáblára
Az ESP8266 felszerelése a kenyértáblára

Vegye figyelembe, hogy az ESP8266 csapjai nem kenyérsütő -barát. Ezt kétféleképpen lehet kiküszöbölni.

Használjon női -férfi áthidaló vezetékeket, amelyek zavarossá tehetik a dolgokat

Tegye a jelen utasítás szerint, vagy

Használjon adaptertáblát, készítsen egyet (nagyon sok van az Instructables -en), ami szép.

6. lépés: Tápegység

Tápegység
Tápegység

Az ESP8266 3.3V -os tápellátáson működik. Ne csatlakoztassa az Arduino 5V -os csatlakozójához. Valószínűleg égni fog.

Néhány oktatóanyag azt javasolta, hogy feszültségosztó áramkört készítsenek 1k, 2k ellenállásokkal, 5V bemenettel, és szerezzenek be 3,3V -ot a 2k ellenálláson, és szállítsák az Arduino -hoz. Azonban azt tapasztaltam, hogy az ESP még akkor sem kapcsol be, amikor ezt megtettem.

Sikerült bekapcsolnom az Arduino 3.3V -ját, de azt tapasztaltam, hogy az ESP egy idő után felforrósodott.

Használhat 3.3V -os feszültségszabályozót.

Vagy használhatja az LM2596 dc-dc léptető átalakítót. Ezek meglehetősen olcsók. És ezeket használtam. Adjon 5 V-ot az Arduino-tól a bemenethez. Állítsa be a potenciométert a modulon, amíg a kimenet 3.3VI lesz, és megállapította, hogy az ESP tápellátható órákon keresztül. Csatlakoztassa az ábrán látható módon.

7. lépés: Logikai szint átalakítása

Logikai szintű átalakítás
Logikai szintű átalakítás

Megemlítik, hogy az ESP 3.3V, míg az Arduino 5V logikával rendelkezik.

Ez azt jelenti, hogy az ESP -ben a 3.3V logikai HIGH, míg az Arduino -ban az 5V a logikai HIGH. Ez problémákat okozhat, amikor összekapcsolja őket.

Az interneten azt találtam, hogy logikai szintű konverziót kell alkalmazni, miközben az ESP Rx és a Tx össze kell kötni az Arduino -val.

Néhány oktatóanyag megemlítette, hogy logikai szintű átalakításra van szükség az ESP Rx pin illesztése közben.

Azonban azt tapasztaltam, hogy az ESP Rx és Tx csapok normál csatlakoztatása az Arduino -hoz nem okozott problémát

Csatlakoztattam az Rx -et és a Tx -et logikai szintváltón keresztül, valamint egyedül Rx -et, de nem kaptam választ.

Azonban azt tapasztaltam, hogy az ESP Tx pin logikai szintváltón keresztül történő csatlakoztatása, miközben a Tx közvetlenül csatlakozik, szintén nem okozott problémát

Tehát a logikai szint konverter használható vagy nem.

Használja azt a módszert, amely a próba és hiba útján működik.

8. lépés: Csatlakozások

Kapcsolatok
Kapcsolatok

Az ESP8266 csatlakozói a következők:

ESP8266

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

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

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

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

Tx --------------------- Arduino Tx (közvetlen vagy logikai szintű konverter)

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

RESET -------------- 3.3V

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

(Vegye figyelembe, hogy egyes verziókban az ESP Rx -et az Arduino Tx -hez, az ESP Tx -et pedig az Arduino Rx -hez kell csatlakoztatni).

Ha FTDI programozót vagy USB -TTL soros átalakítót használ, csatlakoztassa a Tx és Rx az ESP8266 Rx és Tx csatlakozóihoz.

9. lépés: Az első lépések

A kapcsolatok létrehozása után töltse fel

üres beállítás ()

{}

üres hurok ()

{}

azaz egy üres vázlat az Arduino -hoz..

Nyissa meg a soros monitort, és állítsa "Both NL & CR" -ra.

Kísérletezzen a Baud -aránnyal. Általában 9600 -nak kell lennie, bár néha 115200.

10. lépés: AT Commnands

AT Commands
AT Commands

Egyszerűen azt mondva, hogy az AT parancsok olyan parancsok, amelyeket el lehet küldeni az ESP8266 készülékre, hogy lehetővé tegye bizonyos funkciók végrehajtását, például az újraindítást, a wifi -hez való csatlakozást stb. Az ESP válaszként megerősítést küld szöveges formában. AT parancsok és az ESP válaszai rájuk. Vegye figyelembe, hogy a küldés alatt a parancs beírását és az enter (return) billentyű leütését értem.

Küldjön AT -t a soros monitoron keresztül

Ezt a parancsot tesztparancsként használják.

Hogyan reagál az ESP: Az OK -t vissza kell adni.

AT+RST küldése a soros monitoron keresztül

Ez a parancs a modul újraindítására szolgál.

Hogyan reagál az ESP: Az ESP rengeteg szemetet ad vissza. Mindazonáltal keresse a Kész vagy kész lehetőséget.

AT+GMR küldése a soros monitoron keresztül

Ez a parancs a modul firmware verziójának meghatározására szolgál.

Hogyan reagál az ESP: A firmware verziót vissza kell adni.

A firmware egy olyan szoftver, amelyet rendszerint a ROM -jára (csak olvasható memória) telepítenek egy eszközre, azaz nem gyakran vagy egyáltalán nem kell megváltoztatni. Ez biztosítja az eszköz vezérlését és adatkezelését. Az ESP8266 rendelkezik egy számmal a különböző firmware -ek közül, amelyek mindegyike meglehetősen könnyen felvillan (telepíthető).

11. lépés: Az AT parancsok általános szintaxisa

A különböző funkciók végrehajtására szolgáló AT parancsok általános szintaxisa a következő:

AT+paraméter =?

Amikor egy ilyen típusú parancsot elküld a soros monitoron keresztül, az ESP visszaad minden paramétert.

AT+paraméter = val

Amikor egy ilyen típusú parancsot elküld a soros monitoron keresztül, az ESP a paraméter értékét a val értékre állítja.

AT+paraméter?

Amikor egy ilyen típusú parancsot elküld a soros monitoron keresztül, az ESP visszaadja a paraméter aktuális értékét.

Néhány AT parancs a fenti típusok közül csak egyet vehet fel, míg egyesek mind a 3 -at.

Egy példa a parancsra, amely a fenti 3 típusban lehetséges, a CWMODE, amely a wifi mód beállítására szolgál.

Küldés AT+CWMODE =? soros monitoron keresztül

Hogyan reagál az ESP: Az ESP CWMODE által felvehető összes érték (1-3) kifejezetten +CWMODE (1-3).

1 = Statikus

2 = AP

3 = Statikus és AP

AT+CWMODE = 1 küldése a soros monitoron keresztül

Hogyan reagál az ESP: Az OK -t vissza kell adni, ha a CWMODE változás az előző értékhez képest, és statikusra van állítva, különben nem kell visszatérni, ha nem változik a CWMODE érték.

FONTOS: Ha a CWMODE nincs 1 -re állítva, a későbbi lépésekben szereplő parancsok nem fognak működni.

AT+CWMODE -t küld? soros monitoron keresztül

Hogyan reagál az ESP: A CWMODE jelenértékét vissza kell adni, különösen, ha a fenti lépést követte +CWMODE: 1 vissza kell adni.

12. lépés: Csatlakozás Wifi -hez

AT+CWLAP küldése a soros monitoron keresztül

Ez a parancs a térség összes hálózatának felsorolására szolgál.

Hogyan reagál az ESP: Vissza kell küldeni az összes elérhető hozzáférési pont vagy wifi hálózat listáját.

Küldés AT+CWJAP = "SSID", "jelszó"

(beleértve az idézőjeleket is).

Ezzel a paranccsal csatlakozhat egy wifi hálózathoz.

Hogyan reagál az ESP: Az OK -t vissza kell adni, ha a modul csatlakozik a hálózathoz.

AT+CWJAP küldése? soros monitoron keresztül

Ez a parancs határozza meg azt a hálózatot, amelyhez az ESP jelenleg csatlakozik.

Hogyan reagál az ESP: A hálózat, amelyhez az ESP csatlakozik, visszaküldésre kerül. Konkrétan +CWJAP: "SSID"

AT+CWQAP küldése a soros monitoron keresztül

Ezzel a paranccsal lehet leválasztani azt a hálózatot, amelyhez az ESP jelenleg csatlakozik.

Hogyan reagál az ESP: Az ESP kilép a hálózatból, amelyhez csatlakozik, és az OK visszatér.

AT+CIFSR küldése a soros monitoron keresztül

Ez a parancs az ESP IP -címének meghatározására szolgál.

Hogyan reagál az ESP: Az ESP IP -címe visszaadásra kerül.

13. lépés: A dolgok beszéde

Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak

Ha még nem hozott létre fiókot a Thingspeak -en, akkor most hozzon létre egyet.

Miután létrehozott egy fiókot a Thingspeak alkalmazásban, lépjen az Alkalmazások> ThingTweet menüpontra.

Kapcsolja össze twitter fiókját.

Jegyezze meg a létrehozott API -kulcsot.

Itt, miután a ThingTweet alkalmazást egy Twitter -fiók és a ThingSpeak -fiók összekapcsolására használták, tweetet küldhet a TweetContol API használatával.

Az API (alkalmazásprogram -interfész) olyan kód, amely lehetővé teszi két szoftverprogram közötti kommunikációt.

A fejlesztők számára elérhető egyéb API -k a Google Maps API, az Open weather API stb.

Csak az ESP beállítása, ellenőrzése és a wifi -hez való csatlakoztatása után (alapvetően az előző 2 lépésben megadott összes lépés) hajtsa végre az alábbi lépéseket

14. lépés: Néhány további AT parancs

Küldje el az AT+CIPMODE = 0 értéket a soros monitoron keresztül

Hogyan reagál az ESP: Az OK visszatér.

A CIPMODE paranccsal állítható be az átviteli mód.

0 = normál üzemmód

1 = UART-WiFi átmeneti mód

AT+CIPMUX = 1 küldése a soros monitoron keresztül

Hogyan reagál az ESP: Az OK visszatér.

A CIPMUX parancs egyetlen vagy több kapcsolat beállítására szolgál.

0 = egyetlen kapcsolat

1 = több kapcsolat

15. lépés: A TCP kapcsolat beállítása

A TCP kapcsolat beállítása
A TCP kapcsolat beállítása
A TCP kapcsolat beállítása
A TCP kapcsolat beállítása

Ne feledje, hogy az első parancstól kezdve, amint elküldi az elsőt, a kapcsolat csak korlátozott ideig jön létre. Tehát küldje el a parancsokat a lehető leggyorsabban.

AT+CIPSTART = 0, "TCP", "api.thingspeak.com", 80 küldése a soros monitoron keresztül

Hogyan reagál az ESP: Ha a kapcsolat létrejött, a Linked visszaadásra kerül.

Ez a parancs a TCP kapcsolat létrehozására szolgál.

A szintaxis: AT+CIPSTART = hivatkozásazonosító, típus, távoli IP, távoli port

ahol

link ID = hálózati kapcsolat azonosítója (0 ~ 4), többkapcsolathoz használatos.

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

távoli IP = karakterlánc, távoli IP -cím (a webhely címe).

távoli port = karakterlánc, távoli port száma (általában 80 -ra van választva).

AT+CIPSEND = 0, 110 küldése a soros monitoron keresztül

Hogyan reagál az ESP:> (nagyobb, mint) visszaadódik, ha a parancs sikeres.

Ez a parancs az adatok küldésére szolgál.

A szintaxis: AT+CIPSEND = link ID, length

ahol

link ID = a kapcsolat azonosítója (0 ~ 4), többcsatlakozás esetén. Mivel a CIPMUX 1-re van állítva, az 1.

length = adathossz, MAX 2048 bájt. Általában válasszon egy nagy számot a hosszhoz.

16. lépés: A Tweet küldése

A Tweet küldése
A Tweet küldése

Most küldje el a tweetet

A GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet küldése a soros monitoron keresztül.

Cserélje le API -jét az API -kulccsal, és édességet bármilyen kívánt tweet -el.

Amint elküldi a fenti parancsot, kezdje el megnyomni az enter (visszatérés) billentyűt körülbelül 1 másodperces időközönként. Egy idő után a SEND OK, +IPD, 0, 1: 1 és OK visszaadásra kerül, ami azt jelenti, hogy a tweetet közzétették.

Nyissa meg a twitterét, és ellenőrizze, hogy a tweetet közzétették -e vagy sem.

Ne feledje, hogy ugyanazt a tweetet nem lehet többször elküldeni.

A fenti elküldött karakterlánc (GET….) Egy HTTP GET kérés.

A GET kérés az adatok lekérésére szolgál az adott szerverről (api.thingspeak.com).

17. lépés: Mi a teendő ezek után

(Nézze meg a videót legalább 360p felbontásban)

A kód és a vázlatok letöltéséhez látogasson el ebbe az adattárba. Kattintson a "Klón vagy letöltés" gombra (zöld színű a jobb oldalon), és válassza a "Zip letöltése" lehetőséget a zip fájl letöltéséhez. Most bontsa ki a számítógépen lévő tartalmat a kódot és a sematikákat (a schematics mappában). Feltöltöttem egy cheatsheet -et is, amely összesíti az AT parancsokat, erre a tárolóra.

Sok nagyszerű erőforrás áll rendelkezésre az interneten az ESP8266 -tal kapcsolatban. Néhányat itt említettem:

  • Kevin Darrah videók.
  • ALLaboutEE videók.
  • esp8266.com

Az AT parancsokkal is kísérletezhet. Az interneten sok olyan API érhető el, amelyek mindenféle dolgot elvégezhetnek, például az időjárást, a részvényárakat stb.

Teljes AT parancsdokumentáció

Jelenleg is dolgozom egy programon, amely automatikusan tweetel egy érzékelő analóg értékeit, és közzéteszem, amint megfelelően működik.

Ha tetszett az oktatható szavazatom az Arduino minden dolog versenyén.

Ajánlott: