Isi kandungan:

Panduan Permulaan untuk ESP8266 dan Tweet Menggunakan ESP8266: 17 Langkah (dengan Gambar)
Panduan Permulaan untuk ESP8266 dan Tweet Menggunakan ESP8266: 17 Langkah (dengan Gambar)

Video: Panduan Permulaan untuk ESP8266 dan Tweet Menggunakan ESP8266: 17 Langkah (dengan Gambar)

Video: Panduan Permulaan untuk ESP8266 dan Tweet Menggunakan ESP8266: 17 Langkah (dengan Gambar)
Video: How to use DHT11 DHT22 with NodeMCU ESP8266 to read temperature over WiFi - IoT 2024, Julai
Anonim
Panduan Permulaan untuk ESP8266 dan Tweeting Menggunakan ESP8266
Panduan Permulaan untuk ESP8266 dan Tweeting Menggunakan ESP8266

Saya belajar tentang Arduino 2 tahun yang lalu. Oleh itu, saya mula bermain-main dengan barang-barang mudah seperti LED, butang, motor dan lain-lain. Kemudian saya fikir tidak keren untuk menyambung melakukan perkara seperti memaparkan cuaca hari ini, harga saham, waktu kereta api paparan LCD. Saya dapati bahawa ini dapat dilakukan dengan menghantar dan menerima data melalui internet. Oleh itu, penyelesaiannya adalah menghubungkan ke intenet. Di sana memulakan carian saya mengenai cara menyambungkan Arduino ke internet dan menghantar dan menerima data. Saya belajar mengenai modul wifi di internet dan mendapati ia sangat mahal. Kemudian saya belajar mengenai ESP8266.

Saya banyak membaca di internet pada modul ESP8266 kira-kira setahun yang lalu dan membelinya tetapi baru dapat bekerja dengannya bulan lalu. Pada masa itu tidak ada maklumat yang luas. Walau bagaimanapun, banyak dokumentasi, video sudah tersedia di internet mengenai firmware, perintah AT, projek dll. Oleh itu, saya memutuskan untuk memulakannya.

Saya menulis arahan ini sebagai panduan pemula kerana saya menghadapi banyak masalah dalam membuat kabel dan memulakan ESP8266. Oleh itu, saya memutuskan untuk menulis Instruksinya ini supaya orang lain yang menghadapi masalah dengan modul mereka dapat menyelesaikannya dengan lebih cepat

Dalam Instruksional ini saya akan cuba menunjukkan

  • Cara menghubungkan ESP8266 dan berkomunikasi dengannya melalui Arduino Uno.
  • Saya juga akan cuba menunjukkan bagaimana tweet dapat dihantar melaluinya menggunakan Thingspeak.

Apa yang boleh dilakukan oleh ESP8266? Ia dibatasi oleh imaginasi anda. Saya telah melihat projek dan tutorial di internet yang menunjukkan cara mengambil suhu bandar, harga saham, menghantar dan menerima e-mel, membuat panggilan telefon dan banyak lagi. Saya akan menunjukkan ini boleh diarahkan cara menghantar tweet.

Langkah 1: Perkara yang Anda Perlu

Perkara yang Anda Perlu
Perkara yang Anda Perlu

Berikut adalah perkara yang anda perlukan. Sebilangan besarnya mungkin dibeli dari mana-mana kedai elektrik atau dalam talian (saya telah memberikan pautan untuk rujukan).

  • 1xESP8266 (ESP-01) -bay
  • 1xBreadboard adapter (pelajari cara membuatnya di sini atau gunakan beberapa kabel jumper)
  • 1xLM2596 -bay
  • Penukar tahap 1xLogik -bay
  • 1xArduino Uno
  • Kabel USB untuk Arduino Uno
  • 1xBreadboard -ebay
  • Wayar -bay
  • Arduino IDE
  • Akaun dengan Thingspeak

Jumlah kosnya adalah sekitar Rs 600 (sekitar $ 9). Saya telah mengecualikan kos Arduino Uno kerana bergantung pada sama ada anda mahukan yang asli atau klon. Klon yang paling murah boleh didapati dengan harga sekitar Rs 500 (sekitar $ 4).

Langkah 2: Beberapa Maklumat mengenai ESP8266

ESP8266 dilancarkan pada tahun 2014 setahun yang lalu sehingga agak baru. Cip ini dihasilkan oleh Espressif.

Kelebihan

Kelebihan terbesar ESP8266 mungkin adalah harganya. Ia cukup murah dan anda boleh membeli beberapa perkara ini sekali gus. Sebelum saya mengetahui tentang hal itu, saya tidak terfikir untuk membeli modul wifi. Mereka terlalu mahal. Versi baru ESP8266 dilancarkan dengan kerap dan yang terbaru ialah ESP 12. Walau bagaimanapun, dalam Instruksional ini saya akan memfokuskan hanya pada ESP 01 yang cukup popular. Lebih-lebih lagi apabila anda membeli ESP8266 ia dilengkapi dengan firmware AT lalai. Oleh itu anda baik untuk memulakan sebaik sahaja anda membelinya.. Juga seperti yang anda lihat dari arahan ini, adalah mudah untuk memadankannya.

Kekurangan

Setiap peranti mempunyai kelebihan dan kekurangan tersendiri dan ESP tidak berbeza. ESP kadang kala menjadi sangat sukar dan mengecewakan untuk bekerjasama. Oleh kerana ia agak baru anda akan sukar mendapatkan maklumat mengenainya. Nasib baik sebuah komuniti di esp8266.com ada yang banyak membantu. Lebih-lebih lagi kadang-kadang juga mula melakukan perkara yang tidak dijangka seperti membuang banyak sampah melalui sambungan bersiri dll.

Perhatikan bahawa terdapat banyak dokumentasi yang tersedia di internet dan beberapa bahagiannya bertentangan. Instruksinya tidak berbeza. Semasa bermain-main dengan ESP8266 saya, saya mendapati bahawa ia banyak menyimpang dari apa yang disebutkan di internet (milik anda mungkin juga) tetapi ia berfungsi dengan baik.

Langkah 3: Pinout ESP8266

Pinout ESP8266
Pinout ESP8266

ESP8266 mempunyai 8 pin seperti yang ditunjukkan.

Gnd dan Vcc harus dihubungkan seperti biasa ke tanah dan bekalan masing-masing. ESP8266 beroperasi pada 3.3V.

Pin RESET digunakan untuk menetapkan semula ESP secara manual. Ia biasanya disambungkan 3.3V. Sekiranya anda ingin menetapkan semula ESP, sambungkan pin ini ke ground sesaat dan kemudian kembali ke 3.3V.

CH_PD adalah power chip yang biasanya disambungkan ke 3.3V.

GPIO0 dan GPIO2 adalah pin output input tujuan umum. Ini biasanya disambungkan ke 3.3V. Walau bagaimanapun, semasa mem-flash firmware, sambungkan GPIO0 ke gnd.

Pin Rx dan Tx adalah pin penghantaran dan penerimaan ESP8266. Mereka beroperasi pada logik 3.3V iaitu 3.3V logik TINGGI untuk ESP8266.

Sambungan terperinci diberikan pada langkah-langkah kemudian.

Langkah 4: Apa yang Perlu Digunakan untuk Berkomunikasi Dengan ESP8266?

Apa yang Perlu Digunakan untuk Berkomunikasi Dengan ESP8266?
Apa yang Perlu Digunakan untuk Berkomunikasi Dengan ESP8266?
Apa yang Perlu Digunakan untuk Berkomunikasi Dengan ESP8266?
Apa yang Perlu Digunakan untuk Berkomunikasi Dengan ESP8266?
Apa yang Perlu Digunakan untuk Berkomunikasi Dengan ESP8266?
Apa yang Perlu Digunakan untuk Berkomunikasi Dengan ESP8266?

Terdapat banyak peranti yang boleh digunakan untuk berkomunikasi dengan ESP8266 seperti pengaturcara FTDI, penukar siri USB ke TTL, Arduino dll. Walau bagaimanapun, saya telah menggunakan Arduino Uno hanya kerana ia adalah yang paling mudah dan hampir semua orang memilikinya. Juga jika anda mempunyai Arduino anda juga mempunyai Arduino IDE dan monitor bersirinya dapat digunakan untuk komunikasi dengan ESP8266. Jadi tidak mengeluarkan wang untuk pengaturcara FTDI dll.

Walau bagaimanapun, jika anda mahu atau jika anda sudah memilikinya, anda boleh menggunakan pengaturcara FTDI atau penukar siri USB ke TTL (lebih lanjut mengenai cara menyambungkannya kemudian). Juga terdapat banyak perisian seperti RealTerm atau dempul. Anda boleh menggunakan ini dengan cara yang sama seperti monitor bersiri Arduino IDE.

Langkah 5: Memasang ESP8266 di Breadboard

Memasang ESP8266 di Breadboard
Memasang ESP8266 di Breadboard
Memasang ESP8266 di Breadboard
Memasang ESP8266 di Breadboard

Perhatikan bahawa pin ESP8266 tidak mesra papan roti. Ini dapat diatasi dengan 2 cara.

Gunakan wayar pelompat wanita hingga lelaki yang boleh membuat keadaan menjadi tidak kemas atau

Lakukan seperti yang ditunjukkan dalam Arahan ini atau

Gunakan papan penyesuai, buat sendiri (terdapat banyak dari mereka pada Instructables) yang kemas.

Langkah 6: Bekalan Kuasa

Bekalan Kuasa
Bekalan Kuasa

ESP8266 berfungsi pada bekalan 3.3V. Jangan sambungkannya ke pin 5V di Arduino. Ia mungkin akan terbakar.

Beberapa tutorial mencadangkan membuat litar pembahagi voltan menggunakan perintang 1k, 2k dengan 5V sebagai input dan mendapatkan 3.3V merentas perintang 2k dan membekalkannya ke Arduino. Walau bagaimanapun, saya dapati bahawa ESP bahkan tidak berkuasa semasa saya melakukan ini.

Saya dapat menghidupkannya menggunakan 3.3V pada Arduino, tetapi mendapati bahawa ESP menjadi panas setelah beberapa lama.

Anda boleh menggunakan pengatur voltan 3.3V.

Atau anda boleh menggunakan LM2596 dc-dc step down converter. Ini agak murah. Dan saya menggunakannya. Beri 5V dari Arduino ke input. Sesuaikan potensiometer pada modul, sehingga output menjadi 3.3VI mendapati ESP dapat dihidupkan dari salah satu dari ini selama berjam-jam. Buat sambungan seperti yang ditunjukkan dalam gambar.

Langkah 7: Penukaran Tahap Logik

Penukaran Tahap Logik
Penukaran Tahap Logik

Disebutkan bahawa ESP mempunyai logik 3.3V sementara Arduino mempunyai logik 5V.

Ini bermaksud bahawa dalam ESP 3.3V adalah logik TINGGI sementara di Arduino 5V adalah logik TINGGI. Ini boleh menyebabkan beberapa masalah semasa menghubungkannya bersama.

Saya dapati di internet bahawa penukaran tahap logik perlu diterapkan semasa menghubungkan ESP Rx dan Tx dengan Arduino.

Beberapa tutorial menyebutkan bahawa penukaran tahap logik diperlukan semasa menghubungkan pin ESP Rx.

Walau bagaimanapun, saya dapati bahawa hanya menghubungkan pin ESP Rx dan Tx ke Arduino tidak menimbulkan masalah

Saya menghubungkan Rx dan Tx melalui penukar tahap logik dan juga Rx sahaja tetapi tidak mendapat sambutan.

Namun saya dapati bahawa menghubungkan pin Tx ESP melalui penukar tahap logik semasa menyambungkan Tx secara langsung juga tidak menimbulkan masalah

Jadi penukar tahap logik mungkin atau tidak boleh digunakan.

Gunakan kaedah mana yang sesuai untuk anda melalui percubaan dan kesilapan.

Langkah 8: Sambungan

Sambungan
Sambungan

Sambungan ESP8266 adalah:

ESP8266

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

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

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

Rx -------------------- Rx dari Arduino

Tx --------------------- Tx of Arduino (langsung atau melalui penukar tahap logik)

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

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

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

(Perhatikan bahawa dalam beberapa versi ESP Rx harus disambungkan ke Arduino Tx dan ESP Tx harus disambungkan Arduino Rx).

Sekiranya anda menggunakan pengaturcara FTDI atau penukar bersiri USB ke TTL, sambungkan Tx dan Rx mereka ke Rx dan Tx masing-masing ESP8266.

Langkah 9: Bermula

Selepas membuat sambungan, muat naik

persediaan tidak sah ()

{}

gelung kosong ()

{}

iaitu lakaran kosong ke Arduino..

Buka monitor bersiri dan tetapkan ke "Kedua-dua NL & CR".

Eksperimen dengan kadar Baud. Ia biasanya 9600 walaupun kadang-kadang mungkin 115200.

Langkah 10: Perintah AT

Perintah AT
Perintah AT

Cukup dengan mengatakan perintah AT adalah perintah yang dapat dihantar ke ESP8266 sehingga memungkinkannya melakukan beberapa fungsi seperti restart, menyambung ke wifi dll. Sebagai tindak balas ESP akan menghantar beberapa pengesahan dalam bentuk teks. Di bawah ini saya telah menjelaskan beberapa Perintah AT dan bagaimana ESP bertindak balas terhadapnya. Perhatikan bahawa dengan menghantar saya bermaksud menaip perintah dan menekan enter (kembali).

Hantar AT melalui monitor bersiri

Perintah ini digunakan sebagai perintah ujian.

Bagaimana ESP bertindak balas: OK harus dikembalikan.

Hantar AT + RST melalui monitor bersiri

Perintah ini digunakan untuk memulakan semula modul.

Bagaimana ESP bertindak balas: ESP mengembalikan sejumlah sampah. Walau bagaimanapun, cari Sedia atau siap.

Hantar AT + GMR melalui monitor bersiri

Perintah ini digunakan untuk menentukan versi firmware modul.

Bagaimana ESP bertindak balas: Versi firmware mesti dikembalikan.

Firmware adalah perisian yang dipasang pada peranti yang biasanya ada di ROM (memori hanya baca) iaitu tidak dimaksudkan untuk diubah dengan kerap atau tidak sama sekali. Ia menyediakan kawalan dan manipulasi data peranti. ESP8266 mempunyai nombor dari perisian yang berbeza yang semuanya mudah dimatikan (dipasang).

Langkah 11: Sintaks Umum Perintah AT

Sintaks umum perintah AT untuk melakukan fungsi yang berbeza diberikan:

Parameter AT + =?

Apabila arahan dalam jenis ini dikirim melalui monitor bersiri, ESP mengembalikan semua nilai yang dapat diambil oleh parameter.

Parameter AT + = val

Apabila arahan dalam jenis ini dikirim melalui monitor bersiri, ESP menetapkan nilai parameter ke val.

Parameter AT +?

Apabila arahan dalam jenis ini dikirim melalui monitor bersiri, ESP mengembalikan nilai parameter semasa.

Sebilangan arahan AT mungkin hanya mengambil salah satu dari jenis di atas sementara beberapa mungkin mengambil semua 3.

Contoh perintah yang mungkin berlaku dalam semua 3 jenis di atas adalah CWMODE, yang digunakan untuk mengatur mod wifi.

Hantar AT + CWMODE =? melalui monitor bersiri

Bagaimana ESP bertindak balas: Semua nilai yang boleh diambil oleh ESP CWMODE (1-3) dikembalikan secara khusus + CWMODE (1-3). Di mana

1 = Statik

2 = AP

3 = Kedua-dua statik dan AP

Hantar AT + CWMODE = 1 melalui monitor bersiri

Bagaimana ESP bertindak balas: OK harus dikembalikan jika ada perubahan pada CWMODE dari nilai sebelumnya dan ditetapkan ke statik, jika tidak, perubahan tidak akan dikembalikan jika tidak ada perubahan pada nilai CWMODE.

PENTING: Kecuali CWMODE diatur ke 1, perintah pada langkah kemudian tidak akan berfungsi.

Hantar AT + CWMODE? melalui monitor bersiri

Bagaimana ESP bertindak balas: Nilai sekarang CWMODE harus dikembalikan, khususnya jika anda mengikuti langkah di atas + CWMODE: 1 harus dikembalikan.

Langkah 12: Menyambung ke Wifi

Hantar AT + CWLAP melalui monitor bersiri

Perintah ini digunakan untuk menyenaraikan semua rangkaian di kawasan tersebut.

Bagaimana ESP bertindak balas: Senarai semua titik akses atau rangkaian wifi yang tersedia harus dikembalikan.

Hantar AT + CWJAP = "SSID", "kata laluan"

(termasuk petikan ganda).

Perintah ini digunakan untuk bergabung dengan rangkaian wifi.

Bagaimana ESP bertindak balas: OK harus dikembalikan sekiranya modul telah disambungkan ke rangkaian.

Hantar AT + CWJAP? melalui monitor bersiri

Perintah ini digunakan untuk menentukan rangkaian yang terhubung dengan ESP saat ini.

Bagaimana ESP bertindak balas: Rangkaian yang menghubungkan ESP akan dikembalikan. Khususnya + CWJAP: "SSID"

Hantar AT + CWQAP melalui monitor bersiri

Perintah ini digunakan untuk memutuskan sambungan dari rangkaian ke mana ESP sedang disambungkan.

Bagaimana ESP bertindak balas: ESP berhenti dari rangkaian yang dihubungkan dan OK dikembalikan.

Hantar AT + CIFSR melalui monitor bersiri

Perintah ini digunakan untuk menentukan alamat IP ESP.

Bagaimana ESP bertindak balas: Alamat IP ESP dikembalikan.

Langkah 13: Perkara

Bicara perkara
Bicara perkara
Bicara perkara
Bicara perkara
Bicara perkara
Bicara perkara
Bicara perkara
Bicara perkara

Sekiranya anda belum membuat akaun di Thingspeak, buatlah sekarang.

Setelah membuat akaun di Thingspeak, pergi ke Aplikasi> ThingTweet.

Pautkan akaun twitter anda dengannya.

Perhatikan kunci API yang dihasilkan.

Di sini setelah aplikasi ThingTweet digunakan untuk menghubungkan akaun Twitter ke akaun ThingSpeak anda, anda boleh mengirim tweet menggunakan TweetContol API.

API (antara muka program aplikasi) adalah kod yang membolehkan dua program perisian berkomunikasi antara satu sama lain.

Beberapa API lain yang tersedia untuk pemaju adalah API peta Google, Open Weather API dll.

Hanya setelah ESP disediakan, diperiksa dan disambungkan ke wifi (pada dasarnya semua langkah yang diberikan dalam 2 langkah sebelumnya), ikuti langkah-langkah yang diberikan di bawah

Langkah 14: Beberapa Lagi Perintah AT

Hantar AT + CIPMODE = 0, melalui monitor bersiri

Bagaimana ESP bertindak balas: OK dikembalikan.

Perintah CIPMODE digunakan untuk mengatur mod pemindahan.

0 = mod biasa

1 = Mod laluan masuk UART-WiFi

Hantar AT + CIPMUX = 1 melalui monitor bersiri

Bagaimana ESP bertindak balas: OK dikembalikan.

Perintah CIPMUX digunakan untuk menetapkan sambungan tunggal atau berbilang.

0 = sambungan tunggal

1 = pelbagai sambungan

Langkah 15: Menyiapkan Sambungan TCP

