- Apa ESP8266?
- Dasar-dasar Teori WiFi:
- Jenis pemrograman dengan ESP8266:
- Perangkat Keras untuk Memprogram Modul ESP8266:
- Bahan yang Dibutuhkan:
- Penjelasan Sirkuit:
- Membangun Papan untuk Program ESP8266:
Internet of Things dan Home Automation benar-benar menjadi topik hangat dalam beberapa hari terakhir. Membangun sendiri sesuatu yang dapat berkomunikasi dengan World Wide Web dan dapat diakses dari mana saja di dunia, sungguh terdengar keren bukan?
Tapi tunggu!!! Kedengarannya juga rumit ???….
Begitu pula untuk saya, saya pikir akan membutuhkan waktu dan keterampilan yang sangat besar untuk membangun sesuatu yang dapat berinteraksi dengan internet. TIDAK, saya sepenuhnya salah, berkat modul luar biasa yang disebut ESP8266 dari Espressif Systems. Sekarang, Anda dapat dengan mudah membuka pintu untuk Proyek IoT dengan bantuan modul ini. Modul berbiaya rendah dan berukuran kecil ini dapat melakukan keajaiban dan sangat sederhana serta mudah digunakan, asalkan kami mengikuti langkah-langkah yang benar.
Tutorial ini bertujuan untuk memperkenalkan Anda pada modul ESP8266-01 ini dan membantu Anda memulainya. Mungkin, Anda telah membawa modul Anda dan macet saat mencoba menggunakannya. Kemudian, Anda tidak sendiri jangan khawatir, banyak orang yang merasa sangat kesulitan untuk memulai dengan modul karena tidak ada panduan atau dokumentasi yang tepat untuk modul ini. Inilah alasan pembuatan tutorial ini. Ikuti petunjuk di sini dan Anda seharusnya dapat mengaktifkan dan menjalankan modul ESP8266-01 Anda dalam waktu singkat, di sini kita akan menggunakan FTDI USB to TTL Serial Adapter Module untuk memprogram ESP8266. Periksa Video rinci di akhir Tutorial.
Sebelum masuk ke topik mari kita bahas beberapa dasar tentang Modul ESP8266-01.
Apa ESP8266?
Kebanyakan orang menyebut ESP8266 sebagai modul WIFI, tetapi sebenarnya itu adalah mikrokontroler. ESP8266 adalah nama mikrokontroler yang dikembangkan oleh Espressif Systems yang merupakan perusahaan yang berbasis di shanghai. Mikrokontroler ini memiliki kemampuan untuk melakukan aktivitas terkait WIFI sehingga banyak digunakan sebagai modul WIFI.
Ada banyak jenis modul ESP8266 yang tersedia mulai dari ESP8266-01 hingga ESP8266-12. Salah satu yang kami gunakan dalam tutorial ini adalah ESP8266-01 karena ini yang termurah dan mudah didapat. Namun semua modul ESP hanya memiliki satu jenis prosesor ESP, yang membedakan hanya jenis penyair breakout yang digunakan. Papan breakout ESP8266-01 hanya akan memiliki 2 pin GPIO sedangkan di papan lain akan lebih tinggi.
Spesifikasi lengkap modul diberikan pada tabel di bawah ini
Tegangan |
3.3V |
Konsumsi saat ini |
10uA-170mA |
Konsumsi arus maksimum selama flashing |
800mA |
Memori Flash |
16MB (512K normal) |
Prosesor |
Tensilica L106 32 bit |
Kecepatan Prosesor |
80-160MHz |
RAM |
32K + 80K |
GPIO |
17 (tapi kebanyakan multiplexing) |
Konverter Analog ke Digital |
1 (10-bit) |
Koneksi TCP maksimum |
5 |
Oke, beberapa hal yang dapat mengejutkan Anda tentang spesifikasinya adalah, YA modul ESP8266 dilengkapi dengan ADC Converter dan mengkonsumsi arus yang sangat tinggi sebesar 0.8A selama flashing perangkat Anda.
Juga periksa berbagai Proyek IoT menarik berbasis ESP8266 kami.
Dasar-dasar 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…..
Apakah semua istilah di atas masuk akal bagi Anda?
Jika ya. Kemudian, BINGO Anda dapat melompat ke bagian ini dan pindah ke bagian berikutnya.
Jika tidak. Maka Anda pasti salah satu di antara banyak siswa kelistrikan yang baru saja mengedipkan sebagian besar istilah ini seperti yang saya lakukan ketika saya pertama kali diperkenalkan ke semua hal ini. Jadi, mari kita cepat menjalankan semua istilah ini karena hanya dengan begitu kita bisa masuk ke dunia IOT.
Transfer Control Protocol (TCP):
Sebagian besar dari kita pasti tahu apa artinya ini. Ya, ini adalah seperangkat aturan yang menjadi dasar kerja internet. Sejak ESP8266 memiliki kemampuan untuk mengatur koneksi WIFI. Pada Wi-Fi tingkat tinggi adalah kemampuan untuk berpartisipasi dalam koneksi TCP / IP melalui tautan nirkabel. Anda dapat membuat ESP Anda berfungsi pada protokol TCP / IP atau protokol UDP.
User Datagram Protocol (UDP):
UDP juga merupakan jenis protokol internet lainnya. Jenis komunikasi ini lebih cepat daripada TCP tetapi kurang akurat. Alasannya adalah TCP menggunakan Pengakuan selama komunikasinya tetapi UDP tidak. TCP sebagian besar digunakan dalam jaringan di mana ada persyaratan keandalan yang tinggi. UDP digunakan di tempat-tempat di mana kecepatan memiliki prioritas tinggi daripada keandalan. Misalnya UDP digunakan dalam konferensi video, karena ada bahkan jika beberapa piksel tidak dikirimkan itu tidak akan mempengaruhi kualitas video yang banyak tetapi kecepatan sangat penting.
Sebagian besar proyek dan kode ESP8266 bekerja di sekitar TCP / IP, UDP paling tidak terganggu.
Titik Akses (AP) dan Stasiun (STA):
Setelah Anda mulai bekerja dengan modul ESP, Anda akan sering menemukan dua istilah ini. Katakanlah Anda dan teman Anda ingin menjelajahi internet di ponsel pintar Anda, tetapi karena dia tidak memiliki koneksi internet aktif, Anda memutuskan untuk mengaktifkan hotspot Anda dan teman Anda menghubungkannya. Di sini ponsel Anda yang mencari koneksi internet adalah Access Point (AP) dan ponsel teman Anda yang menggunakan internet disebut Station (STA).
Modul ESP8266 dapat digunakan dalam tiga mode, mode AP, mode STA atau dalam mode STA dan AP (gabungan).
Service Set Identifier (SSID):
Ini istilah yang cukup sederhana. Hampir semua dari kita pernah menggunakan WIFI. Nama Jaringan Wi-Fi disebut SSID-nya. Ketika kita memiliki beberapa titik akses untuk sebuah stasiun untuk dihubungkan, stasiun harus mengetahui titik akses mana yang harus dihubungkan, oleh karena itu setiap Titik Akses (AP) diberi identitas yang disebut SSID.
Application Programming Interface (API):
Sederhananya, API adalah utusan yang menerima permintaan Anda, memprosesnya, dan mengembalikan sistem Anda hasil yang diinginkan. Sebagian besar aktivitas yang kami lakukan di internet menggunakan API, seperti saat Anda memesan penerbangan, melakukan pembelian online, dll. Setiap situs web menautkan Anda ke API di mana beberapa bagian dari pekerjaan seperti mendaftar, melakukan pembayaran, dll. Dilakukan untuk Anda sana.
ESP8266 menggunakan API untuk berbicara dengan dunia Internet. Misalnya jika ingin mengetahui waktu, iklim, atau apapun yang diminta dalam bentuk API ke website terkait. Situs web tersebut akan menerima permintaan dan memberikan hasil yang diinginkan kembali ke modul ESP kami.
Server Web:
Server web adalah sesuatu yang bertanggung jawab untuk menampilkan konten situs web. Semua konten situs web tertentu itu akan dimuat ke server webnya. Ada komputer khusus yang tugasnya hanya bertindak sebagai server web. Kami juga dapat memprogram ESP8266 kami untuk berfungsi sebagai server web, dan menghubungkannya dari mana saja di dunia.
Oke, ini cukup bagi kita untuk memulai. Sekarang, mari kita dapatkan perangkat kerasnya.
Jenis pemrograman dengan ESP8266:
Ada dua cara untuk bekerja dengan modul ESP8266 Anda. Tutorial ini akan membantu Anda memulai keduanya. Salah satu caranya adalah dengan menggunakan perintah AT. Cara lainnya adalah dengan menggunakan Arduino IDE. Mari kita pahami apa artinya.
Semua modul ESP8266 yang dikirim dari pabrik akan memiliki firmware default (SDK + API) yang dimuat ke dalamnya. Firmware ini akan membantu Anda memprogram modul ESP8266 melalui perintah AT.
Cara lain adalah dengan memprogram langsung modul ESP8266 menggunakan Arduino IDE (papan tidak diperlukan) dan perpustakaannya. Semua proyek dapat dilakukan dengan kedua metode tersebut. Tetapi, jika Anda mulai menggunakan Arduino IDE untuk memprogram ESP8266 Anda, Anda mungkin tidak dapat menggunakan perintah AT karena SDK default mungkin telah rusak. Dalam hal ini Anda harus mem-flash ESP Anda dengan pengaturan default. Kami akan membahasnya di tutorial lain.
Perangkat Keras untuk Memprogram Modul ESP8266:
ESP8266 adalah modul 8 terminal. Pin yang sama ditunjukkan di bawah ini.
Sayangnya, modul ini tidak ramah papan tempat memotong roti dan karenanya kami tidak dapat memasangnya langsung ke papan tempat memotong roti kami. Juga tidak seperti Arduino, ia tidak memiliki driver USB ke Serial bawaan; oleh karena itu kita harus menggunakan "FTDI USB to TTL Serial Adapter Module" untuk berkomunikasi dengannya. Pastikan papan FTDI juga dapat beroperasi pada 3.3V; yang kami gunakan dalam tutorial ini ditunjukkan di bawah ini.
Sekarang, seperti yang kita tahu, kita harus menyalakan ESP8266 dengan 3.3V. Tetapi konsumsi saat ini adalah 0,8A, jadi mungkin tidak berfungsi seperti yang diharapkan jika didukung dari papan breakout FTDI kami. Oleh karena itu kita harus membangun sirkuit pembangkit listrik kita sendiri. Di sini kami telah menggunakan LM317 untuk tujuan menyalakan; rincian untuk membuat perangkat keras lengkap diberikan di bagian selanjutnya.
Bahan yang Dibutuhkan:
- Papan Perf
- ESP8266-01
- Papan breakout FTDI
- LM317
- Kapasitor 0.1uf
- Kapasitor 10uf
- Barrel Jack
- Bergstik Pria dan Wanita
- Tekan tombol
- Menghubungkan kabel
- Adaptor 12V untuk menyalakan papan.
Penjelasan Sirkuit:
Skema papan ditunjukkan di bawah ini
Beberapa mungkin telah mencoba menyalakan ESP Anda langsung dari FTDI Anda dan membuatnya berfungsi, tetapi berikut ini adalah alasan untuk membuat papan Anda sendiri dengan beberapa komponen tambahan:
- Hanya beberapa papan FTDI yang dapat memperoleh arus yang cukup untuk modul ESP. Beberapa modul ESP mungkin mengkonsumsi arus tinggi daripada yang lain selama flashing. Oleh karena itu, selalu aman untuk memiliki sumber listrik Anda sendiri, dan akan lebih mudah untuk mengintegrasikan sirkuit penggerak pada Dot Board daripada di papan tempat memotong roti.
- Kita harus selalu mengatur ulang modul ESP sebelum mengunggah kode, membuat papan kita sendiri akan membantu kita mengatur ulang modul dengan mudah. Kami telah menggunakan Tombol Tekan untuk Mengatur Ulang ESP8266.
- Pin GPIO0 harus di-ground saat memprogram menggunakan Arduino dan harus dibiarkan bebas saat menggunakan perintah AT, ini dapat dengan mudah diubah jika kita membuat papan sendiri. Kami telah menggunakan Jumper untuk beralih antara mode perintah AT dan mode Pemrograman IDE Arduino.
- Semua pemrograman dilakukan menggunakan komunikasi Serial , jika Anda menggunakan papan tempat memotong roti beberapa terminal yang longgar dapat menyebabkan kesalahan setengah jalan dan memaksa kami untuk mem-flash modul untuk bekerja lagi.
Karena itu, Anda dapat memilih antara menggunakan papan tempat memotong roti, dan membuat papan Anda sendiri untuk memprogram modul. Jika Anda masih ingin menggunakan papan tempat memotong roti, rangkaian yang sama seperti yang ditunjukkan di atas dapat dibuat menggunakan papan tempat memotong roti Anda. Hanya tampilannya yang akan berbeda, semua instruksi lain dalam tutorial ini akan menerapkan hal yang sama.
Membangun Papan untuk Program ESP8266:
Jadi di sini kita sedang membangun papan untuk memprogram modul ESP8266 yang memiliki sirkuit penggerak sendiri untuk menyalakan ESP8266.
Seperti yang dikatakan modul kami akan membutuhkan sekitar 800mA saat memprogramnya. Oleh karena itu kami telah membangun modul daya kami sendiri dengan menggunakan regulator tegangan variabel LM317 karena arus sumber LM317 hampir 1.2A. Tegangan input LM317 adalah 12V yang akan diberikan menggunakan adaptor dudukan dinding 12V 2A. Output dari LM317 akan diatur ke 3.3V secara konstan dengan menggunakan resistor 220ohm dan 360ohm. Periksa juga Sirkuit Pengisi Daya Baterai kami menggunakan LM317 untuk mempelajari lebih lanjut tentang LM317.
Rumus untuk menghitung tegangan keluaran LM317 diberikan di bawah ini:
Vout = 1,25 * (1+ (R2 / R1))
Dimana, R1 adalah 220ohm dan R2 adalah 360ohm.
Modul ESP8266 terhubung sesuai dengan pin yang ditunjukkan pada tabel di bawah ini.
Nomor Pin |
Nama pin ESP |
Terhubung dengan |
1 |
Tanah |
Dasar modul FTDI |
2 |
GPIO2 |
Dibiarkan bebas atau terhubung ke tongkat berg untuk digunakan di masa mendatang |
3 |
GPIO0 |
Beralih untuk beralih di antara mode pemrograman |
4 |
Rx |
Tx dari modul FTDI |
5 |
Tx |
Rx dari modul FTDI |
6 |
CH_PH |
3.3V dari LM317 |
7 |
Setel ulang |
Tombol tekan untuk mengatur ulang modul |
8 |
Vcc |
3.3V dari LM317 |
Untuk dengan mudah beralih antara mode perintah AT dan mode Pemrograman Arduino, saya telah menempatkan sakelar (jumper) yang akan menarik GPIO 0 ke ground saat menggunakan Arduino IDE dan akan membiarkannya mengambang saat menggunakan perintah AT.
Terdapat tombol push yang jika ditekan akan mengatur ulang modul ESP. Ini dilakukan hanya dengan menghubungkan pin RST modul ESP ke rel arde melalui tombol tekan. Setiap kali sebelum kami memprogram modul ESP kami, kami harus mengatur ulang.
Setelah Anda memasang sirkuit, akan terlihat seperti ini di bawah ini.
Saya telah menggunakan papan Perf tetapi Anda juga dapat menggunakan papan tempat memotong roti jika Anda tertarik (seperti yang dibahas di atas). Build lengkap dan penjelasannya ditampilkan pada video di bawah ini.
Setelah selesai dengan koneksi. Nyalakan papan tanpa papan ESP & FTDI dan periksa apakah kami mendapatkan 3,3V dengan benar pada terminal Vcc dan Ground dari posisi modul ESP. Sekarang pastikan papan FTDI Anda dalam mode 3.3V dan hubungkan modul FTDI dan ESP Anda ke papan Anda.
Nyalakan adaptor Anda dan hubungkan ke papan Anda, modul ESP akan menyala dengan warna merah.
Kemudian sambungkan papan FTDI Anda ke komputer menggunakan kabel mini-USB ke USB dan arahkan ke Manajer perangkat di komputer Anda dan Anda akan menemukan papan FTDI Anda terhubung ke port COM Anda, seperti yang ditunjukkan di bawah ini:
Sekarang waktunya untuk memprogram modul ESP8266 kami. Anda dapat memulai dengan menggunakan perintah AT dan kemudian beralih menggunakan Arduino IDE. Jangan lupa untuk memeriksa Proyek berbasis ESP8266 kami yang lain .