WLAN на Arduino - свържете ESP8266-01 с Arduino и управлявайте NodeMCU Amica дистанционно със своя смартфон
Свързани Видеоклипове: (Може 2024).
Arduino е един от най-известните табла за разработчици. За съжаление, стандартните модели нямат инсталиран Wi-Fi чип. Този практичен съвет ви показва как да свържете ESP8266-01 WLAN модул към Arduino и как можете дистанционно да управлявате NodeMCU Amica със своя смартфон.
Управлявайте NodeMCU Amica с вашия смартфон
NodeMCU Amica има разнообразни пинове, както и вграден ESP8266 Wi-Fi чип и microUSB гнездо. Затова има смисъл да използвате устройството повече като самостоятелно устройство. Как да свържете "класически" платка ESP8266 към Arduino е описано по-долу в статията.
- За да можете да програмирате ESP чипове, първо трябва да изтеглите и инсталирате драйверите за всички CP210er чипове от Silicon Labs. За щастие това се случва сравнително бързо.
- След това отворете Arduino IDE и отидете на Настройки. Добавете URL адреса „//arduino.esp8266.com/stable/package_esp8266com_index.json“ (без кавички) към допълнителните URL адреси на администратора на дъската. След това стартирайте администратора на дъската, въведете "ESP8266" и инсталирайте пакета.
- Също така отидете на мениджъра на библиотеката, въведете "Blynk" и инсталирайте най-новата версия. Всички необходими компоненти вече са инсталирани.
- Имате нужда от приложението Blynk, за да контролирате NodeMCU със своя смартфон. Ако вече не е направено, създайте нов акаунт тук или влезте със съществуващ. След това създайте нов проект и изберете NodeMCU като съвет.
- С примерните кодове в Arduino IDE трябва също да намерите код за Blynk (→ "Boards_WiFi") на NodeMCU. Просто въведете тук маркера Blynk на вашия проект, който сте изпратен автоматично по имейл. Въведете също своя SSID и парола.
- За да заредите кода на дъската, разбира се, трябва да го изберете от раздела "Инструменти". В нашия случай трябваше да бъде избран „NodeMCU 1.0 (ESP12E модул)“, честотата 80 MHz, размера на паметта „4M (3M SPIFFS)“ и скоростта на предаване 115200. Моля, обърнете внимание, че информацията може да се различава в зависимост от модела.
- След това можете просто да заредите кода на дъската и да го контролирате с приложението Blynk. Тук можете лесно да създавате различни джунджурии и например да управлявате LED с бутон.
Свържете WiFi на Arduino - ESP8266-01 към Arduino
След това искаме да свържем и използваме модула ESP8266-01 с Arduino.
- Ако обърнете платката така, че да сочи със златната антена, можете да намерите щифта VCC горе вляво, което, разбира се, трябва да бъде зададено ВИСОКО. Вдясно е щифтът RST, който обикновено не е необходимо да използвате. CH_PD щифтът до него също трябва да бъде зададен отново HIGH. В горния десен ъгъл имаме TXD щифт, който издава сигнали, а в долната лява част имаме RXD щифт, който приема сигналите, разбира се. Имаме и GPIO0 и GPIO2, както и класическия заземен щифт, който е разположен в долната дясна част.
- За да можете да използвате модула на Arduino, има смисъл да използвате SoftwareSerial, тъй като HardwareSerial се използва най-вече за комуникация между Arduino и PC. В нашия случай обаче модулът използва 115200 като скорост на предаване, което означава, че комуникацията между ESP и Arduino чрез SoftwareSerial не е възможна.
- За да промените скоростта на предаване, много потребители просто променят нов фърмуер, който осигурява различна скорост на предаване. Това обаче не е абсолютно необходимо, тъй като скоростта на предаване също може да бъде променена с помощта на команда. Тази команда е "AT + UART_DEF". Други команди като "AT + IPR" или "AT + CIOBAUD" също могат да бъдат намерени в интернет, но това не е препоръчително, тъй като по-специално "AT + IPR" може да срине модула.
- За да изпратите командата към модула, се препоръчва да я свържете към компютъра с USB адаптер, който обикновено се доставя безплатно или може да бъде намерен в Интернет за около едно евро. Ако нямате USB адаптер, можете или да поръчате онлайн, което е силно препоръчително, или да използвате универсален FTDI адаптер, който е доста сложен и често не работи правилно. Като алтернатива има друг вариант, който ще бъде обяснен по-късно.
- Ако сте свързали модула с адаптера към компютъра, можете да изпратите командата "AT + UART_DEF = 9600, 8, 1, 0, 0" със скорост на предаване 115200 и CR + LF. След това можете да свържете отново модула и да изпращате команди със скорост на предаване 9600.
- След това трябва да програмирате Arduino. Кодът е сравнително прост. Първо дефинираме празен низ с командата »String s =" ";«, импортираме SoftwareSerial (»#include«) и създаваме нов обект SoftwareSerial (»SoftwareSerial Serial_ESP (2, 3);«). В метода на настройка се стартира връзката към ESP (»Serial_ESP.begin (9600);«) и връзката към компютъра (»Serial.begin (9600);«). Ако ESP изпрати сигнал, той се добавя към низа и след това низът се извежда в серийния монитор (»докато (Serial_ESP.available ()> 0) {s + = (char) Serial_ESP.read ();} if (s ! = "") {Serial.println (s); s = "";} «). Обратно, сигналите, изпратени от серийния монитор, т.е. от компютъра, също се предават към ESP (»докато (Serial.available ()> 0) {Serial_ESP.write (Serial.read ());}«). Въпреки това е много важно цялата работа да бъде превърната в класация, тъй като ESP изпраща номера обратно. Можете също така да намерите кода отново в галерията със снимки в края на статията.
- След като заредите кода в Arduino, трябва да свържете ESP. Внимание! ESP използва 3.3 волта вместо 5V. 5V разбийте това напълно. Въпреки това, тъй като Arduino работи с 5V логика, напрежението трябва да се регулира съответно.
- На теория можете да използвате разделител на напрежение с резистори, но на практика цялото нещо е доста неточно и лесно може да бъде нарушено. Следователно, трябва да превключите преобразувател на логическо ниво между Arduino и ESP.
- Свържете 5V щифт на Arduino към HV, т.е. щифт на високо напрежение на преобразувателя, и LV щифт на преобразувателя към VCC щифт на ESP. Също така свържете LV щифта паралелно с CH_PD щифта на ESP, така че чипът също да бъде включен. Освен това, за да получите достатъчно ток, трябва да свържете 3.3V щифт на Arduino към LV щифт на преобразувателя, следователно към VCC и CH_PD на ESP. Сега свържете TX щифта от SoftwareSerial - в нашия случай пин 3 на Arduino - с HV 1, 2, 3 или 4 и противоположния LV щифт с RXD щифта на ESP. Повторете тази стъпка и за RX щифта на Arduino.
- Накрая трябва да свържете земята. За да направите това, свържете земята на Arduino към земята от страната на HV на преобразувателя. След това свържете земята от страната на LV към земята на ESP. Накрая трябва да свържете HV земята и LV земята.
- Сега можете лесно да изпращате AT команди с вашия компютър до ESP през Arduino. Можете лесно да свържете Arduino към вашия WiFi, да създадете уеб сървър и много други. Просто добавете съответните AT команди към кода на Arduino (в метода на настройка), които трябва да бъдат изпратени до ESP, които също можете да намерите в "AT Instruction Set".
- Ако нямате готов USB адаптер, можете също да изпратите командата за промяна на скоростта на предаване чрез HardwareSerial, използвайки същата схема, като използвате TX и RX пиновете на Arduino, т.е. 0 и 1. Въпреки това, не забравяйте да коригирате съответно скоростта на предаване в кода.
В следващия практичен съвет ще ви дадем въведение в езика за програмиране на Java.