Как стать автором
Обновить

Комментарии 11

21 кбайт! При таких объёмах придётся экономить каждый байт!

А вы не заливайте стоковую прошивку. Заливайте последнюю из dev и будет у вас куда больше оперативной памяти.

Насчет компиляции — она не всегда дает выигрыш в памяти. К сожалению, чтобы реализовать что-то серьезное — приходится заниматься, пардон, онанизмом с постоянной загрузкой-выгрузкой модулей. У меня самописный http-клиент, который умеет работать с dns, куками и редиректом — просто не влез в память, пришлось разбить его на шесть блоков. Он все равно жрет до 15к оперативки в процессе работы, но это уже не так критично.

P.S.: Не очень понятно, почему выбран ESP-01. Разница в цене с ESP-12 — копейки, а возможностей у 12-го куда больше. Сам я пользуюсь преимущественно 07-ми, потому что металлический экран и хорошая антенна.
На плате есть flash ROM – место, где будут храниться все наши файлы — 512 кбайт. Это уже крайне мало, но упираться в нехватку ресурсов мы начнём не во-флеше, а в ОЗУ. SoC ESP8266 имеет область RAM 64 кбайт для кода программ, и 96 кбайт для данных.
Сначала я подумал, что это тонкий троллинг, потом понял, что таки да, теперь это считается крайне малыми значениями. Просто офигеть, насколько стали криворуки программисты, если для реализации стека WiFi им мало 512к программы и для такой задачи они выделяют 96-32=64к данных. Что вообще может занимать 64к в данном стеке? 20 буферов по 3к каждый? Ну а готовность автора ужиматься и постараться загнать в 32к данных задачу управления двигателем шторы вообще стоит рассматривать как пример геройского преодоленния трудностей. Просто нет слов, одни буквы и те хулиганские.
А пассаж
Последние две задачи легко решаются, но проект при этом стал бы сложнее.
приводит в изумление, оказывается, смысл в том, чтобы делать проект попроще.
Ну, на деле с TCP-стеком особо на 64к не разгуляешься. Нынче даже у одного соединения дефолтное выделение памяти раза в 4 выше. Но тут проблема в основном в LUA, полагаю.
Подскажите, как можно проверить модуль ESP-01 на работоспособность при минимальных затратах времени и сил?

Находил такой вариант: подключить VCC и CH_PD к 3.3V, GND к GND, после этого через некоторое время должна появиться новая сеть.
Распиновка
image

В моем случае загорается красный светодиод, на одном модуле еще пару раз мигает синий.
Один раз даже удалось на пару секунд найти новую сеть, остальные попытки безуспешны.
Без подручных средств, полагаю, никак. Новая сеть появляется только у NodeMCU Dev Board.
Но можно купить USB-UART или использовать для проверки другой контроллер — например, Arduino.
Нет, у стандартной AT прошивки тоже появляется. У меня, по крайней мере, появлялась.
Хорошо, есть Arduino Nano 5V в наличии.
Тогда еще нужен будет преобразователь уровней 5V <-> 3.3V.
Куда дальше?
Дальше SoftwareSerial и трансляция обмена в обычный Serial, чтобы видеть, что там сообщает ESP.
Скорость на большинстве дефолтных прошивок — 9600, но на старых попадается и 115200.
Спасибо. Попробую в ближайшие дни.
Пожалуйста. Вот вам еще ссылка, где заодно и вопрос преобразователя раскрыт.
Если начав проект на C, вы отложите его на пару месяцев, то вам может потребоваться приличное время, чтобы разобраться в своём же коде
Совершенно не согласен, если вы вообще хоть что-то пишите на Си, никаких проблем вспомнить код нету, но вообще без опыта тяжело, это понятно. Кстати, если бы вы написали свой проект на Си, выкинув LUA, у вас небыло бы таких проблем с ресурсами.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории