Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Начала работы с NodeMCU. Прошивка. — CodeDevice

Опубликовано bondrogeen

После того как мы собрали свою прошивку, теперь нужно ее прошить в наше устройство, для этого воспользуемся программой NodeMCU-flasher.


Программку можно скачать c гита по адресу или с архива ниже.  Она не требует установки, достаточно скачать и запустить. После запуска программы переходим во вкладку «Config«, в первой строке нажимаем на иконку в виде шестеренки и указываем путь к прошивке NodeMCU. Стартовый адрес указываем 0x00000.


 Во вкладке «Advanced» устанавливаем скорость (Baundrate) 115200 и выбираем размер флеш (Flash size), в моем случае это модуль ESP-12  и ее размер составляет 4МБ. Остальное оставляем без изменений.


Далее переходим во вкладку «Operation»  выставляем com-port нашего модуля. В моем случае это COM30. Переводим модуль в режим прошивки, нужно подать GPIO0 лог. 0 (подключить к  минусу), если у вас плата NodeMCU или Wemos, то этого делать не нужно. Нажимаем на кнопку «Flash(F)» если сделали все верно, то начнется процесс прошивки.


Если процесс завершится удачно, то мы увидим такую картину. Закрываем программу и перезагружаем модуль.


При обновлении прошивке NodeMCU смены SDK или при переходе с других прошивок на NodeMCU, могут возникнуть проблемы. Модуль перестает определяться или постоянно посылает какой-то мусор в порт (мигая постоянно светодиодом). Для решении этой проблемы, нужно прошить файл 

esp_init_data_default.bin по адресу согласно размеру установленной флеш памяти в модуле.

  • 0x7c000 for 512 kB, modules like most ESP-01, -03, -07 etc.
  • 0xfc000 for 1 MB, modules like ESP8285, PSF-A85, some ESP-01, -03 etc.
  • 0x1fc000 for 2 MB
  • 0x3fc000 for 4 MB, modules like ESP-12E, NodeMCU devkit 1.0, WeMos D1 mini
  • 0x7fc000 for 8 MB
  • 0xffc000 for 16 MB, modules like WeMos D1 mini pro

Далее перезагружаем модуль и ждем пока произойдет форматирование файловой системы (~1 мин.)

Файлы.

codedevice.ru

Начало работы с платой NodeMcu ESP8266 v3 Lua

NodeMcu – платформа на основе ESP8266 для создания различных устройств интернета вещей (IoT). Модуль умеет отправлять и получать информацию в локальную сеть либо в интернет при помощи Wi-Fi. Недорогой модуль часто используется для создания систем умного дома или роботов Arduino, управляемых на расстоянии. В этой статье мы рассмотрим описание платы, отличие версий и распиновку последней версии модуля

Esp8266 NodeMcu v3. Также мы коротко рассмотрим язык Lua, на котором нужно писать программы для NodeMcu.

Описание ESP8266 NodeMcu v3

Технические характеристики модуля:

  • Поддерживает Wi-Fi протокол 802.11 b/g/n;
  • Поддерживаемые режимы Wi-Fi – точка доступа, клиент;
  • Входное напряжение 3,7В – 20 В;
  • Рабочее напряжение 3В-3,6В;
  • Максимальный ток 220мА;
  • Встроенный стек TCP/IP;
  • Диапазон рабочих температур от -40С до 125С;
  • 80 МГц, 32-битный процессор;
  • Время пробуждения и отправки пакетов 22мс;
  • Встроенные TR переключатель и PLL;
  • Наличие усилителей мощности, регуляторов, систем управления питанием.

Существует несколько поколений плат NodeMcu – V1(версия 0.9), V2(версия 1.0) и V3 (версия 1.0). Обозначения V1, V2, V3 используются при продаже в интернет-магазинах. Нередко происходит путаница в платах – например, V3 внешне идентична V2. Также все платы работают по принципу open-source, поэтому их могут производить любые фирмы. Но в настоящее время производством плат NodeMcu занимаются Amica, DOIT и LoLin/Wemos.

Отличия от других модификаций

Платы поколения V1 и V2 легко отличить – они обладают различным размером. Также второе поколение оснащено улучшенной модификацией чипа ESP-12 и 4 Мб флэш-памяти. Первая версия, устаревшая, выполнена в виде яркой желтой платформы. Использовать ее неудобно, так как она покрывает собой 10 выходов макетной платы. Плата второго поколения сделана с исправлением этого недостатка – она стала более узкой, выходы хорошо подходят к контактам платы. Платы V3 внешне ничем не отличаются от V2, они обладают более надежным USB-выходом. Выпускает плату V3 фирма LoLin, из отличий от предыдущей платы можно отметить то, что один из двух зарезервированных выходов используется для дополнительной земли, а второй – для подачи USB питания. Также плата отличается большим размером, чем предыдущие виды.

Где купить модули NodeMCU и ESP8266

Сегодня на рынке доступно множество достаточно недорогих модификаций плат на базе ESP8266. Мы сделали небольшую подборку наиболее интересных вариантов:

 

Питание модуля NodeMcu

Подавать питание на модуль можно несколькими способами:

  • Подавать 5-18 В через контакт Vin;
  • 5В через USB-разъем или контакт VUSB;
  • 3,3В через вывод 3V.

Преимущества NodeMcu v3

  • Наличие интерфейса UART-USB с разъемом micro USB позволяет легко подключить плату к компьютеру.
  • Наличие флэш-памяти на 4 Мбайт.
  • Возможность обновлять прошивку через USB.
  • Возможность создавать скрипты на LUA и сохранять их в файловой системе.

Недостатки модуля NodeMcu

Основным недостатком является возможность исполнять только LUA скрипты, расположенные в оперативной памяти. Этого типа памяти мало, объем составляет всего 20 Кбайт, поэтому написание больших скриптов вызывает ряд трудностей. В первую очередь, весь алгоритм придется разделять на линейные блоки. Эти блоки необходимо записать в отдельные файлы системы. Все эти модули исполняются при помощи оператора dofile.

При написании нужно соблюдать правило – при обмене данными между модулями нужно пользоваться глобальными переменными, а при вычислении внутри модулей – локальными. Также важно в конце каждого написанного скрипта вызывать функцию collectgarbage (сборщик мусора).

Распиновка NodeMcu v3

Модуль V3 имеет 11 контактов ввода-вывода общего назначения. Помимо этого некоторые из выводов обладают дополнительными функциями:

  • D1-D10 – выводы с широтно-импульсной модуляцией;
  • D1, D2– выводы для интерфейса I²C/TWI;
  • D5–D8 – выводы для интерфейса SPI;
  • D9, D10 – UART;
  • A0 – вход с АЦП.

Подключение NodeMCU к компьютеру

Для начала работы с NodeMcu нужно подключить плату к компьютеру. Первым шагом будет установка драйвера CP2102 и открытие Arduino IDE. Затем нужно найти в «Файл» – «Настройки» и в окно «дополнительные ссылки для менеджера плат» вставить ссылку http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json.

После этого в меню «документы» – «плата» «менеджер плат» выбрать «esp8266» и установить последнюю версию. После проделанных действий в меню «инструменты» – «плата» нужно найти NodeMCU.

После того, как все необходимые данные будут установлены и скопированы, можно будет начать работать.

Пример подключения светодиода к NodeMCU

Принципиальная схема подключения представлена на рисунке.

Итоговый макет макет выглядит следующим образом:

 

Сама плата работает от напряжения 3.3 В, поэтому для подключения светодиода нужно использовать резистор. В данном примере для красного светодиода берется резистор номиналом 65 Ом.

Похожим способом к плате подключается и фотодиод:

Плату NodeMCU можно использовать и для управления по ИК каналу. Для управления нужен пульт дистанционного управления с ИК приемником и сама платформа. Инфракрасный приемник подключается по схеме, представленной ниже:

Прошивки для esp8266 NodeMcu

В основу платформы загружена стандартная прошивка Node MCU, в которую встроен интерпретатор языка Lua. При помощи Lua-команд можно выполнять следующие действия:

  • Подключение к Wi-Fi точке доступа;
  • Работа в роли Wi-Fi точки доступа;
  • Переход в режим глубокого сна для уменьшения потребления энергии;
  • Включение или выключения светодиода на выходе GPIO16;
  • Выполнение различные операции с файлами во флэш-памяти;
  • Поиск открытой Wi-Fi сети, подключение к ней;
  • Вывод MAC адреса;
  • Управление пользовательскими таймерами.

Для программирования NodeMCU можно использовать Arduino IDE или комплекс средств разработки SDK – ESPlorer. Этот комплекс обладает рядом отличий:

  • Он может работать на множестве различных платформ;
  • Обладает поддержкой нескольких открытых файлов;
  • Позволяет подсвечивать код языка Lua;
  • Возможность умной отправки файлов;
  • Возможность поддержки нескольких видов прошивки одновременно.

Для обеспечения корректной и стабильной работы нужно обновить прошивку до последней версии. Существует несколько способов обновления – облачный сервис, Docker Image и компилирование в Linux. Каждый из этих способов обладает своими плюсами и минусами. Наиболее простым и понятным является первый способ.

Сбор прошивки в облачном сервисе

Облачный сервис обладает простым и удобным интерфейсом. Работа начинается с ввода email. Далее будет предложено выбрать тип прошивки – стабильная прошивка или тестируемая. Первая используется для обучения и создания большого количества объектов, поэтому рекомендуется выбирать именно ее. Следующим шагом будет подключение нужных модулей. По умолчанию уже записано несколько основных пунктов, остальные нужно включать только по необходимости. Затем выбираются дополнительные опции. Среди них есть поддержка FatFS для чтения sd-карты или включение режима отладки.

После начала сборки придет письмо на почту, сигнализирующее о начале запуска процесса. Через некоторое время придет и второе письмо – будет предложено выбрать версию float (дробные числа) или integer (целые числа).

После перехода по полученной ссылке нужно будет скачать файл bin и поместить его в Resources – Binaries. Там будет расположен файл nodemcu_integer_0.9.5_20150318.bin, который нужно удалить. В итоге содержимое папки будет выглядеть следующим образом.

Обновление прошивки Node Mcu

Для правильной и стабильной работы платы требуется перезаписать esp_init_data_default.bin. Скачать его можно на официальном сайте. Нужный файл нужно поместить снова в систему для прошивки NodeMCU Flasher по пути Resources – Binaries, предварительно удалив из него старый файл.

Затем можно подключать  NodeMCU и приступить к обновлению. Для начала нужно поменять настройки – в NodeMCU Flasher во вкладке Config нужно выбрать файл собранной прошивки вместо INTERNAL://NODEMCU.

Остальное оставить без изменений, перейти на Operations и нажать Flash. Как только окончится прошивка, нужно снова перейти на Config и в первой строке указать путь esp_init_data_default.bin. Также дополнительно указывается адрес, куда нужно переместить этот файл. Для модуля NodeMCU следует выбрать адрес 0x3FC000. После этого нужно снова вернуться на Operations и нажать Flash.

После этого нужно переформатировать всю файловую систему млаты. Для этого нужно запустить ESPlorer, обязательно поставить скорость обмена 115200 и перезагрузить NodeMCU. После всех вышеописанных действий будет новая версия прошивки. Отладочная плата полностью перепрошита и готова к работе.

Краткое описание языка Lua

Язык Lua обладает простым синтаксисом и мощными конструкциями описания данных, которые основаны на массивах и расширяемой семантике.  Этот мощный язык программирования используется для создания программного обеспечения, расширения различных игр. В отличие от остальных языков Lua обладает более гибкими и более мощными конструкциями.

Мигание светодиодами на Lua

Можно рассмотреть простейшую схему – мигание светодиодом. Этот пример поможет изучить работы с контактами GPIO. Светодиод нужно подключить как показано на схеме.

Затем нужно записать следующий скетч в левое окно ESPlorer:

pin_number = 1

gpio.mode (pin_number, gpio.OUTPUT) // установка рабочего режима на выход

gpio.write (pin_number, gpio.HIGH)// установка высокого уровня

gpio.write (pin_number, gpio.LOW)// установка низкого уровня

gpio.serout (1, gpio.HIGH, {+990000,990000}, 10, 1) // установка мигания светодиодом 10 раз

После нужно сохранить скрипт с названием init.lua. Сразу после этого начнется автоматическая загрузка написанного кода в отладочную плату и его выполнение. Если операция выполнена успешно, отладочная плата начнет мигать светодиодом.

Важно отметить, что плата самостоятельно выполняет скрипт, подключение к компьютеру нужно только для подачи питания.

arduinomaster.ru

Начала работы с NodeMCU. Сборка прошивки. — CodeDevice

Опубликовано bondrogeen

Существует несколько способов сборки прошивки под NodeMCU, но наиболее простой и удобный это через облачный сервис. Сегодня будем разбираться как это сделать. По остальным способом компиляции прошивки можно почитать вот тут Docker и Linux

Для того чтобы собрать NodeMCU прошивку с нужными нам модулями, необходимо перейдя по адресу  https://nodemcu-build.com, мы попадаем на главную страницу сайта  с простым интерфейсом. От нас только требуется выбрать нужные модули, указать email адрес и запустить сборку прошивки, нажав на кнопку которая расположена внизу страницы.

 


 

Первое, что нужно сделать, это ввести наш адрес электронной почты, сделать это необходима два раза, если в первом случае возможно скопипастить, то второй раз нужно вбивать его ручками. Будьте внимательны при вводе почтового адреса, так как после окончании сборки на него придет письмо с ссылками на скачивания прошивки.

 


 

После нужно выбрать ветку прошивки.

  1. master<> — стабильная версия (рекомендуется).
  2. dev<> — тестируемая версия.
  3. 1.5.4.1-final — это старая версия для модулей с 512 КБ памяти.

 


 

Далее выбираем необходимые нам модули, по названию можно догадаться за что отвечает тот или иной модуль, также напротив каждого модуля есть иконка виде открытой книжки, кликнув по ней можно подробно почитать документацию на него.  По умолчанию выбраны семь модулей [file, GPIO, net, node, timer, UART, WiFi] это стандартный набор для начала работы с NodeMCU. Три из которых необходимы и удалять их не стоит. [file] — необходим для работы с файловой системой, [node] — модуль обеспечивает доступ к функциям системного уровня и [UART] — модуль обеспечивает связь через последовательный порт UART. Главное помнить, что все модули выбрать нельзя, так как памяти на все просто не хватит, выбирайте только необходимые вам для конкретного проекта.

 


 

В следующем блоке можно выбрать дополнительные опции, поддержка SSL, режима отладки и поддержки FatFS работы с файловой системой SD-карт.

После того как выбрали нужны модули переходим в самый низ страницы и нажимаем кнопку Start your build.

 


Если все сделали правильно, нас перекинет на страницу с надписью strike. Далее ждем два письма, в первом будет оповещения о начале сборка прошивки, а во втором придет сама прошивка, точнее две ссылки на файлы с расширением .bin —  float и integer, которые необходимо скачать. Первая позволяет работать с дробными числами, а вторая только с целочисленными.

 


codedevice.ru

ESP8266 NodeMCU прошивка

Столкнулся с трудностью в установки прошивки NodeMCU на ESP8266 Wi-FI модуль. Скажу сразу мне помогли на форуме и мой друг SinglWolf.

На данный момент у меня имеется 2 модуля ESP8266 ESP07 (на фото слева) и ESP01 (на фото справа):
Модуль купить здесь: https://goo.gl/ckwynb

Прошивку NodeMCU решил установить на ESP01. Самую свежую версию прошивки можно взять на github.com , программа для загрузки этой прошивки NodeMCU Flasher, в моем случае прошивка заливается на скорости 115200 или  74880 без проблем.
Распиновка контактов и подключение для прошивки:

  1. GND – GND (программатора и “-” источника питания если имеется)
  2. VCC – +3,3В (программатора или отдельного источника питания)
  3. GPIO0 – на GND
  4. CH-PD на +3,3В

Распиновка контактов и подключение для работы с программой ESPlorer:

  1. GND – GND (программатора и “-” источника питания если имеется)
  2. VCC – +3,3В (программатора или отдельного источника питания)
  3. CH-PD на +3,3В

Универсальным схемным решением будет вот такая схема:

В программе ESPlorer указываем наш порт и скорость 9600, и только теперь подаем питание.

Прошивку писать еще не побывал, так что все впереди!

2015.03.17
После прошивки обновил отдельно ESP8266 NodeMCU версию до последней на сегодняшний день, все так же по совету с форума пользователя Victor.
Для этого в программе nodemcu flasher master (ESP8266 Flasher), переходим на закладку Config? там снимаем все галочки кроме первой, в этой же строке нажимаем на шестиренку и указываем файл nodemcu_integer_dev_json_20150317.bin (это последний на сегодняшний день). Сам файл скачал с сайта github.com nodemcu >> nodemcu-firmware >> releases. Там есть integer и float – качайте integer.

В integer еще нет поддержки плавающей запятой (ибо от такой поддержки у больше проблем чем пользы, код перестал влазить и команд округления они еще не придумали

— TRO с форума esp8266(точка)ru
.
В прошивке замечено срабатывает таймера WatchDog. Например с кодом:

pin = 4 –GPIO2 gpio.mode(pin, gpio_OUTPUT) for i=1, 100, 1 do gpio.write(pin, gpio.LOW) tmr.delay(2000000) gpio.write(pin, gpio.HIGH) tmr.delay(2000000) end

kirill1985.ru

Прошивка ESP8266 — kvvhost

Имеется вот такой модуль на базе esp8266:

4 мегабайта памяти, автоматический режим прошивки при подключении к пк. В общем, есть все что нужно.

Для начала установим драйвер: https://www.silabs.com/documents/public/software/CP210x_Windows_Drivers.zip

Скачиваем, распаковываем, запускаем нужный нам (x64 или x86):

 

После подключаем нашу esp8266 к пк:

 

Скачиваем и распаковываем прошивку espeasy:

https://www.letscontrolit.com/wiki/index.php/ESPEasy#Loading_firmware
или
https://github.com/letscontrolit/ESPEasy/releases

В моем случае это свежая espeasy mega:

В комплекте с прошивками уже есть прошивальщик (FlashESP8266.exe)

Можно использовать другой, например NodeMCU Flasher

Скачать его можно тут: https://github.com/nodemcu/nodemcu-flasher

И так, используем прошивальщик из комплекта. Запускаем, выбираем порт, посмотрев его в диспетчере устройств, и выбираем нашу прошивку под наш размер памяти:

 

Жмем Flash и дожидаемся окончания прошивки:

После успешного завершения отключаем esp от пк и подключаем через зарядное от телефона (или так же к пк, но через не data кабель)

Через несколько секунд появится новая точка доступа ESP_0, подключаемся с паролем configesp

 

Смотрим наш ip, обычно у esp он 192.168.4.1

Заходим, вводим пароль от нашего домашнего wifi:

Esp перезагрузится и нужно будет узнать ее ip, например у роутера:

Заходим по этому адресу, пользуемся espeasy

kvvhost.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *