Разное

Esp 12 прошивка: подключение, прошивка и работа с AT-командами

Содержание

Перепрошивка ESP-8266 | Жизнь, бизнес и IT

ESP-8266 — интересный Wi-Fi чип для разработки устройств IoT. При приобретении его на Aliexpress прошивка на нем, нередко, достаточно старая. Прошивка устройства много где описана, но нередко упускаются из виду очень критичные моменты. Постараюсь воссоздать всю цепочку.

Для начала рекомендую распаять чип на белую платку-адаптер для ESP-07, ESP-12. На ней уже распаяны необходимые подтягивающие резисторы, кроме того, минимизируется риск повреждения контактов модуля ESP-8266.

Обычно в комплекте с платой не идет XC-6206A на 3,3 V. В принципе, он не нужен для работы при подаче напряжения 3,3 V.

Схема белой платы-адаптера (ESP-12 white mounting breakout board scematics) для ESP-07, ESP-12 следующая:

    bizkit.ru\/2018\/12\/25\/11272\/"}»>

  • Приницпиальная схема платы-адаптера для ESP-07, ESP-12 (ESP-8266)

Емкости на плате отсутствуют. Вход EN обозначен как CH_PD.

Для программирования использовал аксессуары:

  • Arduino UNO R3 запитанный от блока питания, а не от USB порта. Мощности USB порта может оказаться недостаточно для питания Arduino UNO и ESP-8266. Arduino использовал только как блок питания на 3,3 V. Естественно, лучше использовать блок питания на 3,3 V.
  • RS-232 to UART конвертер. Можно использовать недорогой бескорпусный вариант. Я использовал корпусный вариант.
  • ESP-12 модуль (ESP-8266).
  • Белая плата-адаптер для ESP-8266 модулей.
  • Набор Dupont проводов.

Замечательно если есть беспаячная монтажная плата. У меня не было под руками, поэтому коммутацию выполнял напрямую проводами обжатыми Dupont разъемами.

Далее по тексту ESP-8266 — это модуль распаянный на белую плату-адаптер.

Коммутация:

ESP-8266RS-232
converter
Arduino UNO
или БП 3,3 V
Комментарий
TXDRXDТеоретически, можно использовать Arduino TX/RD с небольшим скетчем. Однако, по-умолчанию, для ESP-8266 задана скорость порта 115200. Arduino UNO/Nano работают нестабильно на этой скорости, поэтому сначала придется подключится напрямую, чтобы установить скорость 9600.
RXDTXD
GNDGNDGND
VCC3,3 VArduino запитываем не от USB порта ПК!!!
GPIO0GNDДля переключения в режим обновления.

Проверка собранной схемы

Перед тем как переводить ESP-8266 в режим отновления прошивки, проверим работу собранной схемы:

  • Убедимся, что GIO0 отключена от GND. Иначе AT команды отправить в модуль нельзя.
  • Включим питание модуля.
  • Подключим USB-to-RS232 конвертер к ПК.
  • Зайдем в Control Panel -> System -> Device manager -> Ports (COM & LPT).
  • Если устройство Prolific USB-to-Serial Comm Port работает с ошибкой — нужно установить fix.
  • Если USB конвертер работает без ошибок — смоттри на каком COM порту он работает.
  • Запускаем ESPlorer и выставляем в настройках правильный COM порт и скорость. Жмем «Open».
  • Переходим на закладку «AT-based» и жмем кнопку «AT». Отправится команда AT, в ответ должна прийти «ОК». Хначит устрйоство работает нормально. То-же самое можно сделать любой терминальной программой работающей с последовательным портом, вроде PuTTY.
  • Далее жмем кнопку»RST». Отправится команда AT+RST для рестарта модуля.
  • Отправка команды AT+RST в ESP-8266.
AT+RST
AT+RST

OK
WIFI DISCONNECT

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 1396, room 16 
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4 
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4 
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1. 4(b1)
  SPI Speed      : 40MHz
  SPI Mode       : DIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

тn't use rtc mem data
rlЋ‚rlМя
Ai-Thinker Technology Co.,Ltd.

ready
WIFI CONNECTED
WIFI GOT IP
  • Сохраним полученные параметры чипа. Они могут пригодится в дальнейшем.
  • Отправим AT+GMR для получения информации о текущей версии прошивки ESP-8266.
  • Отправка команды AT+GMR в ESP-8266

Получили следующую информацию о чипе:

  • SPI Speed : 40MHz
  • SPI Mode : DIO
  • SPI Flash Size & Map: 8Mbit(512KB+512KB)
  • AT version:0.40.0.0(Aug 8 2015 14:45:58)
  • SDK version:1.3.0
  • Build:1.3.0.2 Sep 11 2015 11:48:04

Софт для прошивки ESP-8266

Для прошивки нужно скачать следующее ПО от разработчика чипа, компании Espressif:

Перевод ESP-8266 в режим загрузки обновления

Для перевода ESP-8266 в режим загрузки прошивки нужно:

  • Отключить питание модуля и извлечь из USB порта USB-to-RS-232 конвертер.
  • Замкнуть PIN GPIO0 на GND. Я использовал Dupont кабель. Кнопку нет смысла использовать. Вот здесь есть тонкий момент. На некоторых схемах используют две кнопки Flash и Reset и нажимают их попеременно для ввода в режим заливки обновления. В официальной документации дан вариант, который я описал. Но при этом я брикнул ESP8266 и пока не нашел способа восстановить.
  • Включить питание модуля.
  • Немного подождать и подключить USB-to-RS-232 конвертер.

Если нарушить последовательность, то программатор не найдет ESP-8266 модуль!

  • Запускаем ESP8266 Flash Download Tool.
  • Выбираем ESP8266 и задаем правильный порт и скорость.
  • Ничего не вводим и нажимаем Start
  • Если ESP 8266 корректно переведен в режиме скачивания прошивки, то практически мгновенно будет выдан статус Finish. И в «detected info» отобразится информация:
    • flash vendor: E0h : N/A
    • flash devID: 4016h
    • QUAD;
    • 32Mbit crystal;
    • 26 Mhz

Прошивка

В некоторых случаях брикнутые ESP 8266 удается восстановить с использованием инстурмента XTCOM_UTIL. Статья на эту тему.

Но здесь есть такой момент. Прошивки подходящие под эту утилиту неофициальные (специально сделанные) и очень древние. Хотя, можно «лить» и официальные, указав правильные адреса. Я не пробовал, но в статье пример.

У меня была ситуация, когда не мог залить официальную прошивку на купленный на Aliexpress ESP 8266 модуль. Но после того как залил древнюю прошивку через XTCOM_UTIL, залилась и прошивка через официальный ESP8266 Download Tool.

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

Если конвертер USB — RS-232 плохого качества, либо плохое качество соединений, то ESP8266 Download Tool может выдавать ошибку синхронизации. В Интернет рекомедуют снижать скорость до 9600, но это нельзя сделать с помощью этой утилиты. У неё минимальная скорость 115200. В этом случае можно воспользоваться консольной утилитой ESPTool от официального разработчика чипа компании Espressif. Я пробовал прошивать с помощью этой утилиты брикнутый чип, но безуспешно.

Таблицу адресов для заливки лучше брать в официальной документации, поскольку адреса завсят от чипа. Этот вопрос нужно смотреть тщательно, поскольку в Интернет адреса заданы для того чипа, который шил автор статьи. Адреса и схема распайки для программирования есть в ESP8266_SDK_Getting_Started_Guide, и адреса есть также в ESP8266_AT_Instructions_Set.

Сразу отмечу, что у меня нет достоверной информации, что если в ESP8266 Download Tool выставить флаг SpiAutoSet, то действительно производится проверка параметров чипа. Адреса точно никак не проверяются.

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

В Интернете не раз проскакивала информация, что ESP-8266 невозможно вывести из строя кривой прошивкой. Мне удавалось. 🙂 После этого чип даже при повторном переводе в режим заливки образа не откликается на запросы. Пробовал скорость и 9600 и 115200 использовать и разные другие шаманства со всеми возможными утилитами.

Troubleshooting

Если после прошивки ESP-8266 не получается подключиться к модулю на скорости 115200, нужно попробовать скорость 9600. В некоторых прошивках эта скорость выставлена по-умолчанию.

В некоторых случаях из-за качества соединений могут возникать проблемы с синхронизацией. Одно из решений — уменьшить скорость с 115200 до 9600:

  • AT+UART_DEF=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>
  • AT+UART_DEF=9600,8,1,0,0
  • AT+UART_DEF=115200,8,1,0,3

В некоторых случаях при переходе на другую скорость отклики от модуля в терминальной программе становятся очень медленными. Пока не разобрался с чем это связано. Помогает сброс к заводским настройкам командой AT+RESTORE.

Статьи

Описание, загрузка и настройка ESPEasy

Готовая прошивка «ESP Easy» позволит легко превратить любой модуль на базе ESP в многофункциональный сенсор или модуль для умного дома под управлением таких систем, как OpenHab и Domoticz. ESP Easy является отличным инструментом для изучения протокола MQTT.

Всё что вам необходимо сделать — это один раз загрузить прошивку ESP Easy на ваш модуль ESP, а дальше все настройки системы происходят в браузере с помощью удобного веб-интерфейса. Для ежедневной работы с модулем не нужны никакие дополнительные программы.

Последней стабильной версией прошивки ESP Easy является R120. Она хорошо подходит не только для домашних экспериментов, но и для производственных прототипов. Модуль с ESP Easy на борту может выступать в роли низкоуровневого управляющего устройства, но этот функционал в системе еще не полностью стабилен. Полный список возможных подключаемых дачиков, устройств ввода-вывода, реле и дисплеев можно посмотреть здесь.

Прошивка ESP Easy может быть установлена практически на любые платы на базе ESP8266. Вы можете прошить как самые простые модули типа ESP-01 или ESP-12, так и устройства типа NodeMCU development board, Wemos D1 и практически все устройства от производителя Sonoff. После прошивки вы сможете работать с GPIO 0, 1, 2, 3, 4, 5, 12, 13, 14, 15, 16, A0. Пин номер 9 не рекумендуется использовать из-за нестабильной работы. На модулях Sonoff будут доступны пины 0 (кнопка), 12 (Реле), 13 (Светодиод) и, возможно, еще несколько в зависимости от конкретной модели устройства.

Поддерживаются следующие протоколы для передачи данных и работы с системами умных домов: OpenHAB MQTT, Domoticz HTTP и MQTT, PiDome MQTT, ThingSpeak, EmonCMS, протокол HTTP и другие. Подробнее про работу с ними будет написано в разделе с примера использования.

С чего начать?

В большинстве случаев модули ESP продаются с предустановленными прошивками AT firmware или NodeMCU LUA firmware. Начать делать сенсоры на базе ESPEasy легко: нужно просто заменить стандартную прошивку на ESPEasy, и можно приступать к работе. Это можно сделать с помощью программы flashtool (к сожалению, она доступна только на Windows) или с помощью Arduino IDE. Во время установки мы будем действовать по следующей схеме:

1. С официального сайта скачать стабильную прошивку

В архиве также будет программа flash tool для прошивки


2. Подключить модуль ESP к компьютеру 

Используем USB/UART переходник для простых плат типа ESP-01 или просто подключаем Micro-USB к платам типа NodeMCU dev board. 


3. Загружаем ESPEasy на плату с помощью flash tool или Arduino IDE

Обратите внимание на то, что GPIO должен быть соединен с GND при включении для запуска режима прошивки на плате. 


4. Перезапускаем модуль ESP. Появляется WiFi сеть с названием  «ESP_Easy_0». Подключаемся к ней

(в версии прошивки 2. 0 точка доступа будет называться ESP_0) 

Если страница настройки не открылась автометически, необходимо набрать 192.168.4.1 в вашем браузере


5. В появившемся окне настраиваем подключение к вашей домашей WiFi сети и нажимаем Connect


6. Модуль ESP перезагрузится и подключится к вашей домашней сети


7. Откройте в браузере новый IP адрес платы ESP и начинайте собирать данные с сенсоров

Поздравляем, всё настроено, и вы можете начать работать с ESPEasy!

Скачиваем прошивку

Скачиваем стабильную версию прошивки с официального сайта — ESPEasy R120.

Подключаем модуль ESP к компьютеру

Для всех, кто только начинает разбираться с EPS, MQTT и умными домами, мы рекомендуем обратить внимание на модуль NodeMCU ESP8266 (он же NodeMCU dev board). У него есть ряд плюсов: встроенный преходник USB/UART, большое количество GPIO, аналоговый пин A0, не нужно подключать GPIO к GND для прошивки, наличие питания 5 и 3. 3 вольта. Просто подключаете плату к компьютеру с помощью Micro-USB кабеля и начинаете работать. NodeMCU dev board позволит вам сэкономить большое количество времени! При программировании обратите внимание, что номер ножки не соответствует номеру GPIO.

Также встроенный переходник USB/UART есть на плате Wemos D1 Mini:

Если у вас плата без переходника, например, ESP-01 или ESP-12, или вы хотите прошить модули Sonoff, то вам понадобится переходник USB/TTL.

В обоих случаях дополнительно вам понадобится установить на компьютер драйвер для вашего встроенного или внешнего переходника USB/TTL.

Загрузка прошивки ESPEasy с помощью Flash Tool

Данный способ подходит только для компьютеров с Windows, но он самый простой! Сначала необходимо проверить к какому порту компьютера подключен наш ESP помуль. Подключаем модуль к компьютеру по USB. Открываем «Диспетчер устройвств», смотрим вкладку «Порты (COM и LPT)» и видим нашу плату. В моем случае порт COM4. Если ваше устройство не отображается в списке портов — значит вы не поставили драйвер для USB/TTL переходника.

Обратите нимание, что перед прошивкой модулей с внешнем адаптером USB/TTL их необходимо перевести в режим загрузки программного обеспечения. Для этого необходимо соединить GPIO0 на плате ESP с GND, воткнуть переходник в плату, а потом уже в USB. Если у вас NodeMCU или Wemos, то этого делать не нужно.

Распаковываем скаченный архив ESPEasy_R120.zip в папку ESPEasy_R120 и запускаем файл flash.cmd. Откроется черное окно, в котором необходимо будет ответить на несколько вопросов.

1 вопрос: Comport (example 3,4…) — необходимо ввести номер порта, к которому подключен модуль ESP и нажать Enter. Я ввожу 4. Enter.

2 вопрос:  Flash size (example 512, 1024 or 4096) — необходимо ввести количество памяти, которое доступно на нашей плате. Сколько памяти на вашей плате вы можете посмотреть в этой таблице. Для платы NodeMCU dev board вводим 4096.  Enter.

3 вопрос: Build — необходимо ввести номер версии прошивки, которую вы загружаете. В нашем случае вводим 120. Enter.

В чёрном окне проскочет несколько строк с системным кодом, и начнут появляться точки, и через некоторое время система напишет, что загрузка завершена. Вы увидете такой экран:

Нажимаем любую клавишу. Прошивка ESPEasy успешно загружена на ваш модуль! Поздавляю! Переходим к пункту «Подключение и первичная настройка» в этой статье.

Возможные проблемы с Flash Tool

Если вы не видите своё устройство в диспетчере устройств, значит у вас не установлен драйвер переходника USB/TTL.

Если файлы не распаковать в папку, а просто запустить из архива, то после вопросов система выдаст ошибку, т.к. не сможет работать с файлом esptool.exe. Просто распакуйте архив в папку и заново запустите flash.cmd.

Если вам так и не удалось прошить модуль ESP с помощью flash.cmd, но плата видна в системе, то вы можете сделать прошивку программой ESPEasy Flasher. В ней надо будет только выбрать порт и соответствующую прошивку. В скаченной папке с прошивками будет 3 разных файла прошивок для плат с разным размером памяти.

Если у вас не получилось сделать загрузку ни одним из этих способов — вы можете попробовать сделать загрузку через Arduino IDE.

Загрузка прошивки ESPEasy с помощью Arduino IDE

Данный способ отлично подходит, если вы уже загружали свои собственные скетчи на плату через Arduino IDE и сейчас хотите попробовать поработать с ESPEasy. Если же вы раньше просто программировали ardunino и ни разу не прошивали esp8266, то предварительно вам необходимо подготовить Arduino IDE. Подробную инструкцию вы можете найти в нашей статье. Через Arduino IDE вы можете сделать загрузку как на Windows, так и на Mac OS.

В папке, которую вы скачали с официального сайта, кроме файлов последней прошивки и программы для загрузки также есть папка Source. В ней находятся два папки: в одной — необходимые библиотеки, во второй — файлы нашей прошивки. Копируете библиотеки из папки librares в папку с библиотеками ArduinoIDE на вашем компьютере.

На компьютерах Windows эта папка обычно: C:\Users\USERNAME\Documents\Arduino\librares — в папке с вашими документами.

На Mac OS: \Users\USERNAME\Documents\Arduino\librares — в папке с вашими документами.

Дальше заходим во вторую папку из скаченного архива (\Source\ESPEasy)  и запускаем оттуда файл ESPEasy.ino. Откроется Arduino IDE.

Теперь в меню «Инструменты» необходимо выбрать порт, тип платы, размер памяти. Какие параметры выбирать для разных плат и как настраивать Arduino IDE для работы с ESP вы может прочитать в нашей отдельной статье.

Для NodeMCU dev board выбираем параметры как на картинке + выбираем свой порт.

Заходим в меню «Скетч» и выбираем «Загрузка»

В Arduino IDE внизу в чёрной консоли пробежит несколько строчек системных сообщений, потом появится несколько строчек с точками и программа напишет, что загрузка прошла успешно. Если программа выдаёт строчки с оранжевыми ошибками, то скорее всего у вас проблемы с подключение платы к компьютеру.

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

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

Теперь на своём компьютере откройте список доступных Wi-Fi сетей — в списке должна появиться сеть ESP_0 (В некоторых версиях прошивки возможно будет Esp_Easy_0). Подключитесь к ней (стандартный пароль configesp).

Если ваш браузер не открыл автоматически страницу настройки EspEasy, то в адресной строке браузера наберите 192.168.4.1. В появившемся окне необходимо выбрать вашу домашнюю wi-fi, ввести пароль от нее в поле password и нажать кнопку Connect.

Вы увидите сообщение о том, что система перезагружается.

После этого ваш компьютер отключится от сети Esp и подключится обратно к вашей домашнией Wi-Fi сети. В браузере покажется ip адрес вашего esp. В адресной строке вашего браузера введите ip esp модуля (например, 192. 168.1.65). Откроется окно с основный информацией о модуле esp, на котором вы можете посмотреть: беспрырывное время работы модуля, уровень сигнала, ip адрес модуля и точки доступа, версию прошивки, MAC адреса, информация о свободной памяти и список других esp модулей в сети.

Вверху расположено меню для перехода в разделы системы. Зайдите во вкладку Config. Здесь находятся основные настройки системы, рассмотрим их подробнее.

1. Name — имя вашего ESP модуля. Оно используется как сетевое имя, а также для идентификации каналов при работе по MQTT протоколу.

2. Admin Password используется для установки пароля на настройки. По умолчанию пароля нет, но если его установить, то при открытии ip адреса вашего esp модуля необходимо будет ввести пароль. Только в этом случае вы сможете редактировать настройки. Это очень удобно, если вы используете свои модули в публичных местах.

3. SSID, WPA Key — используется для подключения к вашей домашней Wi-Fi сети.

4. WPA AP Mode Key — данный пароль используется в том случае, если ваш esp модуль работает в режиме точки доступа.

5. Unit nr — это номер машего модуля в сети. Для корректной работы системы он должен быть уникальным для каждого esp модуля.

6. Protocol и следующие за ним поля отвечают за выбор и настройку сетевого протокола, по которому ваш esp модуль взаимодействует с сервером умного дома или облачным сервером сбора данных. Мы можем выбрать OpenHAB MQTT, Domoticz MQTT, PiDome MQTT и ThingSpeak и другие менее популярные варианты.

7. Sensor Delay отвечает за то, как часто данные с модуля ESP отправляются на сервер. Значение необходимо писать в секундах.

8. Sleep Mode используется для перевода устройства в режим глубокого сна. Используйте этот параметр только после полной настройки вашего устройста.

В разделе Hardware вы можете выбрать какой светодиод на плате будет отвечать за состояние Wi-Fi подключения, а также выставить дефолтные состояния пинов. Во вкладке Rules можно настроить простые правила автоматизации. Обратите внимание, что по умолчанию данная вкладка не отображается. В разделе Devices происходит добавление и настройка датчиков и управляемых девайсов. В разделе Tools находятся более тонкие настройки, а также есть поле для выполнения команд. 

В данной статье мы рассказали вам о том, что из себя представляет готовая прошивка EspEasy, для чего ее можно использовать, как прошить ее ваш ESP модуль, а также как провести первичные настройки. В следующих статьях мы подробно расскажем о том, как использовать EspEasy в ваших проектах. Поключим к плате ESP самые популярные датчики, поробуем передавать данные с них в облачный сервер ThingSpeak и построить по ним графики. Также мы подключить ESP модуль к умному дому на базе OpenHAB по протоколу MQTT — будем собирать данные с датчиков и управлять светодиодами.

WiFi-IoT Firmware Builder :: Конструктор прошивки ESP8266(no OS)

Определение размера памяти по вкладке ip_adr/debug:

Вкладка debug содержит разную полезную информацию, в том числе и реальный размер чипа флеш памяти в строке Flash real size, а так же размер памяти, установленный в прошивающей программе Flash set size, который важен для правильной поддержки OTA.

Если вы не зарегистрированы в конструкторе, то вы можете скачать собранные прошивки на главной странице, где доступны 2 облегченных варианта прошивки:

-Вариант с поддержкой OTA с объемом памяти чипа 1мбайт и выше.  Необходимо обязательно выбирать в прошивающей программе размер памяти 1мбайт !! Модули с размером flash памяти 512кб не поддерживаются  режимом OTA !!

-Вариант без поддержки OTA.Если размер получаемого файла(одним файлом) более 496кб, то требуется поддержка flash памяти не менее 1 мегабайта !! По сравнению с режимом OTA в этом варианте количество включенных опций можно включить значительно меньше.

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

Если у вас имеются проблемы со стартом прошивки, то обязательно смотрим ниже абзац про решение проблем с прошивкой !

Сборка прошивки в конструкторе

Конструктор позволяет собрать прошивку под свои требования, включив в прошивку только те функции и датчики, которые нужны.

Не имеет смысла включать все опции в прошивке — в этом случае прошивка может не собраться так как не влезет в модуль. Лучше прошивку пересобрать снова, если вы хотите испытать другие опции.

Некоторые опции имеют дополнительные настройки, которые находятся в значке-шестеренке. Там можно выбрать доступное количество например термостатов или других опций.

При первоначальной сборке прошивки рекомендуется воспользоваться опцией OTA , чтобы следующее обновление было возможно через интернет без использования подключения программатора. С опцией OTA количество опций можно включить больше, но требуется чтобы память на модуле была не меньше 1 мегабайта !!

Кроме OTA так же рекомендуется включать опции NVS настройки 2 и Экспорт/Импорт настроекNVS настройки 2 решает проблему со смещением(повреждением) настроек при изменении списка или настроек опций при обновлении прошивки.

При сборке прошивки можно выбирать разный SDK. Рекомендуемая версия SDK 1. 3.0.  В новых версиях замечена проблема с режимом точки доступа (Safe Mode)(???) , но нет проблем с надежностью связи с роутером. SDK — это набор библиотек и функций от производителя чипа для работы устройства.

После нажатия кнопки «скомпилировать» через некоторое время конструктор прошивки выдаст ссылки для скачивания:

В режиме без OTA можно прошить файлы прошивки одним файлом — тогда все настройки модуля, если они были сбросятся. Если вы обновляете прошивку и не хотите чтобы настройки удалились, то необходимо обновлять прошивку двумя файлами по адресам, которые указаны в имени файла.

В режиме OTA достаточно залить прошивку одним файлом. Но 0x81000.bin может потребоваться, если вы хотите обновить прошивку по кабелю после использования OTA, когда загружен файл user2.bin(отображается в debug) — в этом случае обновление прошивки одним файлом не обновит активную прошивку.

Подключение модуля для прошивки

Для прошивки ESP8266 необходим USB-UART переходник или Arduino. ESP8266 необходимо обеспечить напряжение питания 3.3в и током 200..300мА. Питание 3.3в от ARDUINO или от USB-UART подключать не рекомендуется — модуль может работать не стабильно из-за нехватки тока. Рекомендуется использовать стабилизатор вида 1117.

Подключение ESP8266 к USB-UART: Необходимо подключить общие выводы GND(минус). RX у USB-UART на TX ESP, TX у USB-UART на RX ESP. Подключаем так же источник питания 3.3в.

Подключение ESP8266 к Arduino: Необходимо подключить общие выводы GND(минус).RX у Arduino на RX ESP, TX у Arduino на TX ESP. Подключаем так же источник питания 3.3в. RESET у Arduina необходимо подключить к GND.

На модуле ESP8266 вывод CH_EN необходимо подключить к +3.3в для того, чтобы включить чип.

GPIO 0 на время программирования, перед включением питания необходимо подключить к GND(земля). После успешной прошивки GPIO 0 нужно отключить от GND. Если на модуле выведен GPIO 15, то его необходимо подключить на GND через резистор 10кОм на постоянной основе !!

Если у вас модуль esp8266 имеет уже на борту USB-UART (например Wemos, NodeMCU) , то указанные выше действия проводить не требуется.

Прошивка модуля

Для начала необходимо установить драйвера для вашего USB-UART переходника или Arduinы.

Прошивка через Nodemcu Flasher: Устанавливаем на вкладке Advanced Параметр Flash size в соответствии выбранным размером flash памяти (в байтах). Режим работы flash ставим QIO (при использовании GPIO 9/10 — DIO). Остальные параметры не трогаем. Указываем на вкладке Config путь на файл прошивки с адресом 0x0000. На вкладке Operation выбираем COM порт и жмем кнопку FLASH.

Прошивка через Flash download tool: Действия аналогичны.

Прошивка через Flasher for WiFi-IoT.com . Программа имеет русскоязычный интерфейс и поддерживается как Windows, так и Linux системы. На данный  момент прошивка идет только по 0x0000 адресу файла «Скачать одним файлом (0x00000)». При установленном API ключе возможна автоматическая загрузка заранее собранной прошивки напрямую из конструктора(только с режимом OTA). Для очистки памяти вместо бланка можно использовать опцию «стереть чип перед прошивкой».

Для модулей ESP8285 и модулях с памятью PN25F08B требуется установка режима памяти DOUT !!

Прошивка через esptool. Пример команды esptool.py —port /dev/ttyUSB0 write_flash -fs 8m 0x00000 esp8266.bin . где -fs 8m размер flash памяти модуля в мегабитах !

Скорость COM порта рекомендуется ставить не выше 115200.

Перед первой прошивкой рекомендуется залить в модуль blank по адресу 0x0000 , особенно, если в модуле до этого использовалась какая либо другая прошивка.

Прошивка файла ESP INIT DATA

Рекомендуется прошить в модуль файл esp_init_data_default.bin с калибровками по умолчанию, эти настройки влияют на работу wifi и adc. В большинстве случаев модули работают корректно без этого файла. Последние SDK могут вообще не запускаться без данного файла.

Адрес прошивки файла зависит от установленного размера flash памяти:

0x7c000 для 512 kB.

0xfc000 для 1 MB.

0x3fc000 для 4 MB.

0xffc000 для 16 MB.

Так же данные настройки можно загрузить подав GET команду http://[IP]/configinit?def=1 , последние SDK сами прописывают данные настройки.

Запуск модуля

При первом включении модуль включается в режим safe mode автоматически так как не содержит имени точки доступа. В режиме safe mode в эфире появится точка с именем WiFi-IoT, к которой можно подключится используя смартфон или ноутбук.

В режим safe mode еще можно попасть, замкнув между собой RX и TX и перезапустив модуль или нажать 3 раза подрят (с интервалом нажатия около секунды) кнопку RESET на ESP8266. 

Далее возможны два варианта подключения к модулю:

1. Используя Captive Portal мобильное устройство выведет уведомление о подключении, при нажатии на которое происходит автоматическое открытие главной веб страницы модуля. Можно так же зайти в модуль введя в браузере адрес iot.local (или любое другое, например iot.ru).

2. После успешного коннекта заходим вручную по адресу http://192.168.4.1 используя веб браузер. 

Далее настраиваем подключение на свой роутер на вкладке main веб интерфейса.Необходимо вбить в поля WiFi options данные своей точки доступа. Для подключения к роутеру выбираем режим «Station mode». После нажатия кнопки set ниже появится IP адрес, на который можно заходить внутри своей беспроводной сети.

Далее обновляем страницу и видим внизу IP адрес, на который уже можно будет заходить внутри Вашей локальной сети.

Тут же вы можете установить свой логин и пароль на странички настроек веб интерфейса. Длинна логина и пароля не более 8 символов. Пароль затребуется на все вкладки настроек. А при установленной опции «Full Security» и на все GET запросы управления. В режиме safe mode пароль не запрашивается !

На данной вкладке можно задать имя модулю, которое будет отображаться на главной и в системе flymon, а так же в топике на MQTT сервере.

Указанные выше действия выполнять не требуется, если прошивка была собрана с опцией Настройки по умолчанию , где были заранее прописаны параметры роутера и IP адрес. После успешной прошивки и перезагрузки сразу можно заходить на указанный IP адрес модуля внутри своей wi-fi сети.

Решение проблем с прошивкой

Иногда, после сторонних прошивок или мусора модуль может не запустится и необходимо выполнить дополнительные действия. Необходимо затереть flash память пустым бланком по адресу 0x00000. Далее уже прошиваем саму прошивку снова.

У некоторых пользователей даже после зачистки бланком модуль не стартует или стартует только при установленном режиме 512 кб или 4мб, возможно это связано с низким качеством flash памяти или частичной её несовместимостью с чипом ESP8266. По некоторым сведениям от пользователей помогает замена чипа памяти.

Если на главной странице модуля выводится сообщение «Error flash size ! (code 0x1)», то это значит была прошита прошивка 1мегабайт в режиме 512кб. При этом включается режим Safe Mode и возможны сбои в работе модуля из-за таких неверных настроек. Убедитесь, что на модуле установлен необходимый размер памяти — это видно на веб вкладке ИП_АДРЕС/debug в строке Flash real size. Режим объема памяти указывается в прошивающей программе.

Если на главной странице модуля выводится сообщение «Error flash size ! (code 0x2)», то это модуль имеет всего 512кб flash памяти и это значит, что необходимо использовать прошивку без включенного режима 1 мегабайт или не использовать OTA. Можно так же перепаять микросхему flash памяти на более ёмкую.

ВАЖНО !!  Если модуль не может получить IP адрес. Висит постоянно статус connect , то рекомендуется вписать IP адрес вручную ниже. Для этого необходимо выбрать режим Static IP и вписать IP модуля и IP шлюза(IP роутера). После этого можно заходить на модуль уже внутри сети по IP адресу, который указали в настройках..

Иногда статус connect может висеть, если тип шифрования на роутере включен, который не поддерживается чипом ESP8266.

Решение проблем с компиляцией.

Ошибка компиляции возможна из-за:

1. Превышен размер IRAM области памяти, прошивка не умещается. Требуется уменьшить количество опции или выбрать другой SDK. Чем новее SDK , тем меньше влазит опций. Проблема нехватки памяти не так заметна при использовании RTOS прошивки.

2. Ошибка в коде — маловероятная причина, но возможна после обновления кода или конфликта опций ранее не замеченный. Сообщить об ошибке можно через обратную связь на сайте или в чате Телеграм, указав код ошибки.

Сохранение настроек в файл

Этот метод является устаревшим, рекомендуется воспользоваться опцией Экспорт/Импорт настроек.

Настройки модуля можно сохранить в файл, исключая настройки WI-FI, состояния GPIO, список датчиков DS18B20. Файл необходимо скачать по адресу ИП_АДРЕС/configsave.bin . Записывается обратно в модуль через программатор по адресу 0x3C000 для 512кб прошивки, 0x7C000 — для 1мб. Настройки можно скачать и через esptool.py используя пример ниже подставив нужный адрес. 

Скачать настройки WI-FI можно по адресу ИП_АДРЕС/configsave.bin?pg=66 для 512кб, ИП_АДРЕС/configsave.bin?pg=130 для 1 мег. Скачать через esptool.py можно командой esptool.py read_flash 0x7E000 4096 mywifi_settings. bin для 512 кб (Для 1024кб адрес будет 0xfe000).

Полезные ссылки:

Видеоинструкция по настройке от Umka.

Видеоинструкция по настройке от Genia1no_prosto

Видеоинструкция по настройке от Sergiy (ArmoR)

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

Для работы с RemoteXY модуль ESP8266 должен иметь версию прошивки с поддержкой AT команд не ниже v0.40. Для проверки версии модуля, а так же для изменения прошивки в случае необходимости, подключите модуль к компьютеру через последовательный порт. Модуль можно подключить через плату Arduino или через USB-UART адаптер.

Подключение через плату Arduino

При использовании Arduino основной чип ATmega переводится в режим сброса, активным остается только встроенный USB-UART преобразователь. Для этого контакт RESET соединяется с землей. Контакты RX и TX подключаются к ESP8266 напрямую, а не крест накрест, как если бы они подключались для работы с контроллером.

Подключение через USB-UART адаптер

Преобразователь должен иметь выход источника 3. 3V для питания ESP8266. Так же этот источник должен обеспечить необходимый ток не менее 200мА.

Контакт CPIO0 определяет режим работы модуля. При не подключенном контакте модуль работает в штатном режиме и выполняет AT команды. При замыкании контакта на землю, модуль переводится в режим обновления встроенной прошивки. Перевод модуля в режим прошивки требует, что бы контакт CPIO0 был подключен к «земле» в момент подачи питания на модуль. Если замыкать контакт при работающем модуле, перевод модуля в режим обновления прошивки не произойдет.

Проверка текущей версии

Для отправки AT команд и просмотра ответов необходимо использовать любую программу монитора последовательного порта. Очень хорошо подходит терминальная программа из Arduino IDE. В программе необходимо установить режим отправки команд с завершающим символом перевода строки и возвратом каретки. Скорость работы модуля по умолчанию 115200 бит/сек.
Для работы модуля в штатном режиме контакт CPIO0 должен быть отключен.

Проверить текущую версию прошивки можно выполнив AT команду: AT+GMR. Пример ответа модуля:


AT+GMR 

AT version:0.40.0.0(Aug 8 2015 14:45:58) 
SDK version:1.3.0 
Ai-Thinker Technology Co.,Ltd. 
Build:1.3.0.2 Sep 11 2015 11:48:04 
OK  

Так же стоит узнать размер флеш памяти вашего модуля, от этого зависят настройки адресов загрузки данных при обновлении прошивки. В данной инструкции описана прошивка модуля с размером флеш памяти 8Mbit(512KB+512KB) или 16Mbit(1024KB+1024KB), как наиболее распространенных. Размер флеш памяти можно узнать, выполнив AT команду сброса модуля: AT+RST.


AT+RST

OK

 ets Jan  8 2013,rst cause:2, boot mode:(3,1)

load 0x40100000, len 1396, room 16 
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4 
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4 
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1. 4(b1)
  SPI Speed      : 40MHz
  SPI Mode       : DIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

#т#n't use rtc mem data
slЏ‚rlМя
Ai-Thinker Technology Co.,Ltd.

ready

Программа для прошивки

Для обновлении прошивки необходимо скачать программу для прошивки и саму прошивку. Программа для прошивки ESP8266 будем использовать Flash Download Tools v2.4 с официального сайта Espressif Systems. Ссылка на страницу загрузки на официальном сайте: http://espressif.com/en/products/hardware/esp8266ex/resources. Необходимо перейти в раздел «Tools».

Ссылка на программу в нашем файловом хранилище: FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar

Прошивка

Прошивку так же можно скачать с официального сайта. Ссылка на страницу загрузки на официальном сайте: http://espressif.com/en/products/hardware/esp8266ex/resources. Необходимо перейти в раздел «SDKs & Demos» и загрузить прошивку ESP8266 NONOS SDK версии не менее v1. 3.0. Именно с этой версии прошивки реализована поддержка AT команд v0.40 и более.

Ссылка на прошивку в нашем файловом хранилище: esp8266_nonos_sdk_v1.4.0_15_09_18_0.rar

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

Настройка

Запускаем программу прошивки Flash Download Tools v2.4 (одноименный .exe файл). В открывшемся окне необходимо правильно указать загружаемые файлы и настройку соединения.

Загружаемые файлы располагаются в каталоге bin архива с прошивкой. Для каждого файла необходимо указать правильный адрес загрузки. Используйте следующую таблицу для выбора файлов и назначения адресов:


Файл в каталоге binФлеш 8Mbit (512KB+512KB)Флеш 16Mbit (1024KB+1024KB)
esp_init_data_default.bin0xFC0000x1FC000
blank. bin0xFE0000x1FE000
boot_v1.4(b1).bin или старшей версии0x000000x00000
user1.1024.new.2.bin (в подкаталоге at)0x010000x01000
user2.1024.new.2.bin (в подкаталоге at)0x810000x81000

Установите следующие параметры настройки:

  • SPIAutoSet — установлен;
  • CrystalFreq — 26M;
  • FLASH SIZE – 8Mbit или 16Mbit в зависимости от размера флеш-памяти;
  • COM PORT – выберите порт, к которому подключена ESP;
  • BAUDRATE – 115200

Для старта прошивки необходимо нажать кнопку «START».

Последовательность шагов для прошивки ESP8266

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

2. Запустите монитор последовательного порта. Выполните AT команды AT+RST и AT+GMR для определения текущей версии прошивки и размера памяти модуля. Этот шаг так же позволяет проверить правильность подключения модуля.

3. Запустите программу прошивки Flash Download Tools, правильно настройте загружаемые файлы, установите настройки.

4. Отключите питание модуля ESP8266.

5. Соедините контакт CPIO0 на землю.

6. Подайте питание на модуль ESP8266.

7. Нажмите в программе прошивки кнопку START

8. Дождитесь окончания прошивки модуля. По окончании прошивки появится надпись FINISH зеленого цвета.

9. Отсоедините питание модуля ESP8266. Отсоедините землю с контакта CPIO0.

10. Включите модуль, запустите монитор последовательного порта. Убедитесь в работоспособности модуля и новой версии прошивки выполнив AT команду AT+GMR.

WiFi ESP8266 ESP-202 (ESP-12F) | Catcatcat electronics


Первое знакомство, сначала надо его купить… http://voron. ua/catalog/024404


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

По схеме ставим две кнопки, сброс и кнопку BT2, для перевода в режим обновления прошивки. Если надо сделать аппаратный сброс нажимаем сброс (в зависимости от прошивки) светодиод моргнет два раза, если перевести в режим обновления прошивки, нажимаем и удерживаем BT2 и нажимает и отпускаем сброс, потом отпускаем BT2. Светодиод моргнет короткой вспышкой. Резистор R3 для возврата модуля из режима глубокого сна. Суть возврата, это при подаче команды AT+GSLP модуль переходит в режим глубокого сна, для возврата его можно вывести только через аппаратный сброс, для этого в модуле запускается таймер (время задается в команде) и его выход выведен на выход GPIO15, соединив вывод сброс с этим выводом мы активируем опцию “просыпания” модуля. Для работы с связке с микроконтроллером, запуск модуля можно использовать n-channel транзистор, стоком подключено к точке цепи сброса.


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

Все было собрано с использованием печатных плат из проекта Иллисси (проект умер, но платы делают свое дело!)


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

(на 18/04/2016 – ESP8266 NONOS SDK V1. 5.3 и ESP8266 RTOS SDK v1.4.0)

Для обновления прошивки модуля, используйте официальный инструмент от Espressif и выберите соответствующий размер флэш вашего модуля.

Официальная программа обновления, можно загрузить https://www.espressif.com/en/support/download/other-tools или http://bbs.espressif.com/viewtopic.php?f=5&t=433.

1. 4Mbit флэш

С выпуском версии ESP8266 NONOS SDK v1.5.0, AT_V0.51, прошивка версии требует 8Mbit или больший размер флэш. Все версии последние больше не предназначены для 4Mbit Flash!

2. 8Mbit флэш

Если размер флэш составляет 8 Мбит или больше, вы можете использовать режим загрузки, который поддерживает обновление встроенного программного обеспечения AT через WiFi с помощью команды “AT+CIUPDATE”. Если используете Espressif флэш программу загрузки и выберите флэш размер: 8Mbit.

bin файлАдрес размещения Описание
 esp_init_data_default. bin0xFC000  Необязательный файл, внем распологаются настройки RF по умолчанию 
 blank.bin 0x7E000Инициализировать области флэш-памяти параметров пользователя 
blank.bin 0xFE000 Инициализировать области флэш-памяти параметров системы 
 boot.bin0x00000 \bin 
 user1.1024.new.2.bin0x01000  \bin\at\512+512 

3.

16 Мбит флэш, карта: 512KB + 512KB

Для программы Espressif флэш загрузки и выберите флэш размер: 16Mbit.

bin файлАдрес размещенияОписание
 esp_init_data_default.bin0x1FC000 Необязательный файл, внем  распологаются настройки RF по умолчанию 
 blank.bin 0x7E000Инициализировать области флэш-памяти параметров пользователя 
blank.bin 0x1FE000Инициализировать области флэш-памяти параметров системы 
 boot. bin0x00000 \bin 
 user1.1024.new.2.bin0x01000  \bin\at\512+512 

4. 16 Мбит флэш, карта: 1024KB + 1024KB

Для программы Espressif флэш загрузки и выберите флэш размер: 16Mbit-С1.

bin файлАдрес размещенияОписание
 esp_init_data_default.bin0x1FC000 Необязательный файл, внем  распологаются настройки RF по умолчанию 
 blank. bin 0xFE000Инициализировать области флэш-памяти параметров пользователя 
blank.bin 0x1FE000Инициализировать области флэш-памяти параметров системы 
 boot.bin0x00000 \bin 
user1.2048.new.5.bin0x01000  \bin\at\1024+1024

5. 32 Мбит флэш, карта: 512KB + 512KB

Для программы Espressif флэш загрузки и выберите флэш размер: 32Mbit.

bin файлАдрес размещенияОписание
 esp_init_data_default. bin0x3FC000 Необязательный файл, внем  распологаются настройки RF по умолчанию 
 blank.bin0x7E000Инициализировать области флэш-памяти параметров пользователя 
blank.bin 0x3FE000Инициализировать области флэш-памяти параметров системы 
 boot.bin0x00000 \bin 
user1.1024.new.2.bin0x01000  \bin\at\512+512 

6.

32 Мбит флэш, карта: 1024KB + 1024KB

Для программы Espressif флэш загрузки и выберите флэш размер: 32Mbit-С1.

bin файлАдрес размещенияОписание
 esp_init_data_default.bin0x3FC000 Необязательный файл, внём  распологаются настройки RF по умолчанию 
 blank.bin0xFE000Инициализировать области флэш-памяти параметров пользователя 
blank.bin 0x3FE000Инициализировать области флэш-памяти параметров системы 
 boot. bin0x00000 \bin 
user1.2048.new.5.bin0x01000  \bin\at\1024+1024

Заметки:
• Убедитесь, что правильно BIN (/ESP8266_NONOS_SDK/bin/at) уже в микросхеме (ESP8266), прежде чем можно использовать команды AT, приведенные в этой документации.
• AT уже принял приоритет 0 и 1 из system_os_task, поэтому только одна задача приоритета 2 разрешается устанавливать пользователем.
• AT возвращает сообщения ниже, чтобы показать статус Wi-Fi подключения станции ESP8266

‣ WiFi Connected – Wi-Fi подключен
‣ WiFi GOT IP – ESP8266 станция получила IP от AP
‣ WiFi DISCONNECT – Wi-Fi отключен

Как обновить свой модуль, заводской прошивкой.

    1. Заходим на сайт производителя http://espressif.com/en/support/download/sdks-demos?keys=&field_technology_tid=All&field_type_tid%5B%5D=14 и выбираем необходимою сборка последняя ESP8266 NONOS SDK V1. 5.3 и ESP8266 RTOS SDK v1.4.0.
    2. Скачиваем нужную сбоку. получаем файлы esp8266_nonos_sdk_v1.5.3_16_04_18_0.zip (esp8266_rtos_sdk_v1.4.0_16_02_26_0.zip).
    3. Распаковываем.
    4. Загружаем программу для прошивки ESP_DOWNLOAD_TOOL_V2.4.exe, откроется два окна.
    5. Выполняем настройку, это первое – порт с которым связан модуль и скорость, стандартная 115200 (но если нет связи пробуйте 9600). В моем варианте это был com5 и 115200.
    6. Проверяем, конфигурацию нашего модуля, для этого незабываем его перевести в режим обновления. Нажимает кнопку START. Выполняется чтение данных с модуля

      (True, [])
      test running : False
      serial port opened
      Connecting…
      chip sync ok!
      0x3ff00050: d2050000
      0x3ff00054: 020007b6
      0x3ff00058: 6400b000
      0x3ff0005c: 005ccf7f
      EFUSE MODE : 1
      reg0:d2050000
      reg1:020007b6
      reg2:6400b000
      reg3:005ccf7f
      check_err_0: 0b
      check_err_1: 00
      check_err_2: 00
      check_err_3: 02
      check_err_4: 0b
      ====================
      EFUSE NORMAL MODE
      ====================
      =========================
      CRC IN MODE 1:
      crc_calc_res: 100
      target crc val: 100
      =========================
      =========================
      CRC IN MODE 1:
      crc_calc_res: 5
      target crc val: 5
      =========================



      ==================
      EFUSE LOG:
      ======================
      EFUSE LOG:
      —————
      REG0:D2050000
      REG1:020007B6
      REG2:6400b000
      REG3:005CCF7F
      —————-
      ====================
      EFUSE NORMAL MODE
      ====================
      EFUSE CHECK PASS. ..
      =================
      reg2>>13: 5
      =================
      48bit mac
      debug:
      ————————
      5c cf 7f 07 b6 d2
      ID FOR XM: 06 40 00 00 00 00 50 00
      XM_ID: 0640000000005000
      ————————
      crc_efuse_4bit: 0
      crc_calc_4bit: 3
      48bit mac
      MAC AP : 5E-CF-7F-07-B6-D2
      MAC STA: 5C-CF-7F-07-B6-D2
      get mac res: True
      (‘tttest uuuuuuuuuuart : uart reg: ‘, 460)
      (‘ baudrate: ‘, 115200)
      get crystal: 26496000
      head: 0 ;total: 0
      erase size : 0
      get flash id : 0xff1640e0
      manufacturer_id: 0xe0

      device_id: 0x4016

      vendor: 224
      mode: 64
      size: 22
      com closed

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      36

      37

      38

      39

      40

      41

      42

      43

      44

      45

      46

      47

      48

      49

      50

      51

      52

      53

      54

      55

      56

      57

      58

      59

      60

      61

      62

      63

      64

      65

      66

      67

      68

      69

      70

      71

      72

      73

      74

      75

      76

      77

      78

      79

      (True, [])

      test running : False

      serial port opened

      Connecting. ..

      chip sync ok!

      0x3ff00050: d2050000

      0x3ff00054: 020007b6

      0x3ff00058: 6400b000

      0x3ff0005c: 005ccf7f

      EFUSE MODE : 1

      reg0:d2050000

      reg1:020007b6

      reg2:6400b000

      reg3:005ccf7f

      check_err_0: 0b

      check_err_1: 00

      check_err_2: 00

      check_err_3: 02

      check_err_4: 0b

      ====================

      EFUSE NORMAL MODE

      ====================

      =========================

      CRC IN MODE 1:

      crc_calc_res: 100

      target crc val: 100

      =========================

      =========================

      CRC IN MODE 1:

      crc_calc_res: 5

      target crc val: 5

      =========================

       

       

       

      ==================

      EFUSE LOG:

      ======================

      EFUSE LOG:

      —————

      REG0:D2050000

      REG1:020007B6

      REG2:6400b000

      REG3:005CCF7F

      —————-

      ====================

      EFUSE NORMAL MODE

      ====================

      EFUSE CHECK PASS. ..

      =================

      reg2>>13: 5

      =================

      48bit mac

      debug:

      ————————

      5c cf 7f 07 b6 d2

      ID FOR XM: 06 40 00 00 00 00 50 00

      XM_ID: 0640000000005000

      ————————

      crc_efuse_4bit: 0

      crc_calc_4bit: 3

      48bit mac

      MAC AP : 5E-CF-7F-07-B6-D2

      MAC STA: 5C-CF-7F-07-B6-D2

      get mac res:  True

      (‘tttest uuuuuuuuuuart : uart reg: ‘, 460)

      (‘ baudrate: ‘, 115200)

      get crystal: 26496000

      head: 0 ;total: 0

      erase size : 0

      get flash id : 0xff1640e0

      manufacturer_id: 0xe0

       

      device_id: 0x4016

       

      vendor: 224

      mode: 64

      size: 22

      com closed




      В основном окне итоговые данные

    7. мой модуль имеет следующие параметры
      flash vendor:
      E0h : N/A
      flash devID: 4016h QUAD; 32Mbit
      crystal: 26 Mhz
    8. Я буду прошивать для варианта  6. 32 Мбит флэш, карта: 1024KB + 1024KB, смотрим в таблицу и настраиваем программу для прошивки модуля последней версией.
    9. Проверяем командой (используем программу CommUart Assistant) 
    10. На этом обновление модуля закончено.

Примечание, при старте и перезапуске модуля видно, что на выходе UART присутствует неопределенное состояние, которое воспринимается как “мусор” в виде разного рода символов.


Тестирование AT команд 

Для тестирования удобно использовать терминальные программы китайской фирмы Cmsoft Technology. Загрузить пакет программ для дальнейшей работы 

Особенности программа CommUart Assistant предназначена для отладки AT команд, это возможность сохранять команды в стеке и потом их оперативно вызывать:

Менеджер команд:

Использование, необходимо ввести команду в окне и нажать Энтер (формируем в команде код возврата каретки и код перевода строки, эти коды необходимы, так как они являются для модуля окончанием команды и условием её выполнения). Нажимая клавишу Send отсылаем её в порт. Для записи устанавливаем курсор в окно ввода, нажимает Ctrl+A – выделяем все, Ctrl+S и сохраняем набранную команду в менеджере.


Базовые AT команды

КомандаОписание 
ATТест AT для проверки связи при включении 
AT+RSTПерезапуск модуля 
AT+GMRПросмотр информации о версии 
AT+GSLPEnter deep-sleep mode Вход в режим глубокого сна 
ATE AT команды эхо или нет
AT+RESTORE Сброс к заводским настройкам
AT+UART UART конфигурация (не рекомендуется для новых проектов)
AT+UART_CUR UART текущая конфигурация
AT+UART_DEF UART по умолчанию конфигурация, с сохранением на флэш
AT+SLEEP Режим сна
AT+RFPOWER Установка значения мощности радио передатчика
AT+RFVDD Установить RF TX мощность в соответствии с VDD33

Команды
1. AT – тест связи с модулем по UART при включении
Тип этой команды “выполнено”. Он используется для тестирования функции настройки беспроводного модуля Wi-Fi.

AT – Test AT startup
ОткликOK 
Параметрnull
Пример (команда – ответ)AT

OK

 2. AT+RST – Перезапуск модуля
Тип этой команды “выполнено”. Он используется, чтобы перезапустить модуль.

AT+RST – Restart module
ОткликOK 
Параметрnull
Пример (команда – ответ)AT+RST

OK

ets Jan 8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79

2nd boot version : 1. 5
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 32Mbit(1024KB+1024KB)
jump to run user1 @ 1000

rl??§с (мусор…перезапуск модуля)
read

3. AT+GMR – Просмотр информации о версии прошивки
Эта AT команды используется для проверки версии AT команд и SDK, которую использует модуль, тип её “выполнено”.

AT+GMR – View version info
Отклик<AT version info>
<SDK version info>
<compile time>
OK
Параметр<AT version info> information about AT version
<SDK version info> information about SDK version
<compile time> Время bin был составлен
Пример (команда – ответ)AT+GMR
AT version:1. 0.0.0(Apr 16 2016 13:02:45)
SDK version:1.5.3(aec24ac9)
compile time:Apr 18 2016 14:11:00
OK

4. AT+GSLP – Enter deep-sleep mode
Эта команда предназначена для вызова “глубокого спящего режима” модуля, тип которого является “установить”. Незначительная корректировка должна быть сделана до того, как ввести модуль режим глубокого сна, надо соединить XPD_DCDC(GPIO16) с EXT_RSTB(RST) через 0 Ом резистор.

AT+GSLP=<time>
Отклик<time>

OK

ПараметрЕдиница времени <time> в ms.
ESP8266 проснетесь после глубокого сна <time> ms.
Пример (команда – ответ)AT+GSLP=5000

OK
rlrl??§с
ready

5. ATE – AT commands echo
Эта команда ATE представляет собой команду триггера управления эхо-сигналом. Это означает, что подаваемые команды могут быть транслированы обратно отправителю. Возможны всего два параметра. Команда возвращает “OK” в обычных случаях и “ERROR”, когда параметр был определен, отличный от 0 или 1. По умолчанию эхо включен. Для обучения эхо желательно иметь включенным, а для работы можно выключить, чтобы убрать лишние данные.

ATE – AT commands echo
ОткликOK
ПараметрATE0 – Переключатель эхо отключен
ATE1 – Переключатель эхо включен
Пример (команда – ответ)ATE0

OK

ATE1

OK

6. AT+RESTORE – Factory reset
Эта команда используется для “сброса всех параметров”, восстанавливаются значения сохраненных во флэш (в соответствии с приложением), восстановление к заводским настройкам, значению по умолчанию. Модуль будет пере запущен, когда после выполнения команды.

AT+RESTORE – Factory reset
ОткликOK
ПараметрВосстановление заводских настроек.
Перезапуск модуля.
Пример (команда – ответ)AT+RESTORE

OK

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79

2nd boot versioboot version : 1. 5
SPI Speed PI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 32Mbit(1024KB+1024KB)
jump to run user1 @ 1000

rlЋ‚rlЊћвЊblЊbr|мbаrbЋаlbмтnоЂnnвlblЊlЊ?l§Ю???ll`?n§о
ready

7. AT+UART – UART configuration
Эта команда устанавливает конфигурацию UART и записывает новую конфигурацию во флэш. Он хранится в качестве параметра по умолчанию, а также будет использоваться в качестве скорости передачи данных по умолчанию в дальнейшем.

AT+UART=<baudrate>, <databits>, <stopbits>, <parity>, <flow control>
Эту команду не рекомендуется применять в разработках. Для новых разработок использовать команды AT+UART_CUR и AT+UART_DEF.
ПримерAT+UART=115200, 8, 1, 0, 0
ОткликOK
Параметр<baudrate>Baudrate range: 110 to 115200*40 (4. 608 Mega)
<databits>5: 5 bits data
6: 6 bits data
7: 7 bits data
8: 8 bits data
<stopbits>1: 1 bit stop bit
2: 1.5 bit stop bit
3: 2 bit stop bit
<parity>0: None
1: Odd
2: EVEN
<flow control>0: disable flow control
1: enable RTS
2: enable CTS
3: enable both RTS and CTS
Заметки• Эта конфигурация будет также хранить скорость передачи данных в качестве скорости по умолчанию в области параметров пользователя во флэш-памяти для загрузки.
• Управление потоком нуждается в поддержке аппаратных средств: MTCK в
UART0 CTS и MTDO в UART0 RTS.
Пример (команда – ответ)AT+UART=115200,8,1,0,0

OK

8. AT+UART_CUR – current UART configuration
Эта команда устанавливает текущую конфигурацию UART, она не сохраняет значение во флэш памяти. Эти настройки будут актуальны, только для текущего сеанса работы модуля. Эти настройки действуют до момента выключения питания или рестарта.

AT+UART_CUR=<baudrate>, <databits>, <stopbits>, <parity>, <flow control>
ПримерAT+UART_CUR=115200, 8, 1, 0, 0
ОткликOK
Параметр<baudrate>Baudrate диапазон: 110 до 115200*40 (4. 608 Mega)
<databits>5: 5 bits data
6: 6 bits data
7: 7 bits data
8: 8 bits data
<stopbits>1: 1 bit stop bit
2: 1.5 bit stop bit
3: 2 bit stop bit
<parity>0: None
1: Odd
2: EVEN
<flow control>0: disable flow control
1: enable RTS
2: enable CTS
3: enable both RTS and CTS
Заметки• Эта конфигурация не будет сохранять параметры во флэш-памяти для загрузки.
• Управление потоком нуждается в поддержке аппаратных средств: MTCK в
UART0 CTS и MTDO в UART0 RTS.
Пример (команда – ответ)AT+UART_CUR=115200,8,1,0,0

OK

9. AT+UART_DEF – default UART configuration
Эта команда устанавливает конфигурацию UART по умолчанию, она сохраняет значение во флэш памяти. И эта конфигурация будет вступать в силу при сбросе или при включении модуля и будет использоваться в дальнейшем.

AT+UART_DEF=<baudrate>, <databits>, <stopbits>, <parity>, <flow control>
ПримерAT+UART_DEF=115200, 8, 1, 0, 0
ОткликOK
Параметр<baudrate>Baudrate диапазон: 110 до 115200*40 (4. 608 Mega)
<databits>5: 5 bits data
6: 6 bits data
7: 7 bits data
8: 8 bits data
<stopbits>1: 1 bit stop bit
2: 1.5 bit stop bit
3: 2 bit stop bit
<parity>0: None
1: Odd
2: EVEN
<flow control>0: disable flow control
1: enable RTS
2: enable CTS
3: enable both RTS and CTS
Заметки• Эта конфигурация будет сохранять параметры во флэш-памяти для загрузки.
• Управление потоком нуждается в поддержке аппаратных средств: MTCK в
UART0 CTS и MTDO в UART0 RTS.
Пример (команда – ответ)AT+UART_DEF=115200,8,1,0,0

OK

10. AT+SLEEP – sleep mode
Эта команда переключает ESP8266 спящий режим. Она может быть использован только в режиме станции. По умолчанию, установлен режим – Модем-сон.

AT+SLEEP – sleep mode
КомандаAT+SLEEP?
Отклик+SLEEP : <sleep mode>
OK
Параметр<sleep mode>
0 : Отключить спящий режим
1 : режим Легкий-сон
2 : режим Модем-сон
Пример (команда – ответ)AT+SLEEP?
+SLEEP:2OK
КомандаAT+SLEEP=<sleep mode>
ОткликOK
Пример (команда – ответ)AT+SLEEP=0

OK

11. AT+RFPOWER– set maximum value of RF TX Power
Эта команда устанавливает значение выходной мощности радио передатчика ESP8266.

AT+RFPOWER – set RF TX Power
КомандаAT+RFPOWER=<TX power>
ОткликOK
Параметр<TX power>
0 : минимальное
82 : максимальное
Единица – 0.25 dBm
Пример (команда – ответ)AT+RFPOWER=82

OK

12. AT+RFVDD– set RF TX Power according to VDD33
Эта команда устанавливает ESP8266 RF TX мощность в соответствии с VDD33. Для того, чтобы получить напряжение мощности ESP8266 VDD3P3, TOUT вывод должен быть приостановлен. TOUT вывод должен быть приостановлен для измерения VDD33.

AT+RFVDD – set RF TX power according to VDD33
КомандаAT+RFVDD?
Отклик+RFVDD:<VDD33>
OK
Параметр<VDD33> Параметр VDD33  единица измерения: 1/1024 V. TOUT передача должна быть приостановлена для изменения VDD33.
Пример (команда – ответ)AT+RFVDD?
+RFVDD:65535OK
КомандаAT+RFVDD=<VDD33>
ОткликOK
Параметр<VDD33> power voltage of ESP8266 VDD33, range [1900, 3300]
Пример (команда – ответ)AT+RFVDD=3000

OK

КомандаAT+RFVDD
ОткликOK
Параметр“AT + RFVDD” автоматически установит RF TX мощность в соответствии с VDD33. TOUT передача должна быть приостановлена для изменения параметра.
Пример (команда – ответ)AT+RFVDD

OK



Это может быть интересно


  • Стабилизатор тока для светодиодов SN3350

    SN3350 ближайший аналог ZXLD1350 Как собрать готовый вариант, читайте во второй части – http://catcatcat.d-lan.dp.ua/stabilizator-toka-na-sn3350-chast-2/ 40V  драйвер светодиодов с внутренним ключом  SN3350 – импульсный понижающий преобразователь, разработанный для того, чтобы эффективно управлять одним или группой параллельно-последовательно …

  • Светодиоды со встроенным драйвером WS2812B

    Производитель http://www.world-semi.com Краткое описание продукции фирмы Каталог продукции” catcatcat_ws_19 catcatcat_ws_15 catcatcat_ws_11 catcatcat_ws_07 catcatcat_ws_03 catcatcat_ws_18 catcatcat_ws_14 catcatcat_ws_10 catcatcat_ws_06 catcatcat_ws_02 catcatcat_ws_05 catcatcat_ws_09 catcatcat_ws_13 catcatcat_ws_17 catcatcat_ws_16 catcatcat_ws_12 catcatcat_ws_08 catcatcat_ws_04 catcatcat_ws_01 This jQuery slider was …

  • Простой сенсорный регулятор света

    Простой сенсорный регулятор.  Проект – 2007 года. Регулятор выполнена на микроконтроллере PIC12F683 и имеет минимальное количество элементов. Выполняет стандартные функции, включение выключение света, изменение яркости, запоминание последнего установленного уровня и быстрое …

  • HVLD модуль на примере PIC24FJ128GA204

    HVLD модуль представляет собой простое устройство, для контроля напряжения питания микроконтроллера или внешнего напряжения (через делитель). Его задача при “выходе” напряжения за заданные пределы сформировать сообщение микроконтроллеру, что необходимо выполнить …

  • MPLAB® Code Configurator

    MPLAB ® Code конфигуратор (MCC) является свободно распространяемым плагином, это графическая среда программирования, которая генерирует бесшовный, легкий для понимания кода на Cи, чтобы вставить его в свой проект. Метки:MPLAB® Code …

  • PIC18 – модуль DMA

    Введение   Модуль прямого доступа к памяти (DMA) предназначен для обслуживания передачи данных непосредственно между различными областями памяти без вмешательства процессора. Исключив при этом необходимость в интенсивной  обработки прерываний процессором, …

  • ESP32-первое знакомство

    Музыкальная тема к статье, слушаем: Настало время познакомиться c ESP32 и для меня, для этого я приобрел в ГАММЕ отладочную плату с модулем ESP-WROOM-32 (ESP32-DevKitC). Первая задача, как он подключается, …

  • Система AT команд версии V2.0 для ESP8266 и ESP32

    Появление нового модуля на базе ESP32 заставило систематизировать систему AT команд, а так же систему обновления и для модулей на базе ESP8266. Начиная с версии v2.0 в ESP8266 внедряется прошивка …

  • LCD драйвер – UC1601s

    http://svetomuzyka.narod.ru/project/UC1601s.html Читайте обновление на http://catcatcat.d-lan.dp.ua/?page_id=178 В данный момент можно приобрести в ООО “Гамма” несколько типов индикаторов на драйвере UC1601s. RDX0048-GC, RDX0077-GS, RDX0154-GC и RDX0120-GC выполнены по технологии COG. Метки:UC1601s

  • LM317 и светодиоды

    LM317 и светодиоды статья с переработанная с сайта http://invent-systems.narod.ru/LM317.htm Долговечность светодиодов определяется качеством изготовления кристалла, а для белых светодиодов еще и качеством люминофора. В процессе эксплуатации скорость деградации кристалла зависит от …



 

Как и чем прошить устройство на контроллере ESP8266 — radiohlam.ru

Огромное число устройств домашней автоматизации сделано на различных модификациях плат с контроллерами ESP8266. Это легко объяснимо, учитывая, что всего за 2-3 доллара вы получаете достаточно маленькое (всего 24 х 16 мм) устройство, имеющее на борту WiFi, некоторое количество GPIO, интерфейсы UART и SPI, а также 10-битный АЦП.

SDK для контроллера выложен в открытый доступ и таким образом вы можете писать под этот контроллер свои собственные прошивки. Не хотите писать свои — ставьте чужие, их тоже в интернете чуть больше, чем очень много по различным сайтам и форумам. Из того, что я видел, самые приличные прошивки (как и самое живое обсуждение) в русскоязычном сегменте сети можно найти на сайте esp8266.ru.

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

Общая технология загрузки прошивки в ESP8266 такая: esp-шка запускается в режиме загрузки программы с порта UART0, далее специальная компьютерная программа заливает в неё через порт UART0 новую прошивку и записывает её в память. Всё, после этого контроллер можно перезапускать в нормальном режиме (загрузка с внутренней флешки).

Для того, чтобы esp-шка запустилась в режиме загрузки с UART0, у неё при старте пины GPIO15 и GPIO0 должны быть притянуты к «земле», а пин GPIO2 — к «питанию». Чтобы запустить esp-шку в нормальном режиме (загрузка с внутренней флешки), нужно чтобы при старте пин GPIO15 был притянут к «земле», а пины GPIO0 и GPIO2 — к «питанию». Как видите, разница только в состоянии пина GPIO0, пин GPIO15 в обоих случаях должен быть притянут к «земле», а пин GPIO2 — к питанию.

Итак, для того, чтобы залить прошивку, нам понадобятся следующие пины: RXD, TXD — передача данных, RST — рестарт модуля, GPIO15, GPIO0, GPIO2 — выбор режима загрузки после рестарта. Причём состоянием пинов GPIO15 и GPIO2 управлять не нужно, оно должно быть всегда одинаковым, то есть GPIO15 можно просто притянуть к «земле» через резистор, а GPIO2 оставить неподключенным (он при старте через внутренний резистор и так притянут к «питанию»).

В сети есть программа FLASH_DOWNLOAD_TOOLS_V3.4.2_Win (не знаю кто её автор, он не указан), которая использует для перепрошивки модулей на основе ESP8266 COM-порт компьютера, при этом для управления сигналом RST используется линия RTS, а для управления пином GPIO0 — линия DTR.

Интерфейс программы интуитивно понятен, — просто выбираем нужный COM-порт, а также области памяти, которые нужно перепрошить, и нажимаем кнопку START. По окончании процесса загрузки, если всё пройдёт успешно, вы увидите над кнопкой START надпись FINISH. Скорость — 115200. Ссылка на скачивание программы будет в конце статьи.

В соответствии со всем вышеизложенным, у меня получилась вот такая схема:

Как видите, вместо аппаратного COM-порта я использовал преобразователь USB-to-UART (RH-0003) на базе чипа cp2102. Это во-первых, решило проблему с преобразованием уровней (у COM-порта уровни -12/+12 вольт, а esp-шке нужны уровни 0/3.3В), и во-вторых, позволило использовать для подключения USB-порт.

Далее я соорудил себе небольшую макетку, на которую припаял модуль с ESP8266 и вывел в два ряда штырьков нужные мне сигналы, а также небольшой кабелёк для соединения преобразователя RH-0003 с этой макеткой. Вот и всё. Ниже вы можете видеть фотки получившейся конструкции. На первом фото макетка с ESP8266 показана со стороны разъёма для программирования, а на втором фото — с обратной стороны (видно припаянный модуль ESP-12F).

Скачать программу FLASH_DOWNLOAD_TOOLS_V3.4.2_Win

Посторонним В.: ESP8266 продолжение. Модуль ESP-12

В прошлой части я мучал модуль ESP-01 с AT-прошивкой. С тех пор прошло много времени, я успел заказать и получить более развитые модули ESP-12-E, о которых и пойдет речь в этот раз.
Будем прошивать NodeMCU, подключать SD-карту, дисплей на SSD1306, энкодер (rotary encoder) и FM-модуль RDA5807. После соединения всех этих модулей между собой в правильном порядке проводочками и правильного расположения бесчисленного количества байтиков во флеше ESP-12 должно получиться радио.

NodeMCU, стоит отметить, занятная штука! После прошивки в терминале доступно что-то типа командной строки языка Lua, где можно выполнять отдельные команды или целые скрипты, не компилируя каждый раз код и не перепрошивая модуль!

От гавеного usb-ttl адаптера такой модуль уже не смог прошиться, один вечер я его уговаривал разными программами — безрезультатно. Общение идет, MAC выдается, но потом все помирает, прошивка даже не начинает заливаться.
На следующий день я догадался измерить напругу на модуле, меньше 2В! Конечно нихрена не прошьется, нужно 3.3В.
Адаптер в качестве питальника тут совсем не годится. Запитал модуль от 2 батареек AAA и наконец прошил NodeMCU.
Использовал хорошую статью http://www.benlo.com/esp8266/esp8266QuickStart.html

Как подключить

По-моему самая годная схема подключения приведена в этой статье. Тут предусмотрено и использование режима сна (GPIO16 к ресету через 470R), и перемычка прошивки (Burn), и все нужные «подтяжки» — reset, gpio2, gpio0, gpio15, ch_pd (enable). 

Да уж, целая гора ног должна быть подтянута для старта железяки, я по незнанию боялся, что эти ноги не удастся использовать, однако напрасно — gpio 0, 2 и 15 доступны в приложении.

GPIO0 управляет режимом загрузки. Подтяжка к земле — режим программирования, заливки прошивки. Подтяжка к питанию — нормальная загрузка модуля
GPIO2 — должно быть притянуто к питанию всегда. низкий уровень инициирует специальные режимы загрузки
GPIO15 — должно быть притянуто к земле всегда. высокий уровень инициирует специальные режимы загрузки
GPIO16 должно быть замкнуто с пином RESET, если планируется использовать спящий режим. иначе модуль из спячки не выйдет никогда.
Вообще по вышеуказанной статье все намного лучше расписано.
И вот еще интересная страничка http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family#esp-12-e_q
Специальные режимы загрузки кратко описаны тут https://github.com/esp8266/esp8266-wiki/wiki/Boot-Process, есть даже загрузка с SD карты, во как.. Может быть для этого и выведены с торца модуля пины CS0, MISO, MOSI, SCLK?

Что имеется в распоряжении ESP?

Свободных GPIO — 9 ног: GPIO 0/2/4/5/12/13/14/15/16.
Последний (GPIO16) ограничен в функционале.
GPIO9 и 10 хоть и выведены, однако вообще не работают в модуле версии ESP-12-E (они только на ESP-12D, на али я такой не нашел, что интересно). Более того, попытка их использовать ведет к зависанию и ребуту по watchdog.

Есть ADC — можно контроль разряда батареи сделать или опрос клавы, но только что-то одно. Т.е. модуль измеряет либо внутреннее напряжение vdd33, либо внешнее, подаваемое на ногу ADC.

Выведены пины SPI, однако забудьте о них — в версии ESP-12-E они точно не пашут.
Подключение SD карты делается через несколько GPIO и софтовый SPI, об этом позже.

Ну и UART. Из железных возможностей это все. Остальное реализуется через GPIO, и, надо сказать, эти ноги очень быстро заканчиваются.

Где взять прошивку

Прошивал я программой ESP8266Flasher, в данном случае вариант первый — использовать прошивку NodeMCU, которая уже содержится в программе.
Она не особо свежая, однако для «пощупать» и быстрого старта вполне годится. В качестве bin-файла указывается INTERNAL://NODEMCU, см. скрин.

Способ второй, которым обычно и пользуюсь — пройти на сайт https://nodemcu-build.com/ и собрать себе бинарник со всеми нужными модулями. Через какое-то время (минуты 2-3) на почту придет ссылка для скачивания.

Способ третий, хардкорный. Скачать исходники из репозитория https://github.com/nodemcu/nodemcu-firmware и безжалостно собрать их.

Вернемся к способу 2.

К великой радости поклонников NodeMCU прошивка оная обновила мажорную версию на 1 и уже обросла множеством вкусных модулей, в частности, наконец-то, поддержка SD-карт и файловой системы FatFS (я пробовал карту с FAT32 — работает)! Этого-то мне и не хватало для счастья, погнал на https://nodemcu-build.com/ собирать себе бинарник прошивки.

Собрал один, другой, третий — ни один не пашет, модуль после прошивки бесконечно ребутается и выдает rf_cal[0] !=0x05,is 0xFF

Нашел заметку, где описана эта проблема http://nodemcu.readthedocs.io/en/latest/en/flash/#sdk-init-data, нашел в инете пустой bin-файл на blank_1MB.bin (8MBit), залил его, потом снова прошивку, но даже это не помогло.
т.е. после записи пустого бинарника выдалось esp_main.c, как положено, но после накатывания прошивки — опять та же фигня с ребутами.
upd: так ведь модуль у меня 32Мбит, наверное надо было 4 раза его заливать с разными offset, теперь уже проверять лень

В итоге я в очередной раз выбрал заливку собранного бинарника, но добавил еще заливку esp_init_data_default.bin в соответствии с рекомендацией. Адрес (оффсет) поначалу вписал 0xfc000 (т.к. чип при старте выдавал инфо 512+512кб), но в последний момент отчего-то решил сменить на 0x3fc000 (вариант для 32Мбитного флеша), и прокатило!
Запускаю LuaLoader и вижу приветственное сообщение на скорости 115200

NodeMCU custom build by frightanic.com
branch: master
commit: 7b83bbb2ea134cd85ac9d63108603cc02c4e20f7
SSL: true
modules: adc,bit,file,gpio,http,i2c,net,node,spi,tmr,u8g,uart,wifi,ws2812
 build  built on: 2016-11-16 16:26
 powered by Lua 5.1.4 on SDK 1.5.4.1(39cb9a32)
lua: cannot open init.lua

Chip info выдает

> =node.info()
1 5 4 654602 1458400 4096 0 40000000

NodeMCU version (1.5.4), chipid, flashid, flash size (4096!), flash mode, flash speed

Connect them all

Карта соответствия I/O индексов пинам GPIOx тут.

IO indexESP8266 pinIO indexESP8266 pin
0 *GPIO167GPIO13
1GPIO58GPIO15
2GPIO49GPIO3
3GPIO010GPIO1
4GPIO211GPIO9
5GPIO1412GPIO10
6GPIO12

* D0(GPIO16) can only be used as gpio read/write. No support for open-drain/interrupt/pwm/i2c/ow.

Первым делом втыкаем FM-модуль RDA5807 и OLED дисплей на SSD1306. Оба через интерфейс I2C. Я выбрал ноги GPIO4 и GPIO5. Требуется модуль i2c, а для дисплея еще u8g.

Чтобы включить радио нужно выполнить такой скрипт

fm_addr = 0x11
id  = 0
sda = 1 — gpio5
scl = 2 — gpio4
i2c.setup(id, sda, scl, i2c.SLOW)
— включаем железку
reg_addr = 0x02
i2c.start(id)
i2c.address(id, fm_addr, i2c.TRANSMITTER)
i2c.write(id, reg_addr, 0xC0, 0x0D)
i2c.stop(id)
— запускаем автопоиск станции
reg_addr = 0x02
i2c.start(id)
i2c.address(id, fm_addr, i2c.TRANSMITTER)
i2c.write(id, reg_addr, 0xC3, 0x0D)
i2c.stop(id)

Разумеется стоит оформить запись регистров в виде функций

Для вывода чего-нибудь на дисплей простейший скрипт такой

sla = 0x3c — oled address
disp = u8g.ssd1306_128x64_i2c(sla)
disp:firstPage()
disp:setFont(u8g.font_6x10)
disp:drawStr(40, 8, «SSD1306 OLED»)
disp:nextPage()

Более подробно о работе с FM-модулем и дисплеем — в следующей статье.

Далее подключаем SD-карту. У меня был специальный китайский модуль для SD, см.фото. Требуется модуль spi.

  • CK, CLK, SCLK to pin5 / GPIO14 
  • DO, DAT0, MISO to pin 6 / GPIO12 
  • DI, CMD, MOSI to pin 7 / GPIO13 
  • CS, DAT3, SS to pin 8 / GPIO15 recommended 
  • VCC, VDD to 3V3 supply 
  • VSS, GND to common ground

Подключил, причем GPIO15 так и остался подтянут к земле через 1к2 (надо 10к, да, но их не было), загрузил ESP-12 — все ок. GPIO 12, 13, 14, 15 теперь заняты.

Далее для проверки карты выполнил следующее

spi.setup(1, spi.MASTER, spi.CPOL_LOW, spi.CPHA_LOW, 8, 8)
vol = file.mount(«/SD0», 8) — 8 is GPIO15
file.chdir(«/SD0»)
l = file.list()
for k,v in pairs(l) do
    print(«name:»..k..», size:»..v)
end

и получил заветный список файлов на карте!

Пробуем записать тестовый текстовый файл

file.open(«test.txt», «w»)
file.write(‘foo bar’)
file.close()
— теперь прочитаем
file.open(«test.txt», «r»)
print(file.readline())
file.close()

чтобы вернуться на внутреннюю память ESP выполняем file.chdir(«/FLASH»)

а еще можно не меняя папки

file.open(«/FLASH/file.txt») или file.open(«/SD0/somefile.txt»)

И последнее — подключаем энкодер. Требуется модуль rotary. У нас осталось 3 свободных ноги — GPIO16, 0 и 2.
Но засада в том, что GPIO16 не годится ни на что, кроме как вручную выставить на этой ноге уровень или прочитать его. С этой ногой не работает ни один интерфейс, и прерывания тоже не работают. Так что, выходит, событие «нажатие на энкодер» не удастся подключить.
Стартовый скрипт — простейший.

rotary.setup(0, 3, 4)
rotary.on(0, rotary.ALL, function (type, pos, when)
  print («Position=» .. pos .. » event type=» .. type .. » time=» .. when)
end)

Заняли оставшиеся 2 GPIO — 2 и 0.

Да уж, после AVR Assembler тут все слишком легко, подключаешь — и все сразу работает, даже неинтересно.
Правда с энкодером загвоздка вышла. При старте ESP он-таки влияет на пины GPIO0/2 и модуль не грузится как надо.
Эту проблему я решил перестановкой — повесил I2C на пины GPIO0+2, а энкодер — на GPIO4+5, все нормально запускается и работает.

Теперь можно все это запрограммировывать.

Немного замеров

Питание от литиевой батареи 3.7В формата 18650.
Только что загруженная NodeMcu dev ветка — 3.12В, 77мА
Дисплей OLED 128×64 при выводе изображения добавил еще 8мА.
Проект ESP8266_MP3_DECODER: динамик 1Вт 8Ом подключен напрямую к ноге ESP-12E, измеряю ток мультиметром в разрыве питания — 131мА.
Напряжение до тестера — 3.58В, после — 2.7В, вот уж не думал, что он такое влияние вносит! Напругу при включенном тестере измерял осциллографом.

Восстановление прошивки AT на ESP8266

В большинстве случаев я использую мини-платы для разработки Wemos D1 в сочетании с Arduino IDE, чтобы создать собственную прошивку для работы непосредственно на микросхеме ESP8266. Но у меня также есть несколько голых модулей ESP-01 и ESP-12, и недавно я придумал план использовать один из них.

Конкретный проект требует очень хорошо контролируемой синхронизации АЦП, для чего я буду использовать обычную плату Arduino на базе ATmega328P. В этом проекте ESP8266 будет использоваться только для передачи данных через WiFi.Ни на моем ESP-01, ни на моем ESP-12 нет оригинальной прошивки AT, так как я экспериментировал с различными другими прошивками.

Здесь начинается проблема, поскольку мой план требовал восстановления моего ESP-12 до микропрограммы AT и использования библиотеки, такой как ESP8266wifi или WiFiEsp. Я понимаю, что раньше у меня были проблемы с разными прошивками, поэтому в этом посте я дам краткий обзор и сохраню некоторые заметки для будущего использования.

Форм-фактор модуля

Микрочип ESP8266 поставляется на различных платах разработки, которые включают интерфейс USB, таких как Wemos D1 Mini и плата NodeMCU, а также в виде голых модулей, таких как ESP-01, 02 и т. Д.На этой странице вики ESP8266 есть обзор всех модулей, и на этой странице есть сравнение некоторых необработанных модулей с некоторыми из плат для разработки.

Модуль ESP-01:

Модуль ESP-12:

Объем флэш-памяти

Помимо количества выводов GPIO, доступных для каждого из модулей, еще одной важной особенностью является их объем флэш-памяти. На веб-сайте AI-Thinker есть таблица со списком модулей, которая включает это. Модуль ESP-01 поставляется с флэш-памятью 512 КБ (старые модули) или 1 МБ (сейчас более распространены).Модуль ESP-12 поставляется с 4 МБ. Обратите внимание, что есть платы для разработки, такие как Wemos D1 mini pro, у которых даже больше.

Прошивка

Поскольку ESP8266 в настоящее время полностью поддерживается в Arduino IDE, я предпочитаю разрабатывать свою собственную прошивку для ESP8266 с использованием C / C ++, Arduino IDE и библиотек. Итак, наиболее сбивающим с толку аспектом ESP8266 для меня является то, что для него доступно несколько «стандартных» прошивок, которые я часто случайно путаю. К ним относятся

  • Прошивка AT, сравнимая с набором команд Hayes на старых модемах.
  • Прошивка NodeMCU, которая включает интерпретатор LUA.
  • Микропрограмма MicroPython, которая включает интерпретатор Python.
  • Прошивка Espruino, которая включает интерпретатор JavaScript.

Для вариантов прошивки, которые включают интерпретатор Python или JavaScript, следует упомянуть, что существуют другие версии от других компаний / проектов.

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

Восстановление прошивки AT

Чтобы прошить прошивку на ESP8266, вам нужно подключить его и установить в режиме правильного загрузчика. Для этого есть много онлайн-руководств, и я не буду здесь вдаваться в подробности. Вам также понадобится программное обеспечение для написания новой прошивки, я использую исключительно esptool.py.

Я пробовал различные варианты прошивки ESP-12 оригинальной прошивкой, большинство из которых не удалось. Задача состоит в том, чтобы выяснить, какая прошивка совместима с моим конкретным модулем и в какие места флэш-памяти записывать различные части прошивки.В следующем разделе я опишу три вещи, которые работали, от самой старой до самой последней версии прошивки.

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

esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x00000 v0.9.2.2 \ AT \ Firmware.bin

Впоследствии я смог подключиться в терминальной программе со скоростью 9600 бит / с и получил

[Система готова, производитель: www.ai-thinker.com]
AT + GMR

0018000902

ОК

Используя старую микропрограмму AT от самого Espressif с «Официальными командами ESP8266 AT +» из их старого репозитория GitHub, я также смог заставить ее работать:

esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x00000 boot_v1.1.bin
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x01000 новейший / пользователь1.bin
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x7C000 esp_init_data_default.bin
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash -flash_mode dio 0x7E000 blank.bin

Впоследствии я смог подключиться в терминальной программе со скоростью 115200 бит / с и получил

готов
AT + GMR

00200.9.4

ОК

Руководство по началу работы с Espressif ESP8266 SDK содержит самую свежую информацию о структуре флэш-памяти.Использование выпуска 2.2.1 из репозитория Espressif NONOS_SDK и

esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x00000 boot_v1.2.bin
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x01000 at / 512 + 512 / user1.1024.new.2.bin
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x7C000 esp_init_data_default_v05.bin 900 esptool.py --port / dev / tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x7E000 blank.bin

У меня тоже был успех, и я смог подключиться в терминальной программе со скоростью 115200 бит / с. В результате получился следующий ответ

готов
AT + GMR
Версия AT: 1.6.2.0 (13 апреля 2018 г. 11:10:59)
Версия SDK: 2.2.1 (6ab97e9) Время компиляции
: 7 июня 2018 г. 19:34:26
Версия Bin ( Wroom 02): 1.6.2

У меня не было успеха с выпуском 3.0 из репозитория Espressif NONOS_SDK.У этого нет каталога «512 + 512», только каталог «1024 + 1024», который я не мог заставить работать на моем ESP-12. Предложения по выполнению этой работы приветствуются.

Как подготовить ESP8266 (ESP-12) к перепрошивке — Sensatio

Использование ESP-версии ESP8266 (например, ESP-12e, ESP-12f, ESP-12s,…) дает некоторые преимущества по сравнению с платами разработчика, такими как NodeMCU или WeMos D1 Mini (и многими другими совместимыми платами). В этом руководстве вы узнаете, как подключить ESP8266, чтобы его запрограммировать (прошить).

Вот два самых важных:

  • ESP12 на компактнее и на дешевле
  • Он имеет на более низкое энергопотребление. (даже при нормальной работе) из-за отсутствия дополнительных компонентов, которые часто не нужны в повседневной работе, таких как преобразователь USB в последовательный порт или регулятор напряжения с 5 В на 3,3 В.

Конечно, это означает не только преимущества: для установки на него прошивки вам понадобится переходник с USB на последовательный порт (например.грамм. вот этот) и несколько резисторов (в зависимости от варианта 2 или 5 штук с сопротивлением около 10 кОм) для перевода микросхемы в правильный режим работы.

Но тогда вы будете вознаграждены совершенно новыми возможностями, например, опция для работы микросхемы в «глубоком спящем режиме» — при этом вы значительно снижаете энергопотребление и, таким образом, обеспечиваете удовлетворительную работу с питанием от батареи .

Оригинальный ESP-12 без платы адаптера

На этом рисунке вы можете увидеть микросхему ESP-12 (кстати: ее варианты, такие как ESP-07 с антенным разъемом, часто имеют одинаковое назначение контактов), и то, как он подготовлен с помощью 5 резисторов 10 кОм для нормальной работы. , а также режим вспышки.

Если вы хотите установить прошивку Sensate на чип, вам просто нужно замкнуть переключатель (это можно сделать перемычкой или проволочной перемычкой) и отключить питание ESP-12. В качестве альтернативы вы также можете установить переключатель сброса (с RST на землю).

Как только вы это сделаете, ESP перейдет в режим флэш-памяти, и теперь его можно воспроизводить, как описано в Руководстве по микропрограммному обеспечению.

Оригинальный ESP-12 на плате адаптера

На этом чертеже вы можете увидеть микросхему ESP-12 (кстати: варианты, такие как ESP07 с антенным разъемом, часто имеют одинаковое назначение контактов), которая была припаяна к плате адаптера.Поскольку адаптер уже оснащен некоторыми резисторами, вам понадобится всего два резистора 10 кОм для нормальной работы и режима вспышки.

Если вы хотите установить прошивку Sensate на чип, вам просто нужно замкнуть переключатель (вы можете реализовать это с помощью перемычки или перемычки) и отключить питание ESP-12. В качестве альтернативы вы также можете установить переключатель сброса (с RST на землю).

Как только вы это сделаете, ESP перейдет в режим флэш-памяти, и теперь его можно воспроизводить, как описано в Руководстве по микропрограммному обеспечению.

NodeMCU, WeMos D1 Mini (и другие)

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

А теперь…?

Ознакомьтесь с нашими руководствами, в некоторых из них используются именно эти чипы!

Как обновить прошивку ESP8266 во флэш-памяти

Это второй проект на ESP8266, и в этом проекте я покажу вам, как прошить официальную прошивку Espressif в ESP8266 с помощью Arduino.Этот проект также можно использовать, если вы хотите обновить прошивку ESP8266 до последней версии.

В предыдущем проекте ESP8266 мы видели, как написать нашу собственную программу на ESP8266 с использованием Arduino IDE и управлять светодиодом с помощью контактов GPIO. В том же проекте я упоминал, что по умолчанию модуль ESP8266 ESP-01 поставляется с микропрограммой AT-команд.

Но если мы напишем нашу собственную программу для доступа к контактам GPIO (как мы это делали в предыдущем проекте), существующая прошивка будет полностью стерта и будет написана новая программа.

Несмотря на то, что модуль WiFi ESP8266 производится компанией Espressif Systems, SoC используется многими сторонними производителями для реализации своих собственных модулей. В моем случае у меня есть модуль ESP8266 ESP-01 от AI-Thinker.

Это приводит к множеству вопросов, например, оригинальная прошивка или нет, актуальна прошивка или нет и многие другие.

Итак, в этом проекте мы прошиваем официальную прошивку Espressif Systems для модуля ESP8266 с помощью официального ESP8266 Flasher Tool, предоставляемого Espressif Systems, который представляет собой ESP8266 FLASH DOWNLOAD TOOL и Arduino UNO в качестве USB-последовательного интерфейса.

Прошивка ESP8266 может быть установлена ​​по двум причинам: если вы хотите обновить прошивку ESP8266 до последней версии или полностью установить новую прошивку (в случае, если она была перезаписана какой-либо программой). Итак, приступим.

Настройка оборудования для обновления микропрограммы ESP8266

Перед тем, как приступить к процессу обновления микропрограммы SoC ESP8266, важно настроить модуль WiFi ESP8266 в режиме загрузки или режиме программирования.

Если вы помните, в проекте НАЧАЛО РАБОТЫ С ESP8266 И ARDUINO я упоминал, что выводы GPIO0 и RST модуля ESP8266 играют важную роль в его настройке в режиме загрузки.

Мы реализуем ту же настройку и здесь. Итак, подключения следующие.

  • VCC на 3,3 В
  • GND на GND
  • TX на TX Arduino UNO
  • RX на RX Arduino UNO (через преобразователь уровня)
  • GPIO0 на GND
  • RST на GND через кнопку
  • CH_PD на 3.3V

Принципиальная схема для прошивки ESP8266

На следующем изображении показана принципиальная схема для включения режима перепрошивки в ESP8266.Чтобы перевести SoC ESP8266 в режим мигания, вывод GPIO0 должен быть подключен к GND, а кратковременный импульс GND на выводе RST.

Необходимые компоненты

  • Arduino UNO
  • ESP8266 ESP-01 (любой модуль ESP8266)
  • Резистор 1 кОм
  • Резистор 2,2 кОм
  • Кнопка
  • Переключатель SPDT
  • Подключение проводов
  • Мини-макетная плата

    ВАЖНЫЕ ЗАМЕЧАНИЯ

    • Прежде чем продолжить, обратитесь к предыдущему проекту для настройки Arduino IDE и подготовки Arduino UNO к прошивке прошивки.
    • Я подключил контакт GPIO0 к GND напрямую. И после прошивки прошивки отключил от GND. Вы можете использовать переключатель SPDT для достижения этого действия, то есть в одном положении GPIO0 подключен к GND, а в другом положении его можно использовать как GPIO.
    • ESP8266 не переносит 5В. Он должен быть подключен к 3,3 В. Даже вывод RX ESP8266 подключен через преобразователь уровня.

    Проверка текущей версии микропрограммы

    Перед установкой микропрограммы мы сначала проверим существующую микропрограмму в модуле ESP8266, используя последовательную связь.Для этого нам нужно отключить вывод GPIO0 от GND. *ВАЖНЫЙ*.

    После выполнения подключений в соответствии с приведенной выше схемой (и отключения GPIO0 от GND) подключите USB-кабель Arduino к компьютеру и откройте любое ПО последовательного монитора. Я использую Serial Monitor Arduino. Вы можете использовать любое программное обеспечение, такое как Putty, Terminal и т. Д.

    В Arduino IDE выберите правильный COM-порт и откройте Serial Monitor. Установите скорость передачи 115200 и выберите опцию NL и CR в последовательном мониторе.После этого нажмите кнопку RST на ESP8266 на секунду и отпустите. Модуль ESP8266 перезагрузится и отобразит «готово» после некорректных данных на последовательном мониторе.

    Чтобы проверить версию прошивки, вам необходимо ввести следующую AT-команду и нажать «Отправить». Эта команда вернет версию прошивки модуля ESP8266. Все AT-команды должны быть в верхнем регистре.

    Если вы заметили, у меня прошивка от Ai-Thinker Technology, производителя моего модуля ESP8266 ESP-01, и она довольно старая.Версия набора AT-команд — 0.21.0.0, а версия SDK — 0.9.5.

    Я заменю эту прошивку на Espressif Firmware (производитель ESP8266 SoC).

    ПРИМЕЧАНИЕ : Убедитесь, что контакт GPIO0 подключен к GND, прежде чем продолжить.

    Загрузка последней версии микропрограммы ESP8266

    Существует два типа SDK или комплектов разработки программного обеспечения для ESP8266: SDK без ОС и SDK RTOS. Не-OS SDK, как следует из названия, не основан на какой-либо ОС.Используя этот SDK, вы можете скомпилировать IOT_Demo и AT-команды. С другой стороны, RTOS SDK основан на FreeRTOS.

    Я буду использовать Non-OS SDK (ну, технически, файлы прошивки, основанные на Non-OS SDK). Файлы прошивки ESP8266 представлены в виде двоичных файлов, то есть файлов .bin.

    Теперь, поскольку я буду использовать только набор AT-команд ESP8266, я буду загружать только Bin-файлы, связанные с AT-командами. Чтобы загрузить прошивку AT-команд для ESP8266, перейдите по официальной ссылке здесь или загрузите напрямую по этой ссылке .

    Существуют и другие версии прошивки для модуля ESP8266. Сначала попробуйте процедуру, описанную в этом проекте, и, если вам это удастся, вы можете попробовать установить другую прошивку ESP8266. Остальные прошивки можно скачать в разделе SDK по указанной выше ссылке.

    Загрузка ESP8266 Flash Download Tool

    Следующим шагом является загрузка инструмента для обновления прошивки ESP8266. Специально для этой цели Espressif Systems разработала небольшое программное обеспечение. Он называется ESP Flash Download Tool.

    Чтобы загрузить ESP8266 Firmware Flash Download Tool, перейдите по ссылке по этой ссылке и в разделе «Инструменты» загрузите ESP Flash Download Tools или вы можете напрямую загрузить с по этой ссылке .

    Теперь, когда мы загрузили прошивку и программу Flasher для ESP8266, мы продолжим установку прошивки в ESP8266.

    Установка прошивки в ESP8266

    Чтобы прошить прошивку в ESP8266, сначала откройте Flash Download Tool или программу прошивки ESP8266.На момент работы над этим проектом у меня стоит версия 3.6.2.2. Итак, открываем файл приложения ESPFlashDownloadTool_v3.6.2.2.

    Затем вы получите различные варианты, такие как ESP8266 Download Tool, ESP8285 Download Tool, ESP32 Download Tool и ESP32D2WD Download Tool. Выберите инструмент загрузки ESP8266.

    После открытия ESP8266 Flash Download Tool необходимо выбрать файлы прошивки, которые нам нужно установить. Вам нужно загрузить четыре файла по четырем разным адресам.Следующая таблица предоставит вам список файлов и их соответствующие адреса.

    ПРИМЕЧАНИЕ. Этот список предназначен для сопоставления флэш-памяти с микропрограммным обеспечением по воздуху (FOTA) для модулей ESP8266 с 1 МБ флэш-памяти. Информацию о других размерах вспышки см. В Руководстве по началу работы с ESP8266 по этой ссылке.

    1024.new.2.bin

    Файл

    Адрес во флэш-памяти

    boot_v1.7.bin

    0x00000

    0x00000

    0x10000

    esp_init_data_default.bin

    0xFC000

    0002 0xFC000

    blank.bin

    9036 Инструмент загрузки на вкладке загрузки SPI выберите необходимые файлы в параметре «Конфигурация пути для загрузки», нажав кнопку (…). Также добавьте соответствующие адреса в отведенное место.

    После выбора четырех файлов и заполнения адресов установите частоту кристалла на 26 МГц (обычно это 26 МГц, но в случае, если ваша плата ESP8266 имеет другой кристалл, введите это значение).Затем выберите размер вспышки. Поскольку у меня есть встроенная флэш-память размером 1 МБ, я выбрал вариант размера флэш-памяти 8 МБ (что соответствует 1 МБ).

    Наконец, выберите правильный COM-порт и установите скорость передачи на 115200. Убедитесь, что все последовательные терминалы закрыты.

    Перед тем, как начать перепрошивку, убедитесь, что GPIO0 подключен к GND, и подайте импульс LOW (нажмите кнопку Reset) на выводе RST.

    Теперь нажмите кнопку СТАРТ. Должна начаться перепрошивка прошивки в ESP8266.Если вы заметили в программе ESP8266 Firmware Flash Tool, в тот момент, когда вы нажмете кнопку «ПУСК», вы получите два MAC-адреса как AP и STA, а также информацию о модуле в разделе ОБНАРУЖЕННАЯ ИНФОРМАЦИЯ.

    Если все идет хорошо, модуль ESP8266 необходимо обновить до новой прошивки. Если есть какая-либо ошибка, отсоедините USB-кабель, подключите его еще раз и после нажатия на START нажмите кнопку Reset на ESP8266.

    Вы получите сообщение FINISH на инструменте, и вы сможете закрыть его после этого.Отключите GPIO0 от GND и перезагрузите устройство. Снова откройте монитор последовательного порта Arduino и проверьте наличие новой прошивки.

    ПРИМЕЧАНИЕ : Нажмите кнопку «Сброс» после открытия последовательного монитора.

    Чтобы проверить версию прошивки, введите AT + GMR и нажмите «Отправить». Вы получите ответ с номером версии AT и номером версии SDK. В моем случае новая версия набора AT-команд — 1.5.0.0, а версия SDK — 2.1.0.

    В этом проекте вы увидели, как обновить / прошить прошивку в модуле ESP8266 с помощью официальной прошивки Espressif ESP8266.

    Прошивка прошивки — Документация NodeMCU

    Ниже вы найдете всю необходимую информацию для прошивки двоичного файла прошивки NodeMCU в ESP8266 или ESP8285. Обратите внимание, что это справочная документация, а не руководство со снимками экрана. Для этого обратитесь к документации соответствующего инструмента.

    Внимание

    Имейте в виду, что ESP8266 необходимо перевести в режим прошивки, прежде чем вы сможете прошивать новую прошивку!

    Важно

    При переключении между версиями NodeMCU см. Примечания о
    Обновление прошивки.

    esptool.py

    Основанная на Python утилита с открытым исходным кодом, независимая от платформы, для связи с загрузчиком ПЗУ в Espressif ESP8266.

    Источник: https://github.com/espressif/esptool

    Поддерживаемые платформы: OS X, Linux, Windows, все, что работает под управлением Python

    Запуск esptool.py

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

    esptool.py --port write_flash -fm 0x00000 .bin

    flash-mode — это qio для большинства ESP8266 ESP-01/07 (модули 512 кБ) и dio для большинства ESP32 и ESP8266 ESP-12 (> = 4 МБ модулей). ESP8285 требует dout .

    Попался

    • См. Ниже, если вы не знаете или не уверены в емкости флеш-чипа на вашем устройстве.Это может помочь дважды проверить, например, некоторые модули ESP-01 имеют 512 КБ, а другие — 1 МБ.
    • esptool.py находится в стадии интенсивной разработки. Рекомендуется запустить последнюю версию (проверьте с помощью esptool.py версии ). Поскольку эта документация могла не соответствовать текущим параметрам и параметрам, обратитесь к документации по режимам флэш-памяти esptool.
    • Файл образа прошивки содержит настройки по умолчанию dio для режима вспышки и 40m для частоты вспышки.
    • В некоторых необычных случаях данные инициализации SDK могут быть недопустимыми, и NodeMCU может не загрузиться. Самое простое решение — полностью стереть чип перед прошивкой:
      esptool.py --port erase_flash

    NodeMCU PyFlasher

    Автономный флешер NodeMCU с графическим интерфейсом на основе esptool.py и wxPython.

    Источник: https://github.com/marcelstoer/nodemcu-pyflasher

    Поддерживаемые платформы: все, что работает на Python, запускается .exe доступен для Windows и .dmg для macOS

    Заявление об ограничении ответственности: о доступности NodeMCU PyFlasher было объявлено на странице NodeMCU в Facebook, но это не официальное предложение текущей команды разработчиков прошивки NodeMCU.

    Перевод устройства в режим прошивки

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

    Если у вас есть комплект разработчика NodeMCU, вам не нужно ничего делать, так как USB-соединение может снизить уровень GPIO0, установив DTR, и сбросить вашу плату, установив RTS.

    Если у вас есть ESP-01 или другое устройство без встроенного USB, вам нужно будет включить прошивку самостоятельно, потянув GPIO0 на низкий уровень или нажав переключатель «flash» при включении или сбросе модуля.

    Какие файлы для прошивки

    Если вы создаете свою прошивку с помощью облачного компоновщика или образа Docker, или любого другого метода, который создает объединенный двоичный файл , то вы можете прошить этот файл напрямую по адресу 0x00000.

    В противном случае, если вы собрали свою собственную прошивку из исходного кода:

    • bin / 0x00000.bin до 0x00000
    • bin / 0x10000.bin от до 0x10000

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

    Существует три потенциальных проблемы, которые возникают при обновлении (или понижении!) Прошивки с одной версии NodeMCU до другой:

    • Сценарии

      Lua, написанные для одной версии NodeMCU (например, 0.9.x), могут работать без ошибок в более свежих прошивках. Например, Espressif изменил операцию сокета : отправить на асинхронную, т.е. неблокирующую. Подробности см. В документации по API.

    • Возможно, потребуется переформатировать файловую систему флэш-памяти NodeMCU, особенно если ее адрес изменился из-за того, что размер новой микропрограммы отличается от старой. Если он не форматируется автоматически, он должен быть действительным и иметь то же содержимое, что и до операции флэш-памяти. Вы по-прежнему можете запустить file.format () вручную, чтобы переформатировать файловую систему флэш-памяти. Вы узнаете, нужно ли вам это делать, если ваши флэш-файлы существуют, но кажутся пустыми, или если данные не могут быть записаны в новые файлы.Однако это должен быть исключительный случай.
      Форматирование файловой системы на большом флэш-устройстве (например, части размером 16 МБ) может занять некоторое время. Итак, при первой загрузке не стоит беспокоиться, если в течение минуты ничего не происходит. На консоль выводится сообщение, чтобы вы знали об этом.

    • Начальные данные Espressif SDK могут меняться в зависимости от версии прошивки NodeMCU, и, возможно, их необходимо стереть или перепрограммировать. См. Подробности в разделе «Исходные данные SDK». Полное стирание модуля перед обновлением прошивки позволит избежать этой проблемы.

    Начальные данные SDK

    версии NodeMCU скомпилированы для конкретных версий Espressif SDK. SDK резервирует место во флеш-памяти, которое используется для хранения калибровочных и других данных. Espressif называет эту область «Системными параметрами» и занимает четыре сектора по 4 Кбайт флэш-памяти. Пятый сектор размером 4 Кбайта также зарезервирован для ВЧ-калибровки.
    — В сборках SDK версии 2.x эти 5 секторов расположены на последних страницах флэш-памяти.
    — В сборках SDK версии 3.x эти 5 секторов расположены на неиспользуемых страницах по смещению флэш-памяти 0x0B000-0x0FFFF, между bin / 0x00000.сегмент bin по адресу 0x00000 и bin / 0x10000.bin с по 0x10000.

    Если эти данные будут повреждены или вы обновляете основные версии SDK, микропрограмма может не загружаться правильно. Симптомы включают такие сообщения, как rf_cal [0]! = 0x05, is 0xFF , или бесконечные циклы перезагрузки и / или быстро мигающие светодиоды модуля. Если вы видите один или несколько из вышеперечисленных симптомов, убедитесь, что ваш чип полностью очищен перед перепрошивкой, например, с помощью esptool.py . Версия SDK 3.x встроенное ПО определяет, был ли стерт или поврежден сектор калибровки RF, и автоматически инициализирует его с правильным содержимым перед перезапуском процессора. Это работает для всех поддерживаемых SDK размеров флеш-памяти.

    Определить размер вспышки

    Самый простой способ определить емкость флэш-памяти — загрузить прошивку, а затем распечатать (node.info'hw'.flash_size) , который сообщает размер флэш-памяти в килобайтах. В качестве альтернативы, если вы хотите определить емкость микросхемы флэш-памяти до установки микропрограммы , вы можете выполнить следующую команду.Это вернет 2-значный идентификатор производителя и 4-значный идентификатор устройства и обнаруженный размер флэш-памяти.

    esptool.py --port flash_id
    Затем идентификатор чипа можно найти на https://review.coreboot.org/cgit/flashrom.git/tree/flashchips.h.

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

    Esp8266 — спонсор

    Введение:

    Модуль ESP8266 — это дешевый беспроводной модуль. Он имеет SOC (система на кристалле), который может обеспечить Wi-Fi для любого микроконтроллера / микропроцессора.Есть два способа использования esp8266.

    1. Автономный esp8266
    2. Esp8266 с raspberry pi или arduino или stm32

    Для правильной работы Esp8266 требуется внешнее напряжение 3,3 В. Если вы используете esp8266 с arduino, постарайтесь не обеспечивать питание от arduino. Максимальный ток, обеспечиваемый Arduino, составляет 40 мА, в то время как esp8266 потребляет 250 мА. Скорее всего, проблема заключается в загрузке новой прошивки или при использовании esp8266

    . Новичкам рекомендуется использовать плату node mcu, доступную на рынке.Существует два типа плат: одна с RGB-светодиодами и датчиком Ldr, а другая — только с выводами. Эта плата имеет встроенный регулятор напряжения, который обеспечивает надлежащую мощность.

    1. esp8266 witty board
    2. Node Mcu /

    Шаг 1: Найдите программное обеспечение Esp8266 Flash

    Загрузите программное обеспечение с диска

    Шаг 2: Найдите файлы прошивки ESP8266

    Перейдите по этой ссылке ниже, чтобы найти файлы прошивки.

    1. Последнее обновление прошивки AT 2017 сен
    2. https: // github.com / espressif / ESP8266_AT
    3. https://drive.google.com/file/d/0B3dUKfqzZnlwdUJUc2hkZDUyVjA/view
    4. https://drive.google.com/open?id=1c0zO8dbw5pIAc0lDiGues 908dbw5pIAc0lDYAg9 3: Подключение ESP к Flash Mode
      1. Модуль ESP 8266-01
      • Использование адаптера программатора Esp01

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

      Очень удобно и очень быстро.

      Адаптер Esp01-программатора

      Примечание : Модуль не входит в плату программирования напрямую. Для этого вам нужно припаять к нему перемычку. Пожалуйста, обратитесь к фотографии для этого. Перемычка припаяна между gpio 0 и контактом заземления .Если не использовать в режиме программирования, переместите перемычку на пустой контакт.

      • Использование модуля питания BreadBoard

      Источник питания макетной платы

      С помощью этого модуля вы можете отдельно подавать 5 В на arduino и 3.3 В на esp8266 одновременно. В этом вся прелесть этого модуля.

      Вывод Esp rx также требует 3,3 В. Если вы попытаетесь подключить arduino tx к esp rx. Модуль esp может получить повреждения. Чтобы этого не произошло, вы можете сделать две вещи.

      1. Используйте делитель напряжения
      2. Используйте переключатель уровня

      1. Для этого в делителе напряжения

      используйте резисторы 20 кОм и 10 кОм. Пожалуйста, проверьте соединение на фото

      vcc и chpd esp подключены к 3.3v

      Gpio 0 и gnd esp подключены к gnd

      Rx esp подключен TX arduino напрямую

      Tx esp подключен к arduino rx через делитель напряжения

      2.Переключатель уровня

      Проверьте подключение на фото

      • Подключите 5 В источника питания макета к выводу HV логического уровня
      • Подключите 3,3 В источника питания макета к контакту LV логического уровня
      • Подключите TX Arduino к любому другому HV контакты из 4 контактов, соответствующие контакту, который вы подключили tx, подключите rx esp к тому, который будет контактом Lv

      2. Модуль Esp 8266-12

      Я нашел инструкции daflabs, которые лучше всего подходят для этого модуля

      https: // www.Instructables.com/id/Getting-Started-with-the-ESP8266-ESP-12/

      Я использовал Arduino вместо модуля cp2102, и у меня не было проблем со связью.

      Соединение для esp8266-12 останется в основном таким же, чтобы запустить его в режиме флэш-памяти.

      GPIO0 -> LOW

      GPIO2 -> HIGH

      GPIO15 -> LOW

      Шаг 4: Загрузка прошивки

      • Загрузите пустую программу на arduino, если используется. Затем подключите к нему контакты esp tx и rx.
      • Откройте программное обеспечение и один за другим добавьте в него файлы bin..
      • Теперь добавьте адреса следующим образом.

      boot_v1.2.bin —0x00000

      user1.1024.new2.bin —0x01000

      blank.bin —0x7e000

      blank.bin —0x3fe000

      esp_init_data_default.bin —0x3fc3233

      3 Затем просто нажмите кнопку прошивки, если все в порядке, флешер покажет вам статус загрузки, а также индикатор вашего модуля esp 8266 будет мигать очень быстро.

    5. Поздравляем !!! Вы загрузили последнюю версию прошивки на esp8266.
    6. Если вы не нашли этот MAC-адрес. Используйте контакт сброса и поместите его на gnd на 2 секунды, а затем удалите его из gnd и повторно прошейте. Очень важно получить MAC-адрес.
    7. Пора проверить ваш модуль Esp. Теперь просто отсоедините провод GPIO 0, который был подключен к GND, вы можете подключить его к VCC или оставить так.
    8. Теперь подключите Arduino обратно к компьютеру и откройте последовательный порт.
    9. Проверьте команды at на другой скорости передачи, большая часть esp отлично работает на этой скорости 115200 бод.
    10. ТЕПЕРЬ пора проверить AT-команды. Введите «AT» в последовательный порт, и вы получите «OK». Теперь введите «AT + GMR» и проверьте версию прошивки.
    11. Чтобы изменить скорость передачи, вы можете сделать это «AT + UART_DEF = 9600, 8, 1, 0, 0»
    12. Шаг 5: Использование Esp Flash Download Toll V0.9.3.1

      Есть два программного обеспечения Чтобы установить бинарный файл на soc esp8266, второй способ — с помощью загрузки esp flash.

      1.) Загрузите программное обеспечение по ссылке ниже

      http: // bbs.espressif.com/viewtopic.php?t=25

      2.) Теперь просто просмотрите bin-файл, который вы хотите загрузить на esp, и не меняйте никаких настроек , кроме com-порта, и измените скорость передачи на 115200 и нажмите «Пуск». Вы увидите статус загрузки. Наберитесь терпения, пока он не скажет «Готово».

      Шаг 6: Программирование Esp с помощью Esplorer

      esplorer — это программное обеспечение, специально созданное для модуля Wi-Fi esp8266. С помощью этого программного обеспечения вы можете загрузить код lua или AT-команды на esp8266.

      скачать это по указанной ссылке.

      ESPlorer

      Шаг 7: Устранение неисправностей

      1.) Power esp 8266 от внешнего источника питания. Пожалуйста, избегайте использования Arduino или компьютера для vcc.

      2.) трижды проверьте схему и всегда при загрузке прошивки пытайтесь вручную сбросить esp8266, сделав chpd gnd на некоторое время и вернув его обратно в vcc.

      3.) Убедитесь, что вы используете доллар или 3.3 регулятор. esp8266 тоже требует постоянного тока.

      4.) Примечание : http://www.allaboutcircuits.com/projects/update-the-firmware-in-your-esp8266-wi-fi-module/ еще одна ссылка, которая может помочь вам решить проблемы с модулем esp. если не работает ни один из вышеперечисленных методов

      Базовый проект 109c ESP8266 Модуль ESP-12E — Как прошить прошивку SONOFF Tasmota с помощью Tasmotizer

      Основы: Project 109c

      Название проекта: ESP8266 Модуль ESP-12E — Как прошить прошивку SONOFF Tasmota с помощью Tasmotizer

      Теги: Arduino IDE, ESP8266 ESP-12E module, Nodemcu v3, Lolin , SONOFF, Tasmota Firmware , Tasmotizer

      Вложения: НЕТ

      В данном проекте вам понадобились эти детали ( Уважаемые посетители.Вы можете поддержать наш проект покупки, перейдя по ссылкам на детали и купив их, или пожертвовать нам, чтобы этот сайт оставался живым. Спасибо ):

      1. Кабель Micro USB 1 шт.

      2. ESP8266 Модуль ESP-12E 1 шт.

      Общий

      Мы научимся прошивать прошивку SONOFF Tasmota на модуле ESP8266 ESP-12E с помощью Tasmotizer.

      Знакомство с Tasmota

      Tasmota — это альтернативная прошивка для устройств на базе ESP8266 с простой настройкой с использованием веб-интерфейса, обновлений OTA, автоматизацией с использованием таймеров или правил, возможностью расширения и полностью локальным управлением через MQTT, HTTP, Serial или KNX.Написано для Arduino IDE и PlatformIO.

      Первоначально он был написан для устройств Sonoff, но поддерживает устройства многих других брендов, таких как Electrodragon, MagicHome, AriLux, Blitzwolf и Allterco. Вы также можете установить его на платы разработки, такие как Wemos D1 mini и ESP8266 NodeMCU.

      Подробнее об этом можно прочитать здесь.

      Знакомство с Tasmotizer

      Полнофункциональная программа для прошивки Tasmota. С отличным ESPtool от Espressif под капотом и всеми необходимыми настройками по умолчанию.

      Характеристики:
      • Автоматическое резервное копирование текущего образа ESP перед прошивкой: в случае, если вы хотите вернуться к прошивке производителя
      • Флэш-локальные .bin-образы или просто выберите из образов выпуска или разработки: он загрузит их автоматически
      • Отправить конфигурацию на прошитое устройство через серийный номер: настройка Wifi (включая точку доступа для восстановления), MQTT, модуля и / или шаблона одним щелчком мыши.
      • Темная тема: доказано, что она увеличивает скорость и надежность прошивки.

      Вы можете установить ее на Windows, Linux или Mac.Об этом подробнее здесь.

      Общие сведения о модуле WI FI ESP8266 ESP-12E (LoLin NODEMCU V3)

      Подробнее об этом можно прочитать здесь.

      Сигналы и подключения модуля WI FI ESP8266 ESP-12E (LoLin NODEMCU V3)

      TX — вывод передачи. Вывод GPIO

      RX — вывод приема. Вывод GPIO

      3V3 ( или 3V или 3.3V ) — вывод питания (3-3.6В).

      GND (или G) — вывод заземления.

      RST — вывод сброса. Для нормальной работы держите его на высоком уровне (3,3 В). Поставьте на 0В, чтобы сбросить микросхему.

      EN — Разрешение микросхемы. Для нормальной работы держите его на высоком уровне (3,3 В).

      Vin — Внешний источник питания 5VDC.

      D0-D8 — Контакты GPIO (вход / выход общего назначения)

      D5-D8 — интерфейс SPI

      D1-D2 — Интерфейс I²C / TWI

      SC (или CMD ) — (Chip Select) — вывод, который мастер может использовать для включения и отключения определенных устройств.Вывод GPIO

      SO (или SDO ) — Master In Slave Out (MISO) — Связь SPI. Линия Slave для отправки данных мастеру. Вывод GPIO

      SK (или CLK ) — SCK (Serial Clock) — связь по SPI. Тактовые импульсы, которые синхронизируют передачу данных, генерируемую мастером. Вывод GPIO

      S1 (или SD1 ) — Master Out / Slave In (MOSI). Связь SPI. Линия Master для отправки данных на периферию.Вывод GPIO

      S2 (или SD2 ) — вывод GPIO

      S3 (или SD3 ) — вывод GPIO

      VU (или VUSB ) — внешнее питание 5VDC.

      A0 — выход АЦП.

      RSV — зарезервировано

      Электропроводка

      Подключите модуль ESP8266 ESP-12E с помощью кабеля micro USB к USB-порту компьютера.

      Пошаговая инструкция

      1.Препарат

      1. Обратите внимание, что у вас есть несколько вариантов загрузки и установки Tasmotizer: Вариант 1: получить автономный исполняемый файл Windows, Вариант 2: pip3 установить tasmotizer , а затем просто запустить tasmotizer.py из оболочки / командной строки; Вариант 3: клонировать репо, pip3 установить PyQt5 pyserial , затем python3 tasmotizer.py и прошить!

      2. Перейдите на Github и загрузите последнюю версию Tasmotizer.Поскольку мы используем 64-битную версию ОС Windows 7 — скачиваем tasmotizer-1.1a.exe .

      3. Обратите внимание, что устанавливать его не нужно.

      4. Зайдите на Github и загрузите последнюю версию tasmota.bin.

      2. Оклейка

      1. Дважды щелкните файл tasmotizer-1.1a.exe . tasmotizer-1.1a.exe и tasmota.bin должны находиться в одной папке на вашем ПК. Выбираем порт (у нас COM12 , к которому подключен ESP8266 ESP-12E) и выбираем тип образа ( bin ) и образ — tasmota.корзина . Нажмите кнопку Tasmotize .

      2. Начнется процесс прошивки.

      3. Когда процесс прошивки завершится, нажмите кнопку OK .

      4. Необязательно. Нажмите кнопку Отправить конфигурацию . Вы можете ввести SSID и пароль своей локальной сети WiFi и нажать кнопку Сохранить .

      5. Ваша информация будет отправлена ​​на модуль ESP8266 ESP-12E, и он перезапустится.

      3. Тестирование

      1.Отсоедините модуль ESP8266 ESP-12E от USB-порта и снова подключите.

      2. Загрузите и установите любой из этих программных инструментов: Terminal, USR-TCP232-Test V1.4, AiThinker_Serial_Tool_V1.2.3, coolterm, sscom3.2, KiTTY, putty, tera term, Access port, Termite. Мы используем AiThinker_Serial_Tool_V1.2.3, какие файлы вам просто нужно распаковать.

      3. Откройте AiThinker Serial Tool. Вам нужно выбрать COM-порт (к которому подключен ваш модуль ESP8266 ESP-12-E, у нас есть COM12 и скорость передачи ( 115200 ).Нажмите кнопку Open Serial .

      4. Введите команду ssid1 YourWiFiSSID и нажмите кнопку Отправить .

      5. Введите команду пароль1 YourWiFiPassword и нажмите кнопку Отправить .

      6. Вы увидите, что веб-сервер активен на tasmota_ ……. с IP-адресом…. Сообщение . В нашем случае это 192.168.1.210 .

      7. Откройте любой веб-браузер и введите http: // yourIPaddress (в нашем случае http: // 192.168.1.210 )

      8. Поздравляю !! Вы сделали это. Теперь вы можете настроить свой модуль SONOFF Tasmota.

      Сводка

      Мы узнали, как прошить прошивку SONOFF Tasmota на модуле ESP8266 ESP-12E с помощью Tasmotizer.

      Спасибо, что прочитали и поддержали нас.

      Библиотеки:

      • Для этого проекта библиотеки не требуются

      Ресурсы проекта:

      • См. Приложения в начале описания проекта

      Продолжить чтение

      36Bricks / Firmware: ESP8266 ESP-12E Встроенное программное обеспечение (прошивка) для системы 36Bricks IOT

      36_Bricks — строительные блоки IOT

      36_Bricks — это система блоков, позволяющая создавать собственные связанные объекты.На основе небольших недорогих независимых кирпичиков создайте собственное IOT-устройство для любых нужд: домашняя автоматизация и сигнализация, лаборатория, умный сад, мультимедиа, промышленность …

      От питания и датчиков до RGB-подсветки, от сбора данных до обработки и управления — есть кирпичик для любых нужд, и все доступно через Wi-Fi.

      ESP8266 — NodeMCU LUA — ArduinoIDE

      Основная часть каждого блока — ESP8266 ESP12-E. Он обрабатывает свои 10 GPIO и WIFI для подключения кирпичей к миру.

      Этот проект git представляет собой встроенное программное обеспечение (прошивку) для ESP8266, установленную на каждом блоке с помощью Arduino IDE.

      Требования

      Arduino IDE 1.6.4 или выше: https://www.arduino.cc/en/Main/Software

      Пакет платы ESP8266 для Arduino IDE: https://github.com/esp8266/Arduino [Использовать промежуточную версию> 2.1]

      Adafruit DHT22 Библиотека Arduino: https://github.com/adafruit/DHT-sensor-library

      Библиотека Adafruit NeoPixel Arduino: https: // github.ru / adafruit / Adafruit_NeoPixel

      Библиотека AltSoftSerial: https://github.com/PaulStoffregen/AltSoftSerial

      Драйвер светодиодной ленты

      v0.9b: https://github.com/letsgoING/Libraries/tree/master/LEDStripDriver

      Клиент Arduino для MQTT: http://pubsubclient.knolleary.net/

      Установка

      Сначала переименуйте исходную папку в «_36_Bricks», так как в среде IDE Arduino она нужна для поиска основного файла по имени.

      Откройте проект с помощью Arduino IDE, добавьте все необходимые библиотеки, используя «Скетч -> Включить библиотеку -> Управление библиотеками»… «и прошить на ESP.

      Следуйте этому руководству, чтобы включить и настроить ядро ​​ESP8266 в Arduino ide: https://learn.adafruit.com/adafruit-huzzah-esp8266-breakout/using-arduino-ide и используя ссылку менеджера платы STAGING 2.1.0-rc1 (http : //arduino.esp8266.com/staging/package_esp8266com_index.json)

      И, наконец, перезапустите Arduino IDE один раз!

      Модули прошивки

      Прошивка разделена на модули. Модули можно включать и отключать в соответствии с вашими потребностями непосредственно перед прошивкой на кирпич.

      Актуальных модулей:

      ConfigFromWifi (обязательно)

      Конфигурация, подобная Chromecast, через Wi-Fi. Для первоначальной и аварийной конфигурации Wi-Fi модуль создает собственную точку доступа Wi-Fi и обслуживает страницу конфигурации HTML для выполнения полной настройки устройства: имя модуля, SSID и пароль Wi-Fi, сервер и порт MQTT (если включен модуль MQTT)

      WifiUpdate (обязательно)

      Позволяет прошивать новую прошивку через WiFi.

      EEPROM (обязательно)

      Управляет хранением конфигурации блоков во встроенной EEPROM для их сохранения при перезагрузке и длительном отключении питания.

      SPIFFS (обязательный)

      Управляет хранением веб-файлов для кирпичного «веб-приложения» во встроенной файловой системе SPIFFS, доступно 1Mo.

      Автообновление

      Позволяет автоматически обновлять официальную прошивку через Интернет на сервере 36Bricks. Отключайте этот модуль, если прошиваете кастомную прошивку на кирпич.

      NTP

      Синхронизация по времени кирпича

      MQTT

      Позволяет отправлять сообщения любому MQTT-брокеру

      DHT22

      Датчик температуры и влажности, доступный по HTTP API и через MQTT

      PhotoLevel

      Датчик уровня освещенности, доступный по HTTP API и через MQTT

      TeleInfoEDF

      Сбор информации с внутреннего электрического счетчика EDF, доступного по HTTP API и через MQTT

      NeoPixels

      Управляет до 1024 адресуемых светодиодов RGB с использованием HTTP API

      Выходы

      Управляет двумя реле 220 В с использованием HTTP API

      Полоса

      Управляет светодиодной лентой RGB с использованием HTTP API

      Движение

      Обнаружение движения с использованием инфракрасного датчика движения PIR HC-SR501, доступного через HTTP API и через MQTT

      Текущий

      Измерение тока с помощью датчика тока ACS712, доступного по HTTP API и через MQTT

      Планы

      Появятся дополнительные модули прошивки, позволяющие создавать новые блоки: двери, растения, датчики газа, физические кнопки управления, термостат, мониторинг энергии, IP-камера…

      Автор

      Александр Гарсия — PsY4

      Лицензия и кредиты

      Этот код выпущен под лицензией MIT.

      Arduino IDE разработана и поддерживается командой Arduino. IDE находится под лицензией GPL.

      Файлы ядра

      ESP8266 находятся под лицензией LGPL.

      Ядро

      ESP8266 включает набор инструментов xtensa gcc, который также находится под лицензией GPL.

      Библиотеки Adafruit DHT22 и NeoPixels Arduino разработаны и поддерживаются командой Adafuit.

      Драйвер светодиодной ленты

      v0.9b под лицензией GNU и поддерживается Frankie.Chu в Seeed Studio.

      Библиотека AltSoftSerial Arduino разработана и поддерживается Полом Стоффрегеном

      Клиент Arduino для MQTT Библиотека Arduino разработана и поддерживается Ником О’Лири и лицензируется по лицензии MIT

      .
      .

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

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

      2024 © Все права защищены. Карта сайта