- Tutorial
И снова привет geektimes. Этот материал является продолжением моей предыдущей статьи — ESP8266 и Arduino, подключение, распиновка, и, должен сказать, что они взаимосвязаны. Я не буду затрагивать темы, которые уже раскрыты. А сегодня, я поведаю, как же программировать ESP8266 при помощи Arduino IDE, так же прошивать другие прошивки, например NodeMcu… Вообщем, этот материал не ограничивается только одной темой Ардуино.

http://arduino.esp8266.com/stable/package_esp8266com_index.json
Данную ссылку я взял на странице проекта Arduino core for ESP8266 WiFi chip. Потом идём Инструменты/Плата:/Менеджер плат…:
// By MrПоделкинЦ youtube.com/RazniePodelki // special to geektimes.ru/post/271754/ #define TXD 1 // GPIO1/TXD01 void setup() { pinMode(TXD, OUTPUT); } void loop() { digitalWrite(TXD, HIGH); delay(1000); digitalWrite(TXD, LOW); delay(1000); }
Замигал? Значит всё сделано правильно. Откуда я взял что светодиод подключен на первый пин? В предыдущей статье есть картинка с распиновкой разных модулей, и там есть разметка портов, при использовании загрузчика Arduino(пины отмечены розовым цветом). Мигание светодиодом это конечно хорошо, но надо бы какой-то веб-сервер заделать или начать управлять светодиодом хотя бы при помощи кнопок в браузере, не так ли? Но об этом я расскажу уже как-нибудь в другой раз. А теперь как прошить назад родную прошивку, да и как вообще прошивать модуль сторонними загрузчиками. Для ESP8266 есть такая программа как NodeMCU Flasher, которая изначально предназначена для прошивки загрузчика NodeMCU. Но как оказалось, она отлично прошивает и другие прошивки. Я прикреплю к статье архив с данной программой и прошивкой для удобства, но тут всегда можно скачать новую версию NodeMCU Flasher. В папке «nodemcu-flasher-master» есть 2 папки Win64 и Win32 и в зависимости от того какая разрядность у вашей ОС выбираем нужную. Дальше в папке Release запускаем «ESP8266Flasher.exe» и видим интерфейс программы: Выбираем нужный COM порт и идём во вкладку «Config», убираем хрестик около «INTERNAL://NODEMCU» и ставим его на один пункт ниже, как на скрине: (Если захотите прошить загрузчик NodeMCU — убираете хрестик там где его не было, и ставите — где он был, то есть около «INTERNAL://NODEMCU»). Потом жмём по шестеренке и выбираем где лежит наша прошивка, прошивка как правило в формате *.bin(в прикреплённом архиве это «v0.9.5.2 AT Firmware.bin» которая лежит в основной папке), и так же выбираем «0x00000» как и выше. Дальше идём во вкладку «Advanced» и меняем там скорость на 115200, именно эта скорость будет основная и модуль будет отзываться по ней на AT-команды в случае соответствующей прошивки. Возвращаемся опять на вкладку «Operation» переводим модуль в режим программирования и жмём «Flash»: Всё, модуль начал прошиваться, после перепрошивки не забываем перезагрузить модуль и вуаля, он прошит нужной нам прошивкой. Проверяем AT-командой «AT+GMR» сделали ли мы всё верно: Как видите всё нормально прошилось. Ссылки:Архив с NodeMCU Flasher, прошивкой и кодом для Arduino IDE;ESP8266 и Arduino, подключение, распиновка;Свежая версия Arduino IDE всегда лежит тут;NodeMCU Flasher;Русскоязычное сообщество по ESP8266;Много разных прошивок к ESP8266;Все мои публикации на geektimes. By Сергей ПоделкинЦ ака MrПоделкинЦ.P.S.Уже на подходе плата на базе esp32:http://www.pighixxx.com/test/2015/12/esp32-pinout/ Которая значительно круче чем esp8266, так что нас скоро ждёт бум, как мне кажется, темы IoT(интернет вещей).
NodeMCU — это прошивка, которая позволяет запрограммировать ESP8266 модуль lua скриптом.
По работе модуль очень схож с платой Ардуино. С помощью всего нескольких строк кода вы можете установить WiFi-соединение, управлять с esp8266 контроллером, превращая ваш esp8266 в веб-сервер, умную лампочку, умную розетку и многое другое.
Схема и подключение программатора (3.3V FTDI) к ESP8266
Распиновка ESP8266:
Отдельно приводим соединения в таблице:
| ESP8266 | FTDI |
|---|---|
| RX | TX |
| TX | RX |
| CH_PD | 3.3V |
| GPIO 0 | GND |
| VCC | 3.3V |
| GND | GND |
Схема соединений примерно будет выглядеть так:
После подключения вашей платы к компьютеру, вам необходимо скачать программу для прошивки NodeMCU. Скачать Node MCU Flasher для Windows можно по следующим ссылкам:
После загрузки файла, запустите его, у вас появится окно, как на картинке ниже, во вкладке com port, необходимо выбрать порт, на котором будет подключен ваш ESP8266.
На вкладке Config, выберите файл прошивки, которую можно скачать по ссылке ниже. После того как вы выберете прошивку, нажмите Flash, дождитесь окончания загрузки прошивки и всё готово.
Скачать прошивку 0.9.6_2015070
Последнюю версию прошивки можно взять на гитхабе.
Доброго всем времени суток. Вчера мне пришел девборд NodeMCU v3 с 4мб флеш памяти от китайского продавана (ссылка будет в конце поста). Предустановленный на данный девборд интерпретатор LUA меня совсем не устраивал и я решил поставить интерпретатор JS Espruino.
Сначала пройдемся немного по характеристикам самого NodeMcu v3.
поддержка WiFi протоколов 802.11 b/g/n
Wi-Fi Direct (P2P), soft-AP
встроенный стек TCP/IP
встроенный TR переключатель, balun, LNA, усилитель мощности и соответствие сети
встроенный PLL, регуляторы, и система управления питанием
выходная мощность +20.5 дБм в режиме 802.11b
поддержка диверсити антенн
SDIO 2.0, SPI, UART
STBC, 1Г—1 MIMO, 2Г—1 MIMO
A-MPDU & A-MSDU aggregation & 0.4Ојs guard interval
4 мегабайта Flash памяти
пробуждение и отправка пакетов за время до 22 мс
Номинальное напряжение: 3,3 В
Входное напряжение: 3,7–20 В
Максимальный потребляемый ток: 220 мА
Модуль имеет 11 портов ввода-вывода общего назначения.
Некоторые из портов имеют дополнительные функции:
D9, D10 — UART
D1, D2 — IВІC/TWI
D5–D8 — SPI
D1–D10 — выходы с ШИМ (PWM)
A0 — аналоговый вход с АЦП
Размеры платы 58х32мм.
А теперь перейдем к черной магии, т.е. к прошивке Espruino.
Для начала нам понадобится установить несколько полезных программ на наш компьютер.
Git — https://git-scm.com/download/win/
Python 2.7 — https://www.python.org/downloads/windows/
При установке Python не забудьте поставить галочку «Add python.exe to PATH»
Поискать свежую прошивку под нашу ESP8266 в ветке форума от юзера с ником tve — http://forum.espruino.com/conversations/279176/ (на данный момент самая свежая это 1v86 прошивка).
Советую положить распакованную папку с прошивкой на рабочий стол и переименовать ее например в espruino.
Подготовительная работа закончена. Начинаем работать с терминалом (при условии что Git и Питон вы уже установили). Все команды для терминала под Windows.
> cd desktop
> git clone https://github.com/pyserial/pyserial
> cd pyserial
> python setup.py install
Этими командами мы перейдем на рабочий стол и клонируем репозиторий pyserial на него. Потом переходим в папку pyserial и запускаем сетап.
> cd ../
> git clone https://github.com/themadinventor/esptool
> cd esptool
> python setup.py install
Качаем esptool на рабочий стол, заходим и запускаем сетап.
Далее заходим в Диспетчер устройств и находим на каком COM порте у нас висит устройство. В моем случае это COM5.
Порт мы узнали значит пришло время прошить девборд.
Заходим в папку с прошивкой из терминала
> cd espruino
И прежде чем шить очистим флеш память устройства от старой прошивки. И затем уже прошить!
> python «../esptool/esptool.py» —port COM5 erase_flash
> python «../esptool/esptool.py» —port COM5 —baud 115200 write_flash —flash_freq 80m —flash_mode qio —flash_size 32m 0x0000 boot_v1.5.bin 0x1000 espruino_esp8266_user1.bin 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin
Не забудьте указать свой ком порт для устройства и версию бутлоадера из папки с прошивкой (в данном случае boot_v1.5.bin)!!!
После последней команды консоль будет некоторое время работать (если все правильно конечно) и отвечать примерно следующее:
Connecting…
Erasing flash…
Wrote 3072 bytes at 0x00000000 in 0.3 seconds (79.8 kbit/s)…
Erasing flash…
Wrote 438272 bytes at 0x00001000 in 43.4 seconds (80.7 kbit/s)…
Erasing flash…
Wrote 1024 bytes at 0x003fc000 in 0.1 seconds (83.6 kbit/s)…
Erasing flash…
Wrote 4096 bytes at 0x003fe000 in 0.4 seconds (83.4 kbit/s)…
Leaving…
Если все так то у вас прошит интерпретатор JS! Поздравляю! Можно запилить первый скетч.
Для этого нам понадобится Espruino Web IDE для Хрома — https://chrome.google.com/webstore/detail/espruino-web-ide/b…
Открываем IDE и коннектимся к нашему девборду.
Пишем простенький блинк в правой части IDE.
var on = false;
setInterval(function() {
digitalWrite(D2,on = !on);
}, 500);
И прошиваем все это дело в энергозависимую память.
Если все сделано правильно то светодиод синего цвета на плате будет включаться/выключаться с периодичностью раз в 500мс.
Gifx
Более подробно ознакомится с интерпретатором можно тут — http://www.espruino.com/Reference
C самим языком и правилами хорошего тона можно познакомиться на старом добром ресурсе — http://javascript.ru/
А купить NodeMCU v3 всего за 2.8$ можно по этой ссылке — http://ru.aliexpress.com/item/V3-Wireless-module-NodeMcu-4M-…
Всем удачных компиляций и быстрых доставок с али!
З.Ы. Будет комплект постов про этот девайс и сборку одного подарка на его основе.
Подписывайтесь на «Сообщество Arduino» на Пикабу. Вас ждет масса интересной, полезной и познавательной информации. http://pikabu.ru/community/arduino
70Используемые источники:
- https://habr.com/post/371853/
- https://arduinoplus.ru/proshivka-nodemcu-esp8266/
- story/esp8266_na_devborde_nodemcu_v3_i_proshivka_interpretatora_js_espruino_4353965
Подключение и настройка WiFi модуля ESP8266-01
ESP8266 и Arduino, подключение, распиновка
Настройка программного обеспечения ESP8266 в Arduino IDE
ESP8266 прошивка, программирование в Arduino IDE
WiFi ESP8266 в проектах Arduino
ESP8266 на девборде NodeMCU v3 и прошивка интерпретатора JS Espruino.
Где скачать библиотеку Esp8266 lib h для своих проектов?