- Apa itu ESP8266?
- Asas Teori WiFi:
- Jenis pengaturcaraan dengan ESP8266:
- Perkakasan untuk Program Modul ESP8266:
- Bahan yang Diperlukan:
- Penjelasan Litar:
- Membina Papan untuk Program ESP8266:
Internet Perkara dan Automasi Rumah benar-benar menjadi topik hiped dalam beberapa hari ini. Membangun sesuatu sendiri yang dapat berkomunikasi dengan World Wide Web dan dapat diakses dari mana saja di dunia, sungguh kedengarannya keren bukan?
Tapi tunggu!!! Ia juga terdengar rumit ???….
Begitu juga untuk saya, saya fikir memerlukan banyak masa dan kemahiran untuk membina sesuatu yang dapat berinteraksi dengan internet. TIDAK, saya benar-benar salah, berkat modul hebat ini yang disebut ESP8266 dari Espressif Systems. Sekarang, anda boleh dengan mudah membuka pintu untuk Projek IoT dengan bantuan modul ini. Modul bersaiz kecil dan murah ini dapat membuat keajaiban dan sangat mudah dan mudah digunakan, dengan syarat kami mengikuti langkah yang betul.
Tutorial ini bertujuan untuk memperkenalkan anda kepada modul ESP8266-01 ini dan membantu anda memulakannya. Mungkin, anda sudah membawa modul anda dan tersekat semasa mencuba menggunakannya. Kemudian, anda tidak bersendirian jangan risau, banyak orang merasa sukar untuk memulakan modul kerana tidak ada panduan atau dokumentasi yang tepat untuk modul ini. Inilah sebab untuk membuat tutorial ini. Ikuti arahan di sini dan anda seharusnya dapat menghidupkan dan menjalankan modul ESP8266-01 anda dalam masa yang singkat, di sini kami akan menggunakan Modul Adaptor Serial USB to TTL FTDI untuk memprogram ESP8266. Lihat Video terperinci di akhir Tutorial.
Sebelum masuk ke topik mari kita bahas beberapa asas mengenai Modul ESP8266-01.
Apa itu ESP8266?
Sebilangan besar orang menyebut ESP8266 sebagai modul WIFI, tetapi sebenarnya mikrokontroler. ESP8266 adalah nama mikrokontroler yang dikembangkan oleh Espressif Systems yang merupakan syarikat yang berpusat di shanghai. Mikrokontroler ini mempunyai kemampuan untuk melakukan aktiviti yang berkaitan dengan WIFI sehingga digunakan secara meluas sebagai modul WIFI.
Terdapat banyak jenis modul ESP8266 yang tersedia mulai dari ESP8266-01 hingga ESP8266-12. Yang kami gunakan dalam tutorial adalah ESP8266-01 kerana yang paling murah dan mudah didapati. Walau bagaimanapun, semua modul ESP hanya mempunyai satu jenis pemproses ESP, yang berbeza hanyalah jenis breakout bard yang digunakan. Papan penembusan ESP8266-01 hanya akan mempunyai 2 pin GPIO sedangkan pada papan lain akan lebih tinggi.
Spesifikasi lengkap modul diberikan dalam jadual di bawah
voltan |
3.3V |
Penggunaan terkini |
10uA-170mA |
Penggunaan semasa maksimum semasa berkelip |
800mA |
Memori Kilat |
16MB (512K normal) |
Pemproses |
Tensilica L106 32 bit |
Kelajuan Pemproses |
80-160MHz |
Ram |
32K + 80K |
GPIO |
17 (tetapi kebanyakannya berlipat ganda) |
Penukar analog ke digital |
1 (10-bit) |
Sambungan TCP maksimum |
5 |
Baiklah, beberapa perkara yang mungkin mengejutkan anda mengenai spesifikasinya adalah, YA modul ESP8266 dilengkapi dengan ADC Converter dan ia menggunakan arus 0.8A yang sangat tinggi semasa flashing peranti anda.
Lihat juga pelbagai Projek IoT menarik berdasarkan ESP8266 kami.
Asas Teori WiFi:
Transfer Control Protocol (TCP), Internet Protocol (IP), User Datagram Protocol (UDP), Access Point (AP), Station (Sta), Service Set Identifier (SSID), Application Programming Interface (API), Webserver…..
Adakah semua syarat di atas masuk akal bagi anda?
Jika ya. Kemudian, BINGO anda boleh melompat bahagian ini dan beralih ke bahagian seterusnya.
Jika tidak. Oleh itu, anda mesti menjadi salah satu daripada sekian banyak pelajar elektrik yang hanya melihat sebilangan besar istilah ini seperti yang saya lakukan ketika pertama kali diperkenalkan dengan semua perkara ini. Oleh itu, marilah kita cepat-cepat menjalani semua syarat ini kerana barulah kita dapat memasuki dunia IOT.
Transfer Control Protocol (TCP):
Sebilangan besar daripada kita tahu apa maksudnya. Ya, ini adalah sekumpulan peraturan berdasarkan internet berfungsi. Oleh kerana ESP8266 mempunyai kemampuan untuk mengatur sambungan WIFI. Pada tahap tinggi Wi-Fi adalah kemampuan untuk mengambil bahagian dalam sambungan TCP / IP melalui pautan tanpa wayar. Anda boleh menjadikan ESP anda berfungsi pada protokol TCP / IP atau protokol UDP.
Protokol Datagram Pengguna (UDP):
UDP juga merupakan jenis protokol internet yang lain. Jenis komunikasi ini lebih pantas daripada TCP tetapi kurang tepat. Sebabnya ialah TCP menggunakan Pengakuan semasa komunikasi tetapi UDP tidak. TCP kebanyakannya digunakan dalam jaringan di mana terdapat kehandalan yang tinggi. UDP digunakan di tempat di mana kelajuan mempunyai keutamaan yang tinggi daripada kebolehpercayaan. Contohnya UDP digunakan dalam persidangan video, kerana walaupun beberapa piksel tidak dihantar, ia tidak akan mempengaruhi kualiti video tetapi kecepatannya sangat penting.
Sebilangan besar projek dan kod ESP8266 berfungsi di sekitar TCP / IP, UDP paling tidak terganggu.
Titik Akses (AP) dan Stesen (STA):
Sebaik sahaja anda mula menggunakan modul ESP, anda akan sering menemui dua istilah ini. Katakan anda dan rakan anda ingin melayari internet di telefon pintar anda tetapi kerana dia tidak mempunyai sambungan internet yang aktif, anda memutuskan untuk menghidupkan hotspot anda dan rakan anda menghubungkannya. Di sini telefon anda yang memperoleh sambungan internet adalah Titik Akses (AP) dan telefon rakan anda yang menggunakan internet disebut Stesen (STA).
Modul ESP8266 dapat digunakan dalam tiga mod, mod AP, mod STA atau dalam mod STA dan AP (gabungan).
Pengecam Set Perkhidmatan (SSID):
Ini adalah istilah yang cukup mudah. Hampir semua dari kita telah menggunakan WIFI. Nama Rangkaian Wi-Fi dipanggil SSIDnya. Apabila kita mempunyai banyak titik akses untuk dihubungkan oleh stesen, stesen harus mengetahui titik akses mana yang harus dihubungkan, oleh itu setiap Titik Akses (AP) diberi identiti yang disebut SSID.
Antaramuka Pengaturcaraan Aplikasi (API):
Secara ringkasnya API adalah utusan yang menerima permintaan anda, memprosesnya dan mengembalikan sistem anda hasil yang diinginkan. Sebilangan besar aktiviti yang kita lakukan di internet menggunakan API, seperti ketika anda menempah penerbangan, membuat pembelian dalam talian, dll. Setiap laman web menghubungkan anda ke API di mana sebahagian daripada pekerjaan seperti mendaftar, membuat pembayaran dll dilakukan untuk anda di sana.
ESP8266 menggunakan API untuk bercakap dengan dunia Internet. Contohnya jika ia ingin mengetahui waktu, iklim, atau apa sahaja yang diminta dalam bentuk API ke laman web yang sesuai. Laman web itu akan menerima permintaan dan memberikan hasil yang diinginkan kembali ke modul ESP kami.
Pelayan Web:
Pelayan web adalah sesuatu yang bertanggungjawab untuk memaparkan kandungan laman web. Semua kandungan laman web tersebut akan dimuatkan ke pelayan webnya. Terdapat komputer khusus yang tugasnya hanya berfungsi sebagai pelayan web. Kami juga dapat memprogramkan ESP8266 kami untuk berfungsi sebagai pelayan web, dan menghubungkannya dari mana saja di dunia.
Baiklah, ini sudah cukup untuk kita bermula. Sekarang, mari kita gunakan perkakasan.
Jenis pengaturcaraan dengan ESP8266:
Terdapat dua cara untuk bekerja dengan modul ESP8266 anda. Tutorial ini akan membantu anda memulakan kedua-duanya. Salah satu cara adalah dengan menggunakan perintah AT. Cara lain adalah dengan menggunakan Arduino IDE. Mari kita fahami maksudnya.
Semua modul ESP8266 yang dihantar dari kilang akan memuatkan firmware lalai (SDK + API) ke dalamnya. Firmware ini akan membantu anda memprogram modul ESP8266 melalui perintah AT.
Cara lain adalah dengan memprogram secara langsung modul ESP8266 menggunakan Arduino IDE (papan tidak diperlukan) dan perpustakaannya. Semua projek dapat dilakukan dalam kedua kaedah tersebut. Tetapi, jika anda mula menggunakan Arduino IDE untuk memprogram ESP8266, anda mungkin tidak dapat menggunakan perintah AT kerana SDK lalai mungkin telah rosak. Sekiranya anda mesti memusingkan ESP anda dengan tetapan lalai. Kami akan membahasnya dalam tutorial lain.
Perkakasan untuk Program Modul ESP8266:
ESP8266 adalah modul terminal 8. Pin yang sama ditunjukkan di bawah.
Malangnya, modul ini tidak mesra papan roti dan oleh itu kami tidak dapat memasangnya secara langsung ke papan roti kami. Juga tidak seperti Arduino ia tidak mempunyai terbina dalam USB untuk pemandu Serial; oleh itu kita harus menggunakan "FTDI USB to TTL Serial Adapter Module" untuk berkomunikasi dengannya. Pastikan papan FTDI dapat beroperasi pada 3.3V juga; yang kami gunakan dalam tutorial ini ditunjukkan di bawah.
Sekarang, seperti yang kita tahu, kita harus menguatkan ESP8266 dengan 3.3V. Tetapi penggunaan semasa adalah 0.8A, jadi mungkin tidak berfungsi seperti yang diharapkan jika digerakkan dari papan pemecah FTDI kami. Oleh itu, kita harus membina litar pengaktifan kita sendiri. Di sini kami telah menggunakan LM317 untuk tujuan pengaktifan; butiran untuk membuat perkakasan lengkap diberikan bahagian kemudian.
Bahan yang Diperlukan:
- Lembaga Perf
- ESP8266-01
- Lembaga pelarian FTDI
- LM317
- Kapasitor 0.1uf
- Kapasitor 10uf
- Jack tong
- Bergstik Lelaki dan Wanita
- Tekan butang
- Menyambung wayar
- Penyesuai 12V untuk menghidupkan papan.
Penjelasan Litar:
Skema papan ditunjukkan di bawah
Sebilangan mungkin telah mencuba memberi tenaga ESP secara langsung dari FTDI anda dan berjaya, tetapi berikut adalah sebab untuk membina papan anda sendiri dengan beberapa komponen tambahan:
- Hanya beberapa papan FTDI yang dapat memperoleh arus yang cukup untuk modul ESP. Sedikit modul ESP mungkin menggunakan arus tinggi daripada yang lain semasa flashing. Oleh itu, sentiasa selamat untuk mempunyai sumber kuasa anda sendiri, dan lebih mudah untuk menyatukan rangkaian kuasa pada Dot Board dan bukannya papan roti.
- Kita harus sentiasa menetapkan semula modul ESP sebelum memuat naik kod, membina papan kita sendiri akan membantu kita mengatur semula modul dengan mudah. Kami telah menggunakan Butang Tekan untuk Tetapkan Semula ESP8266.
- Pin GPIO0 harus dibumikan ketika memprogram menggunakan Arduino dan harus dibiarkan bebas ketika menggunakan perintah AT, ini dapat diganti dengan mudah jika kita membangun papan kita sendiri. Kami telah menggunakan Jumper untuk beralih antara mod perintah AT dan mod Pengaturcaraan Arduino IDE.
- Semua pengaturcaraan dilakukan dengan menggunakan komunikasi Serial , jika anda menggunakan papan roti, beberapa terminal yang longgar dapat menyebabkan kesalahan pada separuh jalan dan memaksa kami untuk mem-flash modul untuk kembali bekerja.
Yang dikatakan anda boleh memilih antara menggunakan papan roti, dan membuat papan anda sendiri untuk memprogram modul. Sekiranya anda masih mahu menggunakan papan roti, litar yang sama seperti di atas boleh dibina menggunakan papan roti anda. Hanya penampilan yang akan berbeza, semua arahan lain dalam tutorial ini akan berlaku sama.
Membina Papan untuk Program ESP8266:
Jadi di sini kita sedang membangun papan untuk memprogram modul ESP8266 yang mempunyai rangkaian kuasa sendiri untuk menghidupkan ESP8266.
Seperti yang dikatakan modul kami memerlukan sekitar 800mA semasa memprogramkannya. Oleh itu, kami telah membina modul kuasa kita sendiri dengan menggunakan pengatur voltan berubah LM317 kerana arus sumber LM317 hampir 1.2A. Voltan input LM317 akan 12V yang akan diberikan menggunakan penyesuai pelekap dinding 12V 2A. Output LM317 akan diatur hingga 3.3V secara berterusan dengan menggunakan perintang 220ohm dan 360ohm. Periksa juga Litar Pengecas Bateri kami menggunakan LM317 untuk mengetahui lebih lanjut mengenai LM317.
Rumus untuk mengira voltan keluaran LM317 diberikan di bawah:
Vout = 1.25 * (1+ (R2 / R1))
Di mana, R1 ialah 220ohm dan R2 ialah 360ohm.
Modul ESP8266 disambungkan seperti pin yang ditunjukkan dalam jadual di bawah.
Pin No. |
Nama pin ESP |
Berhubung dengan |
1 |
Tanah |
Landasan modul FTDI |
2 |
GPIO2 |
Dibiarkan percuma atau disambungkan ke kayu tong untuk kegunaan masa depan |
3 |
GPIO0 |
Tukar ke beralih antara mod pengaturcaraan |
4 |
Rx |
Tx modul FTDI |
5 |
Tx |
Rx modul FTDI |
6 |
CH_PH |
3.3V dari LM317 |
7 |
Tetapkan semula |
Butang tekan untuk menetapkan semula modul |
8 |
Vcc |
3.3V dari LM317 |
Untuk beralih antara mod perintah AT dan mod Pengaturcaraan Arduino dengan mudah, saya telah meletakkan suis (jumper) yang akan menarik GPIO 0 ke tanah ketika menggunakan Arduino IDE dan akan membiarkannya melayang ketika menggunakan perintah AT.
Terdapat butang tekan yang apabila ditekan akan menetapkan semula modul ESP. Ini dilakukan dengan hanya menyambungkan pin RST modul ESP ke landasan landasan melalui butang tekan. Setiap kali sebelum kita memprogram modul ESP kita harus menetapkannya semula.
Setelah memasang litar, ia akan kelihatan seperti di bawah ini.
Saya telah menggunakan papan Perf tetapi anda juga boleh menggunakan papan roti jika anda berminat (seperti yang dibincangkan di atas). Binaan dan penjelasan lengkap ditunjukkan dalam video di bawah.
Setelah selesai dengan sambungan. Hidupkan papan tanpa papan ESP & FTDI dan periksa sama ada kita mendapat 3.3V dengan betul pada terminal Vcc dan Ground dari kedudukan modul ESP. Sekarang pastikan papan FTDI anda berada dalam mod 3.3V dan sambungkan modul FTDI dan ESP anda ke papan anda.
Hidupkan penyesuai anda dan sambungkan ke papan anda, modul ESP harus menyala dengan warna merah.
Kemudian sambungkan papan FTDI anda ke komputer anda menggunakan kabel mini-USB ke USB dan arahkan ke Pengurus peranti di komputer anda dan anda seharusnya mendapati papan FTDI anda disambungkan ke port COM anda, seperti yang ditunjukkan di bawah:
Sekarang masa untuk terus memprogram modul ESP8266 kami. Anda boleh bermula dengan menggunakan perintah AT dan kemudian beralih ke menggunakan Arduino IDE. Jangan lupa untuk menyemak Projek berasaskan ESP8266 kami yang lain .