ПредишенСледващото

ESP8266 - евтин, но много полезен модул, който е свързан към микроконтролера чрез UART интерфейс и добавя -връзките WiFi функция.

връзка

Във връзка ESP8266 не е голяма работа, но има две важни точки, свързани с храненето:

  • ESP8266 модул изисква 3.3 волта. Не го хранят 5 волта - това ще доведе до свръх-напрежение!
  • ESP8266 модул не разполага с контактите, които са устойчиви на 5 волта. и за серийна комуникация използва 3.3 волта. Ето защо, за комуникация с 5 -voltovymi микроконтролери като Arduino нужда конвертор волта логика.

Въпреки това, ако се почувствате жажда да експериментират и да не се страхуват да развалят ESP8266. второто изискване, може да се пренебрегне. Но бъдете готови за непредвидени последствия! :)

ESP8266 Pinout е както следва:

Esp8266 модули

Ако се свързвате към храната ESP8266, се оказва, червени и сини вълни (тя е отговорна за серийни комуникационни) светодиоди.

Свързване с борда Serial-USB (безопасно)

Ако имате 3.3 -voltovaya борда Serial-USB (от FTDI), а след това тя може да бъде лесен за използване с ESP8266. без страх от нищо, за да развалят или повреда. Но имайте предвид, че на много дъски FTDI спойка скачач преобразува 3.3 волта до 5 волта. Така че се уверете, че вашата карта се конфигурира точно 3,3 волта.

За да зададете серийна комуникация между борда и модула FTDI ESP8266. те трябва да се свързват помежду си, както следва:

Esp8266 модули

Свързване с Ардуино Uno R3 (бързо, но не много сигурен)

Не се препоръчва. Можете да развалят всеки Arduino. нито ESP8266.

Защо се използва Arduino с ESP8266 - лоша идея:

  • ESP8266 входните клеми на модула не са устойчиви на 5 волта - това може да повреди на модула
  • Модул ESP8266. може би, тя ще дръпне повече ток, отколкото може да осигури 3.3 -voltovy Arduino контролер на - това може да повреди Arduino
  • Ако напрежението е над 3.3 волта, ESP8266 модул. То може да бъде нестабилна и непредсказуема - това може да увреди вашето психическо здраве: D

Този метод има обаче и едно очевидно предимство:

  • Ако вече имате Arduino UNO R3. след това за по-нататъшна работа с ESP8266 изисква минимум от допълнително конфигуриране. Също така, лично аз имам, в повечето случаи тя работи добре.

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

  • Изтегляне на Arduino «празен" скица, която не използва серийната връзка. Например, една скица «BareMinimum» - за да я отворите, кликнете върху IDE Arduino File> Примери> 01.Basics> BareMinimum (File> Примери> 01.Basics> BareMinimum)
  • Извадете микроконтролер Ардуино (но само ако е в DIP пакет, ако тя е прикрепена към повърхността на печатната платка монтиране otpaivat тогава не е необходимо)

За да зададете серийна комуникация между Ардуино и модул ESP8266. те трябва да се свързват помежду си, както следва:

Esp8266 модули

Сериен комуникация

Сега, когато серийна комуникация е конфигуриран с WiFi-модул може да се управлява чрез терминал (например, чрез порт монитор IDE Arduino).

Използване на порта за монитор IDE Arduino

На първо място, за да "диалог" с ESP8266, можете да използвате порт монитор, вграден IDE Arduino.

  1. Свържете WiFi модул към компютъра
  2. Кликнете в IDE Arduino на Tools> Port (Инструменти> порт). за да изберете порт, който е свързан към WiFi модул
  3. Отворете порта за монитор. Това може да стане по 3 начина. Първо - кликнете в IDE Arduino на Tools> Port Monitor (Tools> Serial Monitor); Втората - натиснете горещи клавиши Ctrl + Shift + M ⇧; Третият - кликнете върху бутона с лупата, която е в горния десен ъгъл на IDE за Arduino
  4. Ако ESP8266. към която по подразбиране "на фърмуера на (001609901), а след това в падащото меню в долния десен ъгъл на порта за монитор, изберете" Carriage Return »(« връщане на каретката »). Ако имате най-новата версия на фърмуера, изберете меню «NL елемента CR »(« И двете NL CR »)
  5. В долния десен ъгъл на порта за монитор, има и друг меню, което се задава скорост на данните. Ако използвате фърмуера кредитно неизпълнение, го настроите да се "115200". и ако най-новия фърмуер или модифициран фърмуер, на "9600"

Това е всичко, монитор на порта е готов да изпраща команди!

Използване на помощната програма GNU екран

Ако ESP8266 е по подразбиране инсталирана версия на фърмуера (00160901), която е в очакване на тази линия и ще приключи едва с характер на връщане ( «\ R"), на ГНУ екран може да се използва без допълнителна конфигурация. Ето, например, на OS X. Сега можете да въведете следната команда:

екран / сътрудничество / tty.usbserial-AB12345 115200

За съжаление, най-новите версии на фърмуера ESP8266 изисква низ завършва с не само символ за нов ред ( «\ R»), но също така и от нов ред ( «\ н»). Но за да се създаде екрана команда, така че тя изпраща двамата герои с натискането на един бутон, във всички, може да не се появи. Необходимо е да натиснете ↵ Въведете или Ctrl + M. и след това Ctrl + J.

Поради това е възможно да се работи с по-нови версии на фърмуера е по-подходящи комунални услуги като Миником или picocom.

Това е всичко, можете да изпратите първия си отбор!

първият отбор

  • Уверете се, че командите AT се изпращат, ако е необходимо (AT команди се появи за безчувствено, но останалата част от тях - да.). За да направите това, въведете в терминал:

Отговорът трябва да бъде:

Ако не получите отговор, проверете следното:

  1. Всичко е свързано правилно (синя LED ще мига на дъската). Опитайте се да сменяте линии RX и TX.
  2. Дали правилния курс на данни. За defoltnoy ESP8266 EEPROM (00160901) тя трябва да бъде 115 200.
  3. Правилни са герои в края на линията. За неизпълнение на фърмуера ESP8266 само за връщане ( «\ R»)
  • Проверете дали ESP8266 е в нормално състояние, като напишете командата за нулиране:

Отговорът трябва да бъде:

нулиране WDT
натоварване 0x40100000, LEN 24444. стая 16
опашка 12
chksum 0xe0
хо 12 0 опашка стая 4
натоварване 0x3ffe8000, LEN 3168. стая 12
опашка 4
chksum 0x93
натоварване 0x3ffe8c60, LEN 4956. стая 4
опашка 8
chksum 0xbd
csum 0xbd

Или нещо подобно. Най-важната част - думата готов. Намира се на последния ред.

  • Проверете версията на фърмуера, като напишете следното:

Ако ESP8266 инсталира фърмуер подразбиране ", отговорът ще бъде:

  • Регулирайте ESP8266, така че той е работил както в режим на готовност станция и точка за достъп:

Как да конфигурирате ESP8266 в режим на точка за достъп

ESP8266 модул може не само да се свърже с точките за достъп, но и самата тя да бъде точка за достъп. Това означава, че можете да свържете устройството към ESP8266 без никакви кабели. Това е чудесно, например, за да се създаде местна частна «капка кутия».

  • Модулът вече е в ход в точка предварително определен достъп (име на мрежата ще бъде «ESP_.» Но можете да изберете и собствени данни .:

AT + CWSAP = "NoWorriESSID". "Password". 3. 0

Първият вариант - това е SSID. Второ - това е паролата на SSID. третият - номера на канала, а четвъртата - от типа на криптиране. Цифрата "0" в този случай означава, че криптирането е забранено, както и паролата ще бъдат игнорирани, но все пак не трябва да се счита за невалидно. Аз, обаче, никога не е бил в състояние да изберете криптиране (аз винаги се създаде мрежа некриптиран), но може да бъде щастлив с мен.

  • За да се създаде мрежа, трябва да настроите Режимът на WiFi модул или "АП" ( "2", което означава "точка за достъп") или в «Както» ( «3», което означава "АП + Клиента").

Отговорът трябва да даде приблизително следното:

192.168.4.100, # 91. # 93;

актуализация на фърмуера

Препоръчвам сваляне на някой от тези версии:

  • ESP8266_flasher_V00170901_00_Cloud Актуализация Ready.zi р
  • ESP8266_AT_V00180902_02_baudrate пазител added.zip

Обърнете внимание на числата в версиите. Номерът на версията 00160901 се състои от две части: "0016" - версия на SDK. и "0901" - версия на АТ -commands.

Инструменти за актуализации на фърмуера

Обновяване на фърмуера, можете да използвате различни инструменти, но в тази статия ще използвам esptool - това е помощна програма за различни платформи с GPL.

За да я изтеглите като Python -script, натиснете тук.

Връзка и обновяване на фърмуера

На първо място, да се актуализира фърмуера ESP8266. той трябва да бъде преведен в режим на фърмуера изтегляне. За да направите това, изпълнете следните стъпки:

  • Изключете компютъра от ESP8266
  • Свързване на 0-ия GPIO-контакта за "земя" (0 волта). да активирате режима на изтегляне на фърмуера
  • Свържете устройството към компютъра

Сега ESP8266 трябва да бъде в режим на фърмуера изтегляне.

Esp8266 модули

Забележка: Документацията за esptool написано, че "втората GPIO-контакт, трябва да се настрои на HIGH». но моят опит показва, че това не е необходимо.

За да извършите актуализация на фърмуера, поставете тук команда в терминал ( «* .bin» файлов формат - файл от архива «ESP8266_AT_V00180902_02_baudrate пазител added.zip задачите»):

питон esptool.py --port / сътрудничество / tty.usbserial-ABC12345 write_flash 0x000000 "v0.9.2.2 AT Firmware.bin"

По време на актуализация на фърмуера на терминала трябва да се появи съобщение, информирани как процеса на актуализация:

Свързване.
Изтриване на флаш.
Пишейки в 0x0007ec00. # 40; 100% # 41;

Ако използвате порта за монитор IDE Arduino. и имате проблеми с връзката, не се опитвайте да се актуализира на монитора с отворен порт (дори не ме питай как съм разбрал за него.).

Когато актуализацията завърши, направете следното:

  1. Изключете компютъра от ESP8266
  2. Прекъсване освен 0th GPIO контакт и заземяване контакт
  3. Свържете ESP8266 на вашия компютър

Готово! Сега, ако се прави правилно, фърмуера трябва да бъде инсталиран и готов за употреба.

  • Сега, когато стартирате изходните компоненти на модула ще се държат по различен
  • Сега скоростта на данните в модула по подразбиране е 9600
  • Модулът е сега в очакване на всеки ред ще завърши с нов ред и нов ред
  • някои бъгове са поправени и добавени нови в командния

Arduino и ESP8266

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

SDK за обичай фърмуер и ESP8266

За SoC Controller (от «система на чип"; това означава "система върху чип"), модулът WiFi има официално ESP8266 на SDK (от «софтуер комплект развитие», това означава "комплект за разработка на софтуер"). С този SDK, можете да добавите фърмуер контролиран AT-команди. нови функции или дори да създадете свой собствен фърмуер.

Ето няколко примера за обичай фърмуер.

Този фърмуер се основава на LUA език за WiFi модул ESP8266. Нейният -repozitory GitHub тук. Отличен избор за тези, които са само началото да се работи с ESP8266.

За да изтеглите NodeMCU инсталационния пакет. въведете следното:

Wget HTTPS: // github.com / nodemcu / nodemcu-фърмуер / сурово / майстор / 0.9.2 / 512K-Flas ч / nodemcu_512k.bin

За да запишете на NodeMCU ESP8266. въведете следното:

питон esptool.py --port / сътрудничество / tty.usbserial-ABC123456 write_flash 0x000000 nodemcu_512k.bin

За да се свържете с модула.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!