Obsah:

Průvodce pro začátečníky k ESP8266 a tweetování pomocí ESP8266: 17 kroků (s obrázky)
Průvodce pro začátečníky k ESP8266 a tweetování pomocí ESP8266: 17 kroků (s obrázky)

Video: Průvodce pro začátečníky k ESP8266 a tweetování pomocí ESP8266: 17 kroků (s obrázky)

Video: Průvodce pro začátečníky k ESP8266 a tweetování pomocí ESP8266: 17 kroků (s obrázky)
Video: 🚀 ChatGPT: Kompletní průvodce pro začátečníky! 🎁 Návod na přístup k GPT 4 zdarma! 2024, Listopad
Anonim
Průvodce pro začátečníky k ESP8266 a tweetování pomocí ESP8266
Průvodce pro začátečníky k ESP8266 a tweetování pomocí ESP8266

O Arduinu jsem se dozvěděl před 2 lety. Začal jsem si tedy hrát s jednoduchými věcmi, jako jsou LED diody, tlačítka, motory atd. Pak jsem si řekl, že by nebylo skvělé se připojit k takovým věcem, jako je zobrazování počasí, cen akcií, časování vlaku na LCD displej. Zjistil jsem, že to lze provést odesíláním a přijímáním dat přes internet. Řešením bylo připojení k intet. Začalo mé hledání, jak připojit Arduino k internetu a odesílat a přijímat data. Dozvěděl jsem se o wifi modulech na internetu a zjistil jsem, že jsou velmi nákladné. Pak jsem se dozvěděl o ESP8266.

Hodně jsem četl na internetu o modulu ESP8266 asi před rokem a koupil jsem si ho, ale teprve minulý měsíc jsem s nimi spolupracoval. V té době nebyly k dispozici žádné rozsáhlé informace. Nyní je však k dispozici spousta dokumentace na internetu ohledně firmwaru, AT příkazů, projektů atd. Rozhodl jsem se tedy začít.

Napsal jsem tento návod jako příručku pro začátečníky, protože jsem se potýkal s mnoha problémy s zapojením a začátkem práce s ESP8266. Rozhodl jsem se tedy napsat tento Instructable, aby je ostatní lidé, kteří mají problémy s moduly, mohli vyřešit rychleji

V tomto Instructable se pokusím ukázat

  • Jak připojit ESP8266 a komunikovat s ním prostřednictvím Arduino Uno.
  • Pokusím se také ukázat, jak přes něj lze pomocí Thingspeak odeslat tweet.

Co dokáže ESP8266? Je to omezeno vaší představivostí. Viděl jsem projekty a návody na internetu, které ukazují, jak načíst teplotu města, ceny akcií, odesílání a přijímání e -mailů, telefonování a mnoho dalšího. Ukážu v tento návod, jak poslat tweet.

Krok 1: Věci, které budete potřebovat

Věci, které budete potřebovat
Věci, které budete potřebovat

Zde jsou věci, které budete potřebovat. Většinu z nich lze zakoupit v jakémkoli obchodě s elektronikou nebo online (odkazy jsem poskytl jako referenci).

  • 1xEsP8266 (ESP -01) -volná pozice
  • Adaptér 1xBreadboard (naučte se jej vyrobit zde nebo použijte propojovací vodiče)
  • 1xLM2596 -volná pozice
  • 1x Převodník logické úrovně -ebay
  • 1x Arduino Uno
  • USB kabel pro Arduino Uno
  • 1xBreadboard -ebay
  • Dráty -záliv
  • Arduino IDE
  • Účet u Thingspeak

Celkové náklady se budou pohybovat kolem 600 Rs (asi 9 USD). Náklady na Arduino Uno jsem vyloučil, protože to závisí na tom, zda chcete originál nebo klon. Nejlevnější klony jsou k dispozici přibližně za 500 Rs (asi 4 $).

Krok 2: Několik informací o ESP8266

ESP8266 byl uveden na trh v roce 2014 před pouhým rokem, takže je zcela nový. Čipy vyrábí společnost Espressif.

Výhoda

Největší výhodou ESP8266 jsou snad jeho náklady. Je to docela levné a můžete si jich koupit několik najednou. Než jsem se o tom dozvěděl, ani mě nenapadlo koupit si wifi modul. Byly příliš nákladné. Nové verze ESP8266 jsou vydávány poměrně často a nejnovější je ESP 12. V tomto Instructable se však zaměřím pouze na ESP 01, který je velmi populární. Navíc při koupi ESP8266 je dodáván s přednastaveným standardním AT firmwarem. je dobré začít hned, jakmile si jeden koupíte … Jak také uvidíte z tohoto pokynu, je docela snadné je propojit.

Nevýhoda

Každé zařízení má své vlastní výhody a nevýhody a ESP se nijak neliší. ESP se někdy může ukázat jako velmi ošidné a frustrující při práci. Jelikož je zcela nový, bude pro vás obtížné o něm získat informace. Naštěstí komunita na adrese esp8266.com existuje, což je velká pomoc. Navíc to také někdy začne dělat neočekávané věci, jako je vyhození hromady odpadků přes sériové připojení atd.

Všimněte si toho, že na internetu je k dispozici spousta dokumentace a některá její část je v rozporu. Tento Instructable se nijak neliší. Během hraní s mým ESP8266 jsem zjistil, že se hodně liší od toho, co bylo zmíněno na internetu (vaše také), ale fungovalo to dobře.

Krok 3: Pinout ESP8266

Pinout z ESP8266
Pinout z ESP8266

ESP8266 má 8 kolíků, jak je znázorněno.

Gnd a Vcc by měly být připojeny jako obvykle k zemi a napájení. ESP8266 pracuje na 3,3 V.

Pin RESET se používá k ručnímu resetování ESP. Normálně by měl být připojen 3,3 V. Pokud chcete resetovat ESP, připojte tento pin na zem na okamžik a poté zpět na 3,3 V.

CH_PD je vypnutí čipu, které by mělo být normálně připojeno na 3,3V.

GPIO0 a GPIO2 jsou univerzální vstupní výstupní piny. Ty by měly být normálně připojeny k 3,3 V. Při blikání firmwaru však připojte GPIO0 k gnd.

Piny Rx a Tx jsou vysílací a přijímací piny ESP8266. Pracují na logice 3,3 V, tj. 3,3 V je logické VYSOKÉ pro ESP8266.

Podrobná připojení jsou uvedena v dalších krocích.

Krok 4: Co by mělo být použito pro komunikaci s ESP8266?

Co by mělo být použito pro komunikaci s ESP8266?
Co by mělo být použito pro komunikaci s ESP8266?
Co by mělo být použito pro komunikaci s ESP8266?
Co by mělo být použito pro komunikaci s ESP8266?
Co by mělo být použito pro komunikaci s ESP8266?
Co by mělo být použito pro komunikaci s ESP8266?

Ke komunikaci s ESP8266 lze použít mnoho zařízení, například programátory FTDI, sériový převodník USB na TTL, Arduino atd. Arduino Uno jsem však použil jednoduše proto, že je nejjednodušší a má ho téměř každý. máte Arduino, máte také Arduino IDE a jeho sériový monitor lze použít pro komunikaci s ESP8266. Takže žádné utrácení peněz za programátory FTDI atd.

Pokud však chcete nebo již nějaký máte, můžete použít programátor FTDI nebo sériový převodník USB na TTL (více o tom, jak je připojit později). Existuje také spousta softwaru, jako je RealTerm nebo tmel. ty stejným způsobem jako sériový monitor Arduino IDE.

Krok 5: Montáž ESP8266 na prkénko

Montáž ESP8266 na prkénko
Montáž ESP8266 na prkénko
Montáž ESP8266 na prkénko
Montáž ESP8266 na prkénko

Všimněte si, že kolíky ESP8266 nejsou vhodné pro prkénko. To lze překonat dvěma způsoby.

Použijte propojovací vodiče mezi ženami a muži, které mohou způsobit nepořádek nebo

Postupujte podle pokynů v tomto Instructable nebo

Použijte desku adaptéru, vyrobte si ji sami (na Instructables je jich hodně), což je úhledné.

Krok 6: Napájení

Zdroj napájení
Zdroj napájení

ESP8266 funguje na napájení 3,3 V. Nepřipojujte jej k 5V pinu na Arduinu, pravděpodobně hoří.

Některé návody navrhly vytvořit obvod děliče napětí s použitím 1k, 2k odporů s 5V jako vstupem a získat 3,3V přes 2k odpor a dodat jej do Arduina. Zjistil jsem však, že se ESP ani nezapnul, když jsem to udělal.

Byl jsem schopen jej zapnout pomocí 3,3 V na Arduinu, ale zjistil jsem, že ESP se po nějaké době zahřál.

Můžete použít regulátor napětí 3,3V.

Nebo můžete použít převodník LM2596 dc-dc step down. Ty jsou docela levné. A já jsem použil tyto. Dejte 5V z Arduina na vstup. Upravte potenciometr na modulu, dokud se výstup nestane 3.3VI. Zjistil jsem, že ESP lze napájet z jednoho z těchto hodin. Proveďte připojení podle obrázku.

Krok 7: Převod logické úrovně

Převod logické úrovně
Převod logické úrovně

Uvádí se, že ESP má logiku 3,3 V, zatímco Arduino má logiku 5 V.

To znamená, že v ESP 3.3V je logická VYSOKÁ, zatímco v Arduinu 5V je logická VYSOKÁ. To může způsobit problémy při jejich spojování.

Na internetu jsem zjistil, že je třeba použít převod logické úrovně při propojení ESP Rx a Tx s Arduino.

Některé výukové programy uváděly, že při propojení pinů ESP Rx je nutná konverze na logické úrovni.

Zjistil jsem však, že jen normální připojení pinů ESP Rx a Tx k Arduinu nezpůsobuje žádné problémy

Připojil jsem Rx a Tx přes převodník logické úrovně i samotný Rx, ale nedostal jsem žádnou odpověď.

Zjistil jsem však, že připojení pinu ESP Tx přes převodník logické úrovně při přímém připojení Tx také nezpůsobuje žádné problémy

Převodník logické úrovně tedy může, ale nemusí být použit.

Použijte libovolnou metodu, která vám vyhovuje metodou pokusů a omylů.

Krok 8: Připojení

Připojení
Připojení

Připojení ESP8266 jsou:

ESP8266

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

GPIO2 --------------- 3,3V

GPIO0 --------------- 3,3V

Rx -------------------- Rx z Arduina

Tx --------------------- Tx Arduina (přímý nebo přes převodník logické úrovně)

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

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

Vcc -------------------- 3,3V

(Všimněte si, že v některých verzích by měl být ESP Rx připojen k Arduino Tx a ESP Tx by měl být připojen Arduino Rx).

Pokud používáte programátor FTDI nebo sériový převodník USB na TTL, připojte jejich Tx a Rx k Rx a Tx na ESP8266.

Krok 9: Začínáme

Po provedení připojení nahrajte

neplatné nastavení ()

{}

prázdná smyčka ()

{}

tj. prázdný náčrt Arduina..

Otevřete sériový monitor a nastavte jej na „NL i CR“.

Experimentujte s přenosovou rychlostí. Obvykle by to mělo být 9600, ale někdy to může být 115200.

Krok 10: AT příkazy

Příkazy AT
Příkazy AT

Jednoduše řečeno, AT příkazy jsou příkazy, které lze odeslat do ESP8266, aby mu umožnily provádět některé funkce, jako je restart, připojení k wifi atd. ESP v odpovědi pošle určité potvrzení ve formě textu. Níže jsem vysvětlil některé AT příkazy a jak na ně ESP reaguje. Všimněte si, že odesláním mám na mysli zadání příkazu a stisknutí klávesy Enter (return).

Odeslat AT prostřednictvím sériového monitoru

Tento příkaz se používá jako testovací příkaz.

Jak ESP reaguje: OK by mělo být vráceno.

Odeslat AT+RST přes sériový monitor

Tento příkaz slouží k restartování modulu.

Jak ESP reaguje: ESP vrací množství odpadků. Hledejte však Připraveno nebo Připraveno.

Odeslat AT+GMR přes sériový monitor

Tento příkaz se používá k určení verze firmwaru modulu.

Jak ESP reaguje: Verze firmwaru by měla být vrácena.

Firmware je software, který je nainstalován na zařízení obvykle na jeho ROM (paměť pouze pro čtení), tj. Není určen k tomu, aby se měnil často nebo vůbec. Poskytuje ovládání a manipulaci s daty zařízení. ESP8266 má číslo různých firmwarů, z nichž všechny lze snadno nainstalovat (nainstalovat).

Krok 11: Obecná syntaxe příkazů AT

Obecná syntaxe příkazů AT pro provádění různých funkcí je dána:

AT+parametr =?

Když je příkaz tohoto typu odeslán přes sériový monitor, ESP vrátí všechny hodnoty, které může parametr nabývat.

AT+parametr = val

Když je příkaz tohoto typu odeslán přes sériový monitor, ESP nastaví hodnotu parametru na hodnotu val.

AT+parametr?

Když je příkaz tohoto typu odeslán přes sériový monitor, ESP vrátí aktuální hodnotu parametru.

Některé příkazy AT mohou mít pouze jeden z výše uvedených typů, zatímco některé mohou mít všechny 3.

Příkladem příkazu, který je možný ve všech výše uvedených 3 typech, je CWMODE, který slouží k nastavení režimu wifi.

Odeslat AT+CWMODE =? přes sériový monitor

Jak ESP reaguje: Všechny hodnoty, které ESP CWMODE může nabývat (1-3), jsou vráceny konkrétně +CWMODE (1-3).

1 = statický

2 = AP

3 = Statický i AP

Odeslat AT+CWMODE = 1 přes sériový monitor

Jak ESP reaguje: OK by mělo být vráceno, pokud dojde ke změně CWMODE z předchozí hodnoty a je nastavena na statickou hodnotu, jinak by nemělo být vráceno žádné změny, pokud nedojde ke změně hodnoty CWMODE.

DŮLEŽITÉ: Pokud není CWMODE nastaveno na 1, příkazy v dalších krocích nebudou fungovat.

Odeslat AT+CWMODE? přes sériový monitor

Jak ESP reaguje: Současná hodnota CWMODE by měla být vrácena, konkrétně pokud jste postupovali podle výše uvedeného kroku +CWMODE: 1 by měla být vrácena.

Krok 12: Připojení k Wifi

Odeslat AT+CWLAP přes sériový monitor

Tento příkaz se používá k vypsání všech sítí v této oblasti.

Jak ESP reaguje: Měl by být vrácen seznam všech dostupných přístupových bodů nebo wifi sítí.

Odeslat AT+CWJAP = "SSID", "heslo"

(včetně uvozovek).

Tento příkaz se používá k připojení k síti Wi -Fi.

Jak ESP reaguje: OK by mělo být vráceno, pokud byl modul připojen k síti.

Odeslat AT+CWJAP? přes sériový monitor

Tento příkaz se používá k určení sítě, ke které je ESP aktuálně připojeno.

Jak ESP reaguje: Bude vrácena síť, ke které je ESP připojeno. Konkrétně +CWJAP: „SSID“

Odeslat AT+CWQAP přes sériový monitor

Tento příkaz se používá k odpojení od sítě, ke které je aktuálně připojen ESP.

Jak ESP reaguje: ESP ukončí síť, ke které je připojeno, a vrátí se OK.

Odeslat AT+CIFSR přes sériový monitor

Tento příkaz se používá k určení IP adresy ESP.

Jak ESP reaguje: IP adresa ESP je vrácena.

Krok 13: Thingspeak

Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak

Pokud jste si na Thingspeak nezřídili účet, vytvořte si ho nyní.

Po vytvoření účtu na Thingspeak přejděte na Aplikace> ThingTweet.

Propojte s ním svůj twitterový účet.

Všimněte si generovaného klíče API.

Zde poté, co byla aplikace ThingTweet použita k propojení účtu Twitter s vaším účtem ThingSpeak, můžete odeslat tweet pomocí rozhraní TweetContol API.

API (rozhraní aplikačního programu) je kód, který umožňuje vzájemnou komunikaci dvou softwarových programů.

Některá další API, která jsou k dispozici vývojářům, jsou Google Maps API, Open Weather API atd.

Až poté, co byl ESP nastaven, zkontrolován a připojen k wifi (v podstatě všechny kroky uvedené v předchozích 2 krocích), proveďte níže uvedené kroky

Krok 14: Některé další příkazy AT

Odeslat AT+CIPMODE = 0 prostřednictvím sériového monitoru

Jak ESP reaguje: OK je vráceno.

Příkaz CIPMODE slouží k nastavení režimu přenosu.

0 = normální režim

1 = průchozí režim UART-WiFi

Odeslat AT+CIPMUX = 1 přes sériový monitor

Jak ESP reaguje: OK je vráceno.

Příkaz CIPMUX slouží k nastavení jednoho nebo více připojení.

0 = jediné připojení

1 = vícenásobné připojení

Krok 15: Nastavení připojení TCP

Nastavení připojení TCP
Nastavení připojení TCP
Nastavení připojení TCP
Nastavení připojení TCP

Všimněte si toho, že od prvního příkazu, jakmile odešlete první, bude připojení navázáno pouze na omezenou dobu. Příkazy tedy odešlete co nejrychleji.

Odeslat AT+CIPSTART = 0, „TCP“, „api.thingspeak.com“, 80 přes sériový monitor

Jak ESP reaguje: Propojené se vrátí, pokud bylo navázáno připojení.

Tento příkaz se používá k navázání připojení TCP.

Syntaxe je AT+CIPSTART = ID odkazu, typ, vzdálená IP, vzdálený port

kde

link ID = ID síťového připojení (0 ~ 4), používané pro více připojení.

zadejte = řetězec, „TCP“nebo „UDP“.

vzdálená IP = řetězec, vzdálená IP adresa (adresa webové stránky).

vzdálený port = řetězec, číslo vzdáleného portu (obvykle je vybráno 80).

Odeslat AT+CIPSEND = 0, 110 přes sériový monitor

Jak ESP reaguje:> (větší než) je vráceno, pokud je příkaz úspěšný.

Tento příkaz slouží k odesílání dat.

Syntaxe je AT+CIPSEND = ID odkazu, délka

kde

link ID = ID připojení (0 ~ 4), pro více připojení. Protože CIPMUX byl nastaven na 1, je 1.

délka = délka dat, MAX 2048 bajtů. Obecně zvolte pro délku velké číslo.

Krok 16: Odeslání tweetu

Odeslání tweetu
Odeslání tweetu

Nyní k odeslání tweetu

Odeslat GET/apps/thingtweet/1/statuses/update? Api_key = yourAPI & status = yourtweet přes sériový monitor.

Nahraďte své API pomocí klíče API a váš tweet jakýmkoli tweetem, který si přejete.

Jakmile odešlete výše uvedený příkaz, začněte mačkat Enter (návrat) v intervalech přibližně 1 s. Po nějaké době se vrátí SEND OK, +IPD, 0, 1: 1 a OK, což znamená, že tweet byl zveřejněn.

Otevřete svůj twitter a zkontrolujte, zda byl tweet zveřejněn nebo ne.

Všimněte si také, že stejný tweet nelze odesílat opakovaně.

Výše uvedený řetězec, který byl odeslán (GET….), Je požadavek HTTP GET.

Požadavek GET se používá k načtení dat z daného serveru (api.thingspeak.com).

Krok 17: Co dělat po tomto

(Podívejte se na video alespoň ve 360 p)

Přejděte do tohoto úložiště a stáhněte si kód a schémata. Klikněte na tlačítko „Klonovat nebo Stáhnout“(zelená barva na pravé straně) a výběrem „Stáhnout ZIP“stáhněte soubor zip. Nyní rozbalte obsah do počítače a získejte kód a schémata (ve složce schémat). Do tohoto úložiště jsem také nahrál cheatsheet, který shrnuje všechny AT příkazy.

Na internetu je k dispozici spousta skvělých zdrojů, které se zabývají ESP8266. Některé z nich jsem zmínil zde:

  • Videa Kevina Darraha.
  • ALLaboutEE videa.
  • esp8266.com

Můžete také více experimentovat s příkazy AT. Na internetu je k dispozici mnoho API, která dokážou provádět nejrůznější věci, jako je zjišťování počasí, ceny akcií atd.

Úplná dokumentace příkazů AT

V současné době také pracuji na programu, který automaticky tweetuje analogové hodnoty senzoru a zveřejním jej, jakmile bude správně fungovat.

Pokud se vám můj pokyn líbil, hlasujte pro něj v soutěži Arduino all the things.

Doporučuje: