Съдържание:

ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор Без усложнения: 5 стъпки
ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор Без усложнения: 5 стъпки

Видео: ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор Без усложнения: 5 стъпки

Видео: ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор Без усложнения: 5 стъпки
Видео: Зашить ESP 12E без проблем и заморочек. Чистая практика. (ESP8266 - Wi-Fi) 2024, Юни
Anonim
ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор Безпроблемно
ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор Безпроблемно

Това ръководство е предназначено да помогне на хора, които са закупили ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор и не знаят как да го използват с Arduino.

Първоначално този урок е написан на португалски тук, в Бразилия. Опитах се да го напиша на английски. Така че простете ми за някои грешки, които може да са в писането.

Тези инструкции бяха разделени, както следва:

Стъпка 1: Запознаване с ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор за Arduino

Стъпка 2: Надстройка на фърмуера на ESP8266 ESP-12E UART Безжичен WIFI Shield TTL конвертор за Arduino

Стъпка 3: Shiald, Shield, More и Moer? Има ли значение?

Стъпка 4: Shield Moer - Решаване на RX / TX серийна комуникация

Стъпка 5: Уеб сървър с ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор за Arduino

Препоръчвам ви да прочетете всички стъпки, за да научите колкото е възможно повече за този щит.

Стъпка 1: Запознаване с ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор за Arduino

ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор (Shield WiFi ESP8266) улеснява свързването на Arduino към WiFi мрежи чрез ESP8266. Когато го използвате, вече не е необходимо да монтирате верига с няколко компонента и проводници, за да свържете ESP8266 към Arduino, просто прикрепете платката към Arduino, позиционирайте пътя на DIP превключвателя според режима на работа на щита и програмирайте Arduino да свързване към WiFi мрежи. В допълнение, платката може да се използва без Arduino, тъй като има всички налични изводи на ESP-12E.

В щита има информация, че е създаден от човек на име WangTongze и който притежава правата върху него е elecshop.ml. Първоначално създателят на щита се опита да събере средства за своя проект чрез Indiegogo (сайт за колективно финансиране), но той не успя да събере пари.

Характеристики на ESP8266 модел ESP-12E:

- 32-битова RISC архитектура- Процесорът може да работи на 80MHz / 160MHz- 32MB флаш памет- 64kB за инструкции- 96kB за данни- Стандартна родна WiFi 802.11b / g / n- Работи в режим AP, Station или AP + Station- Има 11 цифрови пина- Има 1 аналогов щифт с 10-битова разделителна способност- Цифровите пинове с изключение на D0 имат прекъсване, ШИМ, I2C и един проводник- Програмируеми чрез USB или WiFi (OTA)- Съвместим с Arduino IDE- Съвместим с използвани модули и сензори в Ардуино

По -долу можете да прочетете основните характеристики на този щит:

- Размерът на Arduino Uno R3 и фиксирането са съвместими с Arduino Uno, Mega 2560, Leonardo и производни.- Малките версии на Arduino (Nano и Pro Mini, например) са съвместими, но връзките трябва да се осъществяват чрез джъмпери.- Arduino напрежение (5V) се използва за захранване на щита.- Има AMS1117 3.3V регулатор на напрежението, така че 5V напрежението, подадено от Arduino, се намалява, за да захранва щита, без да е необходимо външно захранване.- Той има вграден преобразувател на логическо ниво, така че нивото на Arduino TTL (5V) не уврежда ESP8266, който работи с ниво TTL 3.3V.- Той има 4-пътен DIP превключвател, който служи за промяна на режимите на работа на платката.- Налични режими на работа: WiFi Shield за Arduino / изпращане на AT команди чрез Arduino / надстройка на фърмуера чрез USB сериен външен / самостоятелен конвертор.- Има индикативни светодиоди (PWR / DFU / AP / STA).- Тъй като е във формат на щит, позволява да се вмъкнат други щитове и модули.- Има бутон ESP-RST за нулиране на ESP8266.- Th e ADSP щифт ESP8266 се предлага в две форми на платката, първата на щифт с обхват на четене от 0 до 1V и втората форма в диапазона от 0 до 3.3V.

На изображението основните части на щита са подчертани:

Образ
Образ

A (ЦИФРОВИ ПИНОВЕ): последователност от щифтове, използвани от Arduino.

B (ESP8266 PINS): ESP8266-12E и съответните им щифтове. На гърба на плочата има номенклатурата на щифтовете.

C (ВРЪЗКА НА ВЪНШЕН СЕРИЙЕН USB АДАПТЕР): Последователност на изводи, използвана за свързване на външен сериен USB адаптер за актуализиране на фърмуера или отстраняване на грешки на ESP8266.

D (ПИНОВЕ ЗА ПОДДРЪЖКА НА ЩИТА): Три-пинова последователност, идентифицирана само като поддръжка и използвана за проверка дали регулаторът на напрежението приема и подава напреженията правилно. НЕ ТРЯБВА ДА СЕ ИЗПОЛЗВА КАТО ИЗТОЧНИК.

E (DIP-ПЕРЕКЛЮЧВАНЕ НА ИЗМЕНЕНИЕ НА РЕЖИМИТЕ НА РАБОТА): Четирипосочен DIP превключвател за промяна на режимите на работа.

CONTACT 1 (P1) и CONTACT 2 (P2): използва се за свързване на RX (представено с P1) и TX (представено с P2) на ESP8266 към щифтовете Arduino D0 (RX) и D1 (TX). P1 и P2 в положение OFF изключват RX връзката от ESP8266 към Arduino TX и TX от ESP8266 към Arduino RX.

CONTACT 3 (P3) и CONTACT 4 (P4): използва се за активиране и деактивиране на режима за надстройка на фърмуера за ESP8266. За да разрешите запис / зареждане на фърмуера на ESP8266, P3 и P4 трябва да са в положение ON. Когато P4 е в положение ON, светодиодът DFU ще светне, което показва, че ESP8266 е разрешен за приемане на фърмуера. За да деактивирате режима за актуализиране на фърмуера и да настроите ESP8266 на нормална работа, просто задайте P3 и P4 на OFF.

ЗАБЕЛЕЖКА: Всичките 4 контакта в положение OFF показват, че ESP8266 работи в нормален режим до Arduino

F (AD8 ОТ ESP8266): присвояване на щифт за ESP8266 ADC. ПИН, работещ в диапазона от 0 до 1V и друг щифт, работещ в диапазона от 0 до 3.3V. Тези щифтове ще се използват само когато се използва самостоятелно ESP8266 (самостоятелен режим).

G (ESP8266 RESET): бутон, използван за нулиране на ESP8266. Когато променяте позицията на DIP превключвателите, трябва да натиснете бутона ESP-RST.

H (АНАЛОГОВ ПИН И ЗАХРАНВАНЕ): последователност от щифтове, използвани от Arduino.

Този щит има особеност в контактите P1 и P2 на DIP превключвателя и тази особеност, всъщност поражда голямо съмнение у хората, които се опитват да използват щита.

Според създателя на щита, при свързването му към Arduino ще са необходими само 2 пина. Тези щифтове биха били D0 и D1 (съответно RX и TX на Arduino) и освен това контактите P1 и P2 на DIP превключвателя на щита трябва да са в положение ON за връзката.

В един от единствените китайски документи, които съм получил за този щит, създателят на дъската казва:

P1 и P2 са битови енкодери и се използват за определяне дали последователният ESP8266 е свързан към Arduino D0 и D1.

В друг раздел на документа се споменава:

Тази платка за разширяване поддържа серийния Arduino зает, свързвайки RX от ESP8266 към TX от Arduino и TX от ESP8266 към Arduino RX.

Пиновете D0 (RX) и D1 (TX) на Arduino съответстват на естествената серийна / USB комуникация, така че тези щифтове остават заети, когато изпращаме код на платката или използваме серийния монитор. Следователно, ако контактите P1 и P2 на щита са в положение ON, ESP8266 ще използва Arduino D0 и D1 и няма да е възможно да изпраща кодове или да използва серийния, тъй като ще бъде зает. Освен това, за да изпратите AT команди към щита, е необходимо ESP8266 RX да е свързан с Arduino RX и ESP8266 TX да е свързан с Arduino TX. Това ще се случи само ако обърнем връзките, както е показано на изображението по -долу:

Образ
Образ

Вижте, че огънах контактите D0 и D1 на щита и свързах Arduino D0 към D1 на щита и D1 на Arduino към D0 на щита. Когато използвах връзката по този начин (Arduino се използва като свързващ мост), успях да изпратя AT команди до ESP8266 и потвърдих това, което вече си представях.

Стандартната форма на работа на щита изисква код (уеб сървър или фърмуер, например) да бъде зареден в щита и друг код да се зареди в Arduino, за да изпраща, получава и интерпретира данните, идващи през родния сериен код. Повече подробности за тази форма на комуникация ще видите в следващите стъпки.

Както и да е, тази функция на щита не пречи на работата му, тъй като обикновено емулираме сериал на други цифрови пинове на Arduino, за да можем да имаме наличен родния сериал. Освен това, ако е необходимо да изпратите AT команди към щита, можем да го свържем с Arduino чрез четири кабела или да използваме сериен USB конвертор.

И накрая, щитът беше много стабилен и направи сглобяването на схемите много лесно. Тествах с Arduino Uno R3 и Mega 2560 R3.

В следващата стъпка ще научите как да надстроите / промените фърмуера на щита.

Стъпка 2: Надстройка на фърмуера на ESP8266 ESP-12E UART Безжичен WIFI Shield TTL конвертор за Arduino

За да свържете щита към компютъра, е необходимо да използвате сериен USB конвертор. Ако нямате конвенционален сериен USB конвертор, можете да използвате конвертора Arduino Uno R3 като междинен продукт. На пазара има няколко модела серийни USB конвертори, но за този урок използвах PL2303HX TTL Serial USB Converter Adapter.

За да надстроите щита, използвайте:

ESP8266 Инструменти за изтегляне на Flash

Фърмуерът, който ще се използва, е:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT фърмуер

След като изтеглите програмата и фърмуера, копирайте двете в корена (устройство C) на вашия Windows.

Разархивирайте flash_download_tools_v2.4_150924.rar и папката FLASH_DOWNLOAD_TOOLS_v2.4_150924 ще бъде генерирана.

Използване на сериен USB конвертор Arduino Uno R3 като междинен продукт:

Следващата стъпка е да свържете щита към компютъра. Ако нямате стандартен сериен usb конвертор, можете да използвате Arduino Uno R3 за свързване на щита и компютъра. В допълнение към Arduino Uno R3 с USB кабел ще ви трябва:

01 - ESP8266 ESP -12E UART Безжичен WIFI Shield TTL конвертор 04 - Мъжко -женски джъмперни кабели

ЗАБЕЛЕЖКА: Преди да монтирате електрическата схема на Arduino, трябва да заредите празен код на платката, за да сте сигурни, че серийният USB конвертор не се използва. Заредете кода по -долу във вашия Arduino и продължете:

void setup () {// поставете вашия код за настройка тук, за да стартирате веднъж:} void loop () {// поставете основния си код тук, за да се изпълнява многократно:}

Образ
Образ

ЗАБЕЛЕЖКА: Имайте предвид, когато прикрепяте щита за щит 3.3V към Arduino.

Използване на сериен TTL USB конвертор адаптер PL2303HX:

В допълнение към серийния USB конвертор PL2303HX TTL адаптер ще ви трябват следните елементи:

01 - ESP8266 ESP -12E UART Безжичен WIFI Shield TTL конвертор 04 - Мъжко -женски джъмперни кабели

Образ
Образ

ЗАБЕЛЕЖКА: PL2303 има захранване 5V и 3V3. Използвайте захранване 3V3 и игнорирайте 5V щифта

След като направите една от горните схеми за свързване, просто свържете USB кабела (към Arduino и компютъра) или серийния USB конвертор към компютъра.

След това отидете на „Контролен панел“в Windows, „Диспечер на устройства“и в прозореца, който се отваря, отидете на „Портове (COM и LPT)“. Можете да видите свързаното устройство и номера на COM порта, на който е разпределен. Като демонстрация, свързах Arduino и серийния USB конвертор на компютъра и на изображението по -долу можете да видите как устройствата се появяват в мениджъра:

Образ
Образ

Ако използвате PL2303HX и не се разпознава от Windows, влезте в публикацията Serial TTL USB Converter PL2303HX - Инсталиране в Windows 10, вижте как да го разрешите и след това се върнете, за да продължите.

Сега отидете в папката FLASH_DOWNLOAD_TOOLS_v2.4_150924 и стартирайте ESP_DOWNLOAD_TOOL_V2.4.exe:

Образ
Образ

На щита поставете контактите P3 и P4 на DIP превключвателя в положение ON и след това натиснете бутона ESP-RST на картата, така че щитът да влезе в режим на надграждане на фърмуера:

Образ
Образ

При отворена програма махнете отметката от опцията „SpiAutoSet“, изберете COM порта, изберете „BAUDRATE“115200, махнете отметката от всяко квадратче за отметка в „Download Path Config“, конфигурирайте другите опции, както е показано по -долу и щракнете върху „START“:

Образ
Образ

Ако комуникацията с ESP8266 WiFi Shield е ОК, ще видите информация в „ДЕТЕКТИРАНА ИНФОРМАЦИЯ“, „MAC адрес“и „СИНХРОНИЗИРАНЕ“:

Образ
Образ

ЗАБЕЛЕЖКА: Ако програмата връща „FAIL“, проверете дали сте избрали правилния COM порт, проверете дали бутоните P3 и P4 на DIP превключвателя са ВКЛЮЧЕНИ, щракнете върху бутона ESP-RST, щракнете върху STOP и отново щракнете върху START.

В „Конфигурация на път за изтегляне“трябва да изберете изтегления файл „Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin“. Щракнете върху „…“на първото поле и в отворения прозорец отидете до папката, в която сте поставили фърмуера, и изберете файла „Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin“. В полето „ADDR“попълнете отместването 0x00000 и поставете отметка в квадратчето, за да завършите. Когато приключите, ще имате настройките, както е показано по -долу:

Образ
Образ

Сега щракнете върху СТАРТ, за да започнете процеса:

ЗАБЕЛЕЖКА: Ако използвате серийния USB конвертор на Arduino като междинен елемент между щита и компютъра, щракнете върху бутона ESP-RST на щита, преди да щракнете върху СТАРТ. Ако използвате конвенционален сериен USB конвертор, тази процедура не е необходима

Образ
Образ

Изчакайте процесът на надстройка на фърмуера да приключи (процесът ще отнеме приблизително седем минути):

Образ
Образ

След приключване на процеса на надстройка на фърмуера, затворете прозорците ESP_DOWNLOAD_TOOL_V2.4, върнете контактите P3 и P4 на DIP превключвателя в позиция OFF и натиснете бутона ESP-RST на щита, за да може да излезе от режима за надстройка на фърмуера.

Сега отворете Arduino IDE, за да можете да изпращате AT команди на дъската, за да проверите дали фърмуерът е актуализиран правилно и дали платката реагира на командите.

С отворена IDE отидете в менюто „Инструменти“и след това в опцията „Порт“изберете COM порта. Забележете в изображението по -долу, че съм избрал COM7 порта (вашият порт вероятно ще бъде различен):

Образ
Образ

НЕ е необходимо да избирате дъската в IDE, тъй като това е без значение за изпращането на AT команди.

Отворете „Serial Monitor“и в долния колонтитул проверете дали скоростта е зададена на 115200 и дали е избрано „И двете, NL и CR“:

Образ
Образ

Сега въведете командата „AT“(без кавички) и дайте „ENTER“или щракнете върху „Изпрати“. Ако връзката работи, ще трябва да върнете съобщението „OK“:

Образ
Образ

ЗАБЕЛЕЖКА: Ако изпращането на командата НЕ получава обратна връзка или получава произволен символен низ, променете скоростта от 115200 на серийния монитор на 9600 и изпратете командата отново

В „Сериен монитор“въведете командата „AT + GMR“(без кавички) и дайте „ENTER“или щракнете върху „Изпрати“. Ако получите обратна връзка, както е показано по -долу, тогава вашият ESP8266 WiFi Shield е актуализиран успешно:

Образ
Образ

Ако искате да промените комуникационната скорост на предаване с щита 9600, въведете командата „AT + UART_DEF = 9600, 8, 1, 0, 0“(без кавички) и дайте „ENTER“или щракнете върху „Изпрати“. Ако получите информацията, както е показано по -долу, скоростта на комуникация се е променила:

Образ
Образ

ЗАБЕЛЕЖКА: Когато променяте скоростта на защита, трябва също да промените скоростта от 115200 на 9600 в долния колонтитул на монитора. След това изпратете отново командата „AT“(без кавички) и натиснете „ENTER“или щракнете върху „Изпращане“. Ако получите „OK“като връщане, тогава комуникацията работи

Ако искате да използвате щита, за да присвоите WiFi на Arduino, идеалната скорост на комуникация е 9600 бода.

В следващата стъпка ще разберете какъв щит имате, тъй като е възможно да намерите поне три щита на пазара, които изглеждат еднакви, но всъщност тези дъски имат някои точки, които ги различават, дори по въпроса за работа с Arduino чрез комуникация чрез родния сериал.

Стъпка 3: Shiald, Shield, More и Moer? Има ли значение?

Ако това е ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор, е възможно да се намерят поне три платки, които очевидно са еднакви, но всъщност тези платки имат някои точки, които ги различават, дори по въпроса за работа с Arduino чрез родна серийна комуникация.

Следващите можете да видите какво отличава дъските и да разберете коя е вашата.

Shiald WiFi ESP8266:

Образ
Образ

Обърнете внимание, че на тази дъска думата Shield е написана „Shiald“, а думата „more“има „m“с малки букви. В тестовете, които правих дълго време, платката НЕ показа никакви недостатъци във функционирането си.

Shield WiFi ESP8266:

Образ
Образ

Обърнете внимание, че на тази дъска думата Щит е написана правилно и думата „Още“има „М“с главни букви. Що се отнася до работата, тази платка се държи по същия начин като версията на Shiald, тоест платката не е дефектна.

Искате да кажете, че платките Shiald и Shield имат различия само по въпроса за коприната от печатни платки?

Да, тези две карти имат разлика само по отношение на писането на две думи. Веригата на двете платки е една и съща и двете работят перфектно с Arduino или самостоятелно (самостоятелен режим). Като се има предвид, че в Arduino е зареден правилният код и че един от щитовете също е с правилния фърмуер, след като прикрепите щита към Arduino и свържете USB кабела, просто поставете контактите P1 и P2 на DIP превключвателя в положение ON и ще се осъществи комуникацията чрез родния сериен (изводи D0 и D1) между платките.

Някои казват, че тази версия на Shiald има нестабилна безжична връзка, но аз твърдя, че изобщо няма нестабилност.

Shield WiFi ESP8266 (Moer):

Образ
Образ

Обърнете внимание, че на тази дъска думата Щит е написана правилно и думата „Още“е написана „Моер“, тоест грешна. За съжаление тази платка не работи както трябва и ако е свързана към Arduino (с контактите на DIP превключвателя OFF или ON) и потребителят се опитва да зареди код на Arduino, в IDE ще се появи съобщение за грешка като зареждането ще се провали.

Ако вашият щит е този, който е написан на моерски и сте имали проблеми с използването му с вашия Arduino чрез родна серийна комуникация, преминете към следващата стъпка и научете как да разрешите проблема. Ако вашият щит НЕ Е МОР, преминете към стъпка 5.

Стъпка 4: Shield Moer - Решаване на RX / TX серийна комуникация

Ако тази платка (Moer) е свързана с Arduino (с контактите на DIP превключвателя OFF или ON) и потребителят се опита да зареди код на Arduino, в IDE ще се появи съобщение за грешка, тъй като зареждането няма да успее. Това се дължи на грешка на компонента, използвана при изграждането на щит.

Щитът, който има правилна конструкция и експлоатация, е заварил два MOSFET канала N и е идентифициран като J1Y. Един от транзисторите J1Y е свързан към ESP8266 RX, а другият е свързан към ESP8266 TX. На изображението по -долу можете да видите двата транзистора, подчертани:

Образ
Образ

Този транзистор J1Y е BSS138, чиято цел е да даде възможност на схемите на 5V логическо ниво да комуникират с 3.3V вериги на логическо ниво и обратно. Тъй като ESP8266 има логическо ниво от 3.3V, а Arduino има логическо ниво от 5V, е необходимо да се използва преобразувател на логическо ниво, за да се осигури перфектната работа на ESP8266.

В щита Moer има споени на платката два транзистора, идентифицирани като J3Y. На изображението по -долу можете да видите двата транзистора, подчертани:

Образ
Образ

Транзисторът J3Y е S8050 NPN и този тип транзистор обикновено се използва в усилвателни схеми. По някаква причина по време на изграждането на щита Moer те използваха транзистора J3Y вместо преобразувателя на логическо ниво J1Y.

По този начин RX и TX пиновете на ESP8266 няма да работят както трябва и следователно щитът няма да има серийна комуникация с Arduino. Тъй като щитът комуникира с Arduino чрез родния сериен (пинове D0 и D1), той заедно с кода на Arduino зареждането (в Arduino) никога няма да бъде завършен успешно, защото в някои случаи винаги ще има приблизително 2,8 V в RX и Arduino TX или постоянен 0V, всичко поради грешни транзистори.

След цялата тази информация е ясно, че единственото решение за щита Moer, е подмяната на J3Y транзистори с J1Y транзистори. За тази процедура ще ви трябва в допълнение към щита на търпението на Moer и:

01 - поялник01 - калай01 - щипци или иглени клещи01 - заваръчен смукач02 - BSS138 (J1Y)

Транзисторът BSS138 (J1Y) се използва в 3.3V / 5V преобразувател на логическо ниво.

ЗАБЕЛЕЖКА: Следната процедура изисква да знаете как да боравите с поялник и да имате най -малко опит в заваряването. Компонентите, които ще бъдат премахнати, и тези, които ще бъдат заменени, са SMD компоненти и изискват по -големи грижи и търпение при заваряване с обикновен поялник. Внимавайте да не оставяте поялника твърде дълго на клемите на транзистора, тъй като това може да ги повреди

С горещия поялник загрейте един от терминалните терминали и сложете малко калай. Изпълнете тази процедура за всеки от изводите на двата транзистора. Излишното заваряване на клемите ще улесни премахването на транзисторите:

Образ
Образ

Сега вземете пинсетите / клещите, задръжте транзистора отстрани, загрейте страната на транзистора, който има само един извод, и принудете транзистора нагоре, така че клемата да се разхлаби от спойката. Все още с пинсети / клещи, които държат транзистора, опитайте да поставите върха на поялника срещу другите два извода и принудете транзистора нагоре да завърши освобождаването му от платката. Направете това и за двата транзистора и бъдете много внимателни:

Образ
Образ

Отстранихте двете микросхеми J3Y от щита, просто поставете J1Y IC на място, задръжте го с пинсети / клещи и загрейте всеки край на щита, така че калайът да се присъедини към контакта. Ако контактите са с ниска спойка, загрейте всеки от тях и поставете още калай. Направете това и за двата транзистора и бъдете много внимателни:

Образ
Образ

След ремонта неговият щит, който преди това нямаше пряка комуникация с Arduino, започна да има връзка с платката чрез родния сериен (пинове D0 и D1).

Първият тест за потвърждаване на успеха на ремонта е да прикрепите щита (с изключени всички контакти на DIP превключвателя) към Arduino, да свържете USB кабела към платката и компютъра и да опитате да заредите код в Arduino. Ако всичко е наред, кодът ще се зареди успешно.

Стъпка 5: Уеб сървър с ESP8266 ESP-12E UART безжичен WIFI Shield TTL конвертор за Arduino

Като основно изискване за продължаване на тази стъпка е трябвало да изпълните стъпка 2.

Както споменах по -рано, за да се използва щитът с Arduino през родния сериен (пинове D0 и D1), е необходимо кодът да бъде зареден в щита и Arduino да бъде зареден с друг код, за да изпраща, получава и интерпретира данни, предавани чрез родния сериал. В щита можем да поставим фърмуер на AT команди и да програмираме Arduino да изпраща командите към щита, за да се свърже с WiFi мрежа и да контролира входовете и изходите на Arduino.

В тази стъпка ще използваме библиотеката WiFiESP, тъй като тя вече има всички необходими функции за интегриране на ESP8266 (Shield WiFi ESP8266 в нашия случай) към Arduino и присвояване на WiFi на платката. Библиотеката WiFiESP работи чрез изпращане на AT команди, след това безжичната мрежова връзка на рутера и всяко искане, отправено към уеб сървъра, ще доведе до изпращане на AT команди към щита.

За да работи библиотеката WiFiESP, версията на фърмуера на командата AT трябва да бъде поне 0,25 или по -висока. Така че, ако не знаете AT командната версия на вашия щит, преминете към стъпка 2, за да актуализирате платката с фърмуер, който има версия на AT команда от 1.2.0.0 и след това се върнете, за да продължите.

Едно нещо, което идентифицирах по време на моите тестове с щита и Arduino, е, че тъй като комуникацията между тях се осъществява чрез родния сериал (пинове D0 и D1), се налага сериалът да бъде изключително използван за комуникацията между тях. Затова не препоръчвам използването на „Serial.print () / Serial.println ()“за отпечатване на информация на серийния монитор на Arduino IDE или друга програма, която показва серийна информация.

По подразбиране библиотеката WiFiESP е конфигурирана да показва серийни грешки, предупреждения и друга комуникационна информация между Arduino и ESP8266. Както споменах по -рано, сериалът трябва да бъде пуснат за комуникация между Arduino и щита. Затова редактирах файл от библиотеката и забраних показването на цялата информация в поредицата. Единствената информация, която ще се показва на серийния монитор, са командите AT, които библиотеката изпраща към щита, за да се свърже с безжичната мрежа, или командите AT за изпълнение на заявки, отправени към уеб сървъра.

Изтеглете модифицираната библиотека на WiFIESP и я инсталирайте в Arduino IDE:

WiFIESP Mod

В инсталационната папка на библиотеката просто влезте в пътя „WiFiEsp-master / src / utility“и вътре в него има файлът „debug.h“, който е редактиран, за да деактивира показването на информация на сериала. Отваряйки файла в Notepad ++, например, имаме редове 25, 26, 27, 28 и 29, които показват съответна номерация за типовете информация, която ще се показва на серийния монитор. Обърнете внимание, че числото 0 забранява показването на цялата информация на серийния монитор. И накрая, в ред 32 конфигурирах „_ESPLOGLEVEL_“със стойност 0:

Образ
Образ

Ако искате да използвате библиотеката WiFiESP в други проекти с ESP8266 и имате нужда информацията да се показва на серийния монитор, просто задайте „_ESPLOGLEVEL_“на стойност 3 (стойността по подразбиране на библиотеката) и запишете файла.

Тъй като вашият щит вече има версия на фърмуера на AT команда 0,25 или по -нова, нека продължим.

Прикрепете щита към вашия Arduino (Uno, Mega, Leonardo или друга версия, която позволява да се прикрепи щита), поставете всички контакти на DIP превключвателя в положение OFF, свържете светодиод между щифт 13 и GND и свържете USB кабела към Arduino и компютърът:

Образ
Образ

Използвах Arduino Mega 2560, но крайният резултат ще бъде същият, ако използвате друга платка Arduino, която позволява свързването на щита.

Изтеглете кода от връзката и го отворете в Arduino IDE:

Код уеб сървър

Ако използвате Arduino Leonardo, преминете към редове 19 и 20 от кода и променете думата Serial на Serial1, както е показано на изображението по -долу:

Образ
Образ

В кода трябва да въведете името на вашата WiFi мрежа в реда char * ssid = "ИМЕ НА ВАШАТА WIFI МРЕЖА";, паролата трябва да се въведе в реда char * password = "ПАРОЛ НА ВАШАТА WIFI МРЕЖА"; и на линията WiFi.config (IPAddress … трябва да въведете наличен IP адрес във вашата безжична мрежа, тъй като този код използва статичен IP:

Образ
Образ

В менюто „Инструменти“изберете „Board“и изберете модела на вашия Arduino. Все още в менюто "Инструменти" изберете опцията "Порт" и проверете COM порта, в който е разпределен вашият Arduino.

Щракнете върху бутона, за да изпратите кода до Arduino и изчакайте зареждането.

След като заредите кода на Arduino, изключете USB кабела от картата, поставете контактите P1 и P2 на DIP превключвателя на щита в положение ON и отново свържете USB кабела към Arduino.

ЗАБЕЛЕЖКА: Докато контактите на P1 и P2 на щита са в положение ON, няма да можете да изпращате кодове към Arduino, защото родният сериал ще бъде зает. Запомнете всеки път, когато променяте позицията на DIP превключвателите на превключвателя, натискайте бутона ESP-RST

Незабавно отворете серийния монитор на Arduino IDE:

Образ
Образ

При отворен сериен монитор можете да следвате AT командите, които се изпращат към щита, за да стартирате уеб сървъра. Ако при отваряне на серийния монитор не се показва информация, натиснете бутона RESET на вашия Arduino и изчакайте.

Обърнете внимание, че на серийния монитор командата "AT + CIPSTA_CUR" показва IP адреса за свързване с уеб сървъра, а командата "AT + CWJAP_CUR" показва името и паролата на безжичната мрежа, в която е свързан щитът:

Образ
Образ

Копирайте IP адреса, показан на серийния монитор, отворете интернет браузъра си, поставете IP адреса и натиснете ENTER за достъп. Ще се зареди уеб страница, подобна на тази по -долу:

Образ
Образ

Уеб страницата има бутон, който ще отговаря за включване / изключване на светодиода, свързан към щифт 13 на Arduino. Натиснете бутона, за да включите / изключите светодиода и да видите, че текущото състояние е актуализирано на страницата.

Можете също така да получите достъп до уеб страницата например чрез смартфон или таблет.

Вижте видеото по -долу за крайния резултат:

Това беше проста практика, защото целта беше да се покаже колко лесно е да се използва щитът с Arduino. Всички проекти, които намирате в интернет, които използват ESP8266 за присвояване на WiFi към Arduino, могат да бъдат възпроизведени с този WiFi щит, разликата е, че няма да е необходимо да монтирате делители на напрежение в протоборда за комуникация на платформи и в прости проекти, няма да се притеснявате за захранването на веригата с външно захранване. Освен това вашият проект ще има много по -приятна естетика.

Сега, когато знаете как да интегрирате Shield WiFi ESP8266 с Arduino от уеб сървър, просто променете кода и внедрете по -сложен проект или започнете да разработвате свой собствен код.

Още веднъж съжалявам за грешките на английски език.

Ако имате въпроси относно щита, просто попитайте и ще се радвам да отговоря.

Препоръчано: