WLAN pada Arduino - sambungkan ESP8266-01 ke Arduino dan kawalan NodeMCU Amica dari jauh dengan telefon pintar anda
Arduino adalah salah satu papan pemaju yang terkenal. Malangnya, model standard tidak mempunyai cip Wi-Fi yang dipasang. Petua praktikal ini menunjukkan cara menyambungkan modul WLAN ESP8266-01 ke Arduino dan bagaimana anda dapat mengawal NodeMCU Amica dari jauh dengan telefon pintar anda.
Kawal NodeMCU Amica dengan telefon pintar anda
NodeMCU Amica mempunyai pelbagai pin, serta cip ESP8266 Wi-Fi terbina dalam dan soket microUSB. Oleh itu, masuk akal untuk menggunakan peranti ini sebagai peranti mandiri. Bagaimana untuk menyambungkan papan "klasik" ESP8266 ke Arduino diterangkan kemudian di dalam artikel.
- Untuk dapat memprogramkan cip ESP, anda mesti memuat turun dan memasang pemacu untuk semua cip CP210er dari Silicon Labs. Nasib baik, ini berlaku dengan cepat.
- Kemudian buka IDE Arduino dan pergi ke Tetapan. Tambahkan URL "//arduino.esp8266.com/stable/package_esp8266com_index.json" (tanpa tanda petikan) ke URL pentadbir papan tambahan. Kemudian mulakan pentadbir papan, masukkan "ESP8266" dan pasang pakej.
- Juga pergi ke pengurus perpustakaan, masukkan "Blynk" dan pasang versi terkini. Semua komponen yang diperlukan kini dipasang.
- Anda memerlukan aplikasi Blynk untuk mengawal NodeMCU dengan telefon pintar anda. Sekiranya belum selesai, buat akaun baru di sini atau log masuk dengan yang sedia ada. Kemudian buat projek baru dan pilih NodeMCU sebagai papan.
- Dengan kod sampel dalam Arduino IDE anda juga harus mencari kod untuk Blynk (→ "Boards_WiFi") pada NodeMCU. Cukup masukkan token Blynk projek anda di sini, yang anda telah dihantar secara automatik melalui e-mel. Masukkan SSID dan kata laluan anda juga.
- Untuk memuatkan kod ke papan, anda mestilah pilihnya dari tab "Alat". Dalam kes kami "NodeMCU 1.0 (Modul ESP12E)" terpilih, kekerapan 80 MHz, saiz memori "4M (3M SPIFFS)" dan kadar baud 115200. Walau bagaimanapun, sila ambil perhatian bahawa maklumat itu mungkin berbeza-beza bergantung kepada model.
- Anda kemudiannya boleh memuatkan kod ke papan dan mengawalnya dengan aplikasi Blynk. Di sini anda boleh membuat widget yang berbeza dan, sebagai contoh, mengawal LED dengan butang.
Sambungkan WiFi pada Arduino - ESP8266-01 ke Arduino
Seterusnya kita mahu menyambung dan menggunakan modul ESP8266-01 dengan Arduino.
- Jika anda menghidupkan papan supaya ia menunjuk ke antena emas, anda boleh mencari pin VCC di sebelah kiri atas, yang sudah tentu perlu ditetapkan ke TINGGI. Di sebelah kanan ialah pin RST, yang biasanya anda tidak perlu gunakan. PIN CH_PD di sebelahnya juga mesti ditetapkan ke TINGGI lagi. Di bahagian atas kanan kami mempunyai pin TXD yang mengeluarkan isyarat dan di bahagian bawah kiri kami mempunyai pin RXD yang menerima isyarat, sudah tentu. Kami juga mempunyai GPIO0 dan GPIO2, serta pin tanah klasik, yang terletak di bahagian bawah kanan.
- Untuk dapat menggunakan modul pada Arduino, masuk akal untuk menggunakan SoftwareSerial, kerana HardwareSerial kebanyakannya digunakan untuk komunikasi antara Arduino dan PC. Dalam kes kita, bagaimanapun, modul itu menggunakan 115200 sebagai kadar baud, yang bermakna komunikasi antara ESP dan Arduino melalui SoftwareSerial tidak mungkin.
- Untuk menukar kadar baud, ramai pengguna hanya menghidupkan firmware baru yang menyediakan kadar baud yang berbeza. Bagaimanapun, ini tidak semestinya diperlukan kerana kadar baud juga boleh diubah menggunakan arahan. Perintah ini adalah "AT + UART_DEF". Perintah lain seperti "AT + IPR" atau "AT + CIOBAUD" juga boleh didapati di Internet, tetapi ini tidak digalakkan, kerana "AT + IPR" juga boleh merosakkan modul.
- Untuk menghantar arahan kepada modul, disyorkan untuk menyambungkannya ke PC dengan penyesuai USB, yang biasanya dibekalkan secara percuma atau boleh didapati di Internet untuk sekitar satu euro. Jika anda tidak mempunyai penyesuai USB, anda boleh memesan secara online, yang sangat disyorkan, atau menggunakan penyesuai FTDI sejagat, yang agak rumit dan sering tidak berfungsi dengan baik. Sebagai alternatif, terdapat satu lagi varian yang akan dijelaskan kemudian.
- Jika anda telah menyambungkan modul dengan penyesuai ke PC, anda boleh menghantar arahan "AT + UART_DEF = 9600, 8, 1, 0, 0" dengan kadar baud 115200 dan CR + LF. Anda boleh menyambung semula modul dan menghantar arahan pada kadar baud 9600.
- Seterusnya anda perlu memprogramkan Arduino. Kod ini agak mudah. Kami mula-mula menentukan rentetan kosong dengan perintah »String s =" ";, import SoftwareSerial (» #include «) dan buat objek SoftwareSerial baru (» SoftwareSerial Serial_ESP (2, 3); Dalam kaedah persediaan, sambungan ke ESP (»Serial_ESP.begin (9600);" dan sambungan ke PC (»Serial.begin (9600);" bermula. Jika ESP menghantar isyarat, ini akan ditambahkan pada rentetan dan rentetan itu kemudiannya dikeluarkan dalam monitor siri ('sementara (Serial_ESP.available ()> 0) {s + = (char) Serial_ESP.read ();} jika ! = "") {Serial.println (s); s = "";}}). Sebaliknya, isyarat yang dihantar oleh monitor bersiri, iaitu PC, juga dihantar ke ESP ("semasa (Serial.available ()> 0) {Serial_ESP.write (Serial.read ());}"). Walau bagaimanapun, sangat penting bahawa semua perkara itu ditukar menjadi char, kerana ESP menghantar nombor kembali. Anda juga boleh mencari kod itu lagi di galeri gambar pada akhir artikel.
- Sebaik sahaja anda memuatkan kod ke Arduino, anda perlu menyambungkan ESP. Awas! ESP menggunakan 3.3 volt berbanding 5V. 5V memecahkan ini sepenuhnya. Walau bagaimanapun, sejak Arduino berfungsi dengan logik 5V, voltan perlu diselaraskan dengan sewajarnya.
- Secara teori, anda boleh menggunakan pembahagi voltan dengan perintang, tetapi dalam praktiknya semuanya tidak tepat dan mudah diganggu. Oleh itu, anda perlu menukar penukar tahap logik antara Arduino dan ESP.
- Sambung pin 5V Arduino ke HV, iaitu tegangan tinggi tegangan pada penukar, dan pin LV penukar kepada pin VCC daripada ESP. Juga sambungkan pin LV selari dengan pin CH_PD dari ESP supaya cip juga dihidupkan. Juga, untuk mendapatkan arus yang mencukupi, anda perlu menyambungkan pin 3.3V Arduino kepada pin LV penukar, dengan itu akibatnya kepada VCC dan CH_PD dari ESP. Sekarang hubungkan pin TX dari SoftwareSerial - dalam kes 3 kami di Arduino - dengan HV 1, 2, 3 atau 4 dan pin LV bertentangan dengan pin RXD di ESP. Ulangi langkah ini untuk pin RX Arduino juga.
- Akhirnya, anda perlu menyambungkan tanah. Untuk melakukan ini, sambungkan tanah Arduino ke tanah di sisi HV penukar. Kemudian sambungkan tanah di sebelah LV ke tanah ESP. Akhirnya anda perlu menyambungkan tanah HV dan tanah LV.
- Sekarang anda boleh dengan mudah menghantar perintah AT dengan PC anda ke ESP melalui Arduino. Anda boleh dengan mudah menyambung Arduino ke WiFi anda, buat pelayan web dan banyak lagi. Cukup tambahkan perintah AT masing-masing kepada kod Arduino (dalam kaedah persediaan) yang akan dihantar ke ESP, yang juga boleh didapati dalam "Set Arahan AT".
- Jika anda tidak mempunyai penyesuai USB siap, anda juga boleh menghantar arahan untuk menukar kadar baud melalui HardwareSerial menggunakan litar yang sama dengan menggunakan Arduino's TX dan RX pins, iaitu 0 dan 1. Walau bagaimanapun, jangan lupa untuk menyesuaikan kadar baud dalam kod tersebut dengan sewajarnya.
Dalam hujung praktikal seterusnya, kami akan memberi anda pengenalan kepada bahasa pengaturcaraan Java.