Menyiapkan Sambungan TCP
Menyiapkan Sambungan TCP
Menyiapkan Sambungan TCP
Menyiapkan Sambungan TCP

Perhatikan bahawa bermula dari perintah pertama, segera setelah anda mengirim yang pertama, sambungan akan dibuat hanya untuk waktu yang terhad. Oleh itu, hantarkan perintah secepat mungkin.

Hantar AT + CIPSTART = 0, "TCP", "api.thingspeak.com", 80 melalui monitor bersiri

Bagaimana ESP bertindak balas: Linked dikembalikan jika sambungan telah dibuat.

Perintah ini digunakan untuk membuat sambungan TCP.

Sintaksnya adalah AT + CIPSTART = ID pautan, jenis, IP jarak jauh, port jauh

di mana

link ID = ID sambungan rangkaian (0 ~ 4), digunakan untuk multi-sambungan.

taip = string, "TCP" atau "UDP".

jauh IP = tali, alamat IP jauh (alamat laman web).

port jarak jauh = tali, nombor port jarak jauh (biasanya dipilih menjadi 80).

Hantar AT + CIPSEND = 0, 110 melalui monitor bersiri

Cara ESP bertindak balas:> (lebih besar daripada) dikembalikan jika arahan berjaya.

Perintah ini digunakan untuk menghantar data.

Sintaksnya adalah AT + CIPSEND = ID pautan, panjang

di mana

link ID = ID sambungan (0 ~ 4), untuk multi-connect. Oleh kerana CIPMUX telah ditetapkan ke 1, adalah 1.

panjang = panjang data, MAX 2048 bait. Umumnya memilih sebilangan besar untuk panjang.

Langkah 16: Menghantar Tweet

Menghantar Tweet
Menghantar Tweet

Sekarang kerana menghantar tweet

Hantar GET / apps / thingtweet / 1 / status / kemas kini? Api_key = yourAPI & status = yourtweet melalui monitor bersiri.

GantiAPI anda dengan kunci API dan tweet anda dengan sebarang tweet yang anda mahukan.

Sebaik sahaja anda menghantar arahan di atas, mulailah menekan enter (return) pada selang waktu kira-kira 1 saat. Selepas beberapa waktu, HANTAR OK, + IPD, 0, 1: 1 dan OK akan dikembalikan yang bermaksud bahawa tweet telah diposkan.

Buka twitter anda dan periksa sama ada tweet tersebut telah disiarkan atau tidak.

Perhatikan juga tweet yang sama tidak dapat dihantar berulang kali.

Rentetan di atas yang dihantar (GET….), Adalah permintaan HTTP GET.

Permintaan GET digunakan untuk mengambil data dari pelayan yang diberikan (api.thingspeak.com).

Langkah 17: Apa yang Perlu Dilakukan Selepas Ini

(Tonton video sekurang-kurangnya 360 p)

Pergi ke repositori ini untuk memuat turun kod dan skema. Klik pada butang "Klon atau Muat turun" (berwarna hijau di sebelah kanan) dan pilih "Muat turun ZIP" untuk memuat turun fail zip. Sekarang ekstrak kandungan di komputer anda untuk mendapatkan kod dan skema (dalam folder skema). Saya juga telah memuat naik lembaran cheatsheet, yang merangkum semua perintah AT, ke repositori ini.

Terdapat banyak sumber hebat yang terdapat di internet berkaitan dengan ESP8266. Saya telah menyebut beberapa di antaranya di sini:

  • Video Kevin Darrah.
  • Video ALLaboutEE.
  • esp8266.com

Anda juga boleh bereksperimen lebih banyak dengan perintah AT. Terdapat banyak API yang tersedia di internet yang boleh melakukan pelbagai perkara seperti cuaca, harga saham dll.

Dokumentasi arahan AT penuh

Saya juga sedang mengerjakan program yang secara automatik tweet nilai analog sensor dan saya akan menyiarkannya apabila ia berfungsi dengan baik.

Sekiranya anda menyukai suara saya yang dapat dipesan untuknya dalam pertandingan Arduino semua perkara.

Disyorkan: