Petr
так там убирается установка уровня gpio и тут же все работает
Совершенно не понятно во что соптимизирует компилятор этот таск, если из него убрать всю смысловую часть в виде установки уровня ио
ㅤ
На винде с этим проще в msvcrt. Он ставит маркеры до начала выделяемого блока и после. И пои освобождении он проверял наличие этих magic маркеров. Если они повреждены плевал ассерт. В дебаг режиме проекта конечно же
Tonchik
я чуть ли не студентом мучался и из gcc -Ox смотрел какой он код генерит на финале
ㅤ
Поэтому все так любят расты и питоны. Шансов выстрелить себе в память там равны нулю
Tonchik
я чет не уверен про память, ошибок памяти то нет... есть странные таймауты
ㅤ
я чет не уверен про память, ошибок памяти то нет... есть странные таймауты
Так наехал на какую то переменную где то там выделеную. Повредил чужую память в куче и что угодно можно ожидать
ㅤ
Раз добавил новую таску значит конфигурация кучи может бы вообще другой. Порядок блоков выделенных
ㅤ
И да, не исключаем баги в самом идф
ㅤ
Делаем автомобильный компьютер с нескучным функционалом Привет, я собрал небольшой бортовой компьютер для авто, который умеет показывать температуру, время с момента включения и раздавать «Free Wi-Fi». В этой статье приведён код, список компонентов и всё остальное, чтобы собрать такой же. Назвал я его Kruk — от беларуского слова «Крук» (рус. «Крюк»). Вот видео его работы на YouTube. Здесь его страница на GitHub. Если вы уже посмотрели видео, то понимаете суть функции «Free Wi-Fi». Как только к Wi-Fi подключаются, система сразу переводит пользователя на captive portal, а сам компьютер начинает показывать, помимо температуры и времени, ещё два дополнительных окна с информацией о количестве пользователей, подключившихся к Wi-Fi, и о количестве пользователей, которые до сих пор к нему подключены (online). Читать далее https://habr.com/ru/articles/920714/?utm_source=habrahabr&utm_medium=rss&utm_campaign=920714
Первая фотка конечно... Непонято... Ну и следующие фотки в пару метров. Забавная статья вообщем
Ruslan
Anton
The smallest QR code version (Version 1) has a size of 21x21 modules ппл, у меня есть матрица 16х16, но не могу её использовать для провиженинга. как вы делаете провиженинг, когда дисплей у устройства не подразумевается?
Anton
Точка доступа + API/WebUI. Есть же еще вариант стандатный вариант через голубой зуб.
мне понравился вариант https://play.google.com/store/apps/details?id=com.espressif.provsoftap&hl=en но макс разрешение 16х16 что у меня есть...
Max
что за стандартный вариант?
https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/provisioning/provisioning.html
NI_isx
https://docs.espressif.com/projects/esp-idf/en/v5.4.1/esp32s3/api-reference/peripherals/i2s.html#tdm-mode TDM Mode TDM (Time Division Multiplexing) mode supports up to 16 slots. These slots can be enabled by i2s_tdm_slot_config_t::slot_mask. But due to the hardware limitation, only up to 4 slots are supported while the slot is set to 32 bit-width, and 8 slots for 16 bit-width, 16 slots for 8 bit-width. The slot communication format of TDM is almost the same as the standard mode, yet with some small differences.
В общем, идея с ШИМ провалилась, поэтому возвращаюсь к аппаратной реализации) Из-за того, что поддерживаются только 4 канала придется оставить 4 других ЦАП микросхемы незаюзанными. Но и тут есть проблема: ... loop { driver.write(&self.buffer, TIMEOUT) } ... У I2sDriver в бесконечном цикле вызывается функция write, у которой в качестве параметра буфер значений (период синусоиды, треугольника и т.п.). Весь буфер передается нормально, но когда данные кончаются, то следующий период идет пустым, а после него опять все нормально. Такое ощущение, что после отправки последнего байта данные не успевают подгрузиться в DMA в цикле loop и из-за этого летят пустые значения. Пробовал отключать автоматическую очистку DMA буфера: let i2s_config = I2sConfig::Config::default().dma_buffer_count(DMA_BUFFERS).auto_clear(false); но эффекта нет. Есть у кого-то мысли как можно побороть данную проблему? Буду признателен.
ok-home
как тока начинаю шевелить пином, сразу глюк с TLS
а ты уверен что этот пин ни с кем не конфликтует ? не может нигде питание просаживать ?
Evgeniy
Угу, на весьма длинной дистанции может и окупишь эту затею.
Больше смысл в комфорте: ночью стало холодно, в котельной увеличили температуру теплоносителя, пока проснешься и закроешь - уже перерегулирование
Vlad
фуух, а мне таки удалось в обычную классику esp32 со стандартной RAM запихнуть и частотный анализ вибрации по трем осям MPU6050, и даже на сервер его в json отправить. конечно, не всё подряд в полосе 500 Гц, а только до 20 штук самых высоких пиков. но, думаю, сойдет
Ilnar
Если только для домашнего бытового использования, работую в АСУТП и увлекаюсь esp, для производства не очень всё это подходит. 🤔🤷‍♂
Vlad
Если не секрет, где именно вибрацию измеряете?
Где начальство найдет заказчика, там и измеряем. Но частотный анализ актуален только около вращающихся узлов
Vlad
Угу. Если раньше с простым измерением среднего уровня вибрации вся обработка - это сравнение порогов. То вот как анализировать наборы частот с их амплитудами.... Как-то ж надо сравнивать меж собой и какими-то эталонами... тем более, что они ж не идеально совпадают от измерения к измерению, на несколько Гц пики плавают влево-вправо
Василий
Если только для домашнего бытового использования, работую в АСУТП и увлекаюсь esp, для производства не очень всё это подходит. 🤔🤷‍♂
Есть сложности, но наши устройства обеспечивают надежность (в терминах аптайма) на уровне 99.99% вполне
Vlad
Станки, двигатели, турбины ?
да, подшипники, валы, двигатели, где нужно
Anton
да, подшипники, валы, двигатели, где нужно
Недавно как раз читал про тестирование колёсных пар
Evgeniy
Вот вопрос: для Web панели, через которую делается конфигурация устройства и отображаются параметры, периодически запрашиваемые через Ajax как правильно обработать ситуацию, если пытаются подключиться больше клиентов к HTTP серверу, чем указано в настройках?
Vlad
Grigory
Добрый день. Подскажите, существует ли какой то список продавцов проверенных плат esp32. Интересует esp32-wroom-32e.
Anton
что за стандартный вариант?
Я же почти про это и говорил - там используется кр-кот для быстрого коннекта... Но, признаюсь, именно блютус я в прошлый раз, когда разбирался, пропустил. Посмотрю ещё раз.
Evgeniy
"Я занят, позвоните попозже" (с) Иоанн Уасильевич HTTP/1.1 302 OK Location: /later.html
А если реально - там же по сути, короткие запросы к API, разве что одновременно они не должны приходить или в случае неудачи (максимальное кол-во клиентов) - повторный запрос. GET запросы, json ответ
Anton
срезюмируешь кратко чего вычитал ?
Кратко там объединяли тестовые стенды в систему. Про само тестирование было мало.
Vlad
Кратко там объединяли тестовые стенды в систему. Про само тестирование было мало.
вот как раз клиент-серверную систему мы уже давно построили свою, теперь разные типы датчиков к ней подключаем. счас приспичило датчик с частотным виброанализом оказывается, это реально, даже с дешевыми датчиками и родимой esp32 но надо сильно извращаццо чтобы в RAM все поместилось.
Vlad
А что там так RAM жрет? Два буфера для хранения семплов с датчиков?
да, но буферы пропорциональны полосе частот, частоте выборок, числу осей. и для JSON нужна память при отправке, а это 50...200 килобайт на полный спектр, а может и больше
Grigory
Там продавцов куча и не всегда платы нормальные.
Vlad
Там продавцов куча и не всегда платы нормальные.
ну все барыги закупаются сами знаете где. и производители закупаемых барыгами плат (по фамилии Лю) - оттуда же и модули eps рядушком... хоть к ним, наверное, не должно быть претензий по качеству больших
Petr
или 429, если клиент слишком часто запросы шлет
Vlad
Угадайте с одного раза, с каким кабелем нельзя отлаживать esp32 если используете ВиФи как минимум из-за спонтанного ребута по питанию ?
Sergey
Угадайте с одного раза, с каким кабелем нельзя отлаживать esp32 если используете ВиФи как минимум из-за спонтанного ребута по питанию ?
Слева качественный самсунговский кабель, справа очень толстая изоляция, чтобы имитировать качественный провод
Vlad
вот с черным происходит веселье с ребутом, причем не всегда, а в какие-то напряженные моменты по потреблению. стоит только заменить кабель на белый (толстый) не меняя прошивку - всё нормализуется. причем пока отлаживается FFT не зажигая ФиФи - и тонкий работает вполне ОК. а с полной нагрузкой по питанию - жопа, от одного и того же USB-порта, разумеется
Ruslan
а ты уверен что этот пин ни с кем не конфликтует ? не может нигде питание просаживать ?
Уверен. Там скорее вариант колобка, и я вангую на сборку цепочки сертификатов
Sergey
это был сарказм-ли я не понял, но ты не прав. Тем более в теме для новичков.
Конечно не прав, это же не мои провода, а твои) откуда я могу знать сколько там меди в твоих проводах. У меня такие же тоненькие провода, оригинальные, отлично работают, и модемы симкомоские вытягивают 🤷‍♂
Vlad
согласен, уцелом, по толщине внешней изоляции судить не всегда разумно, НО. @новички ! кто читает тему - имейте ввиду, USB-кабель, очень важная вещь среди прочего при работе с контроллерами.
ㅤ
ну мне надо в http-запрос json для моего сервера
Я догадался, вопрос прежний. Что мешает чанками собирать json непоредственно перед отправкой?
ㅤ
Какое-то нерациональное использование памяти. Я то думал тебе реально надо много рам, а тут вононочо, ты тратить её тупо на сборку длинной строки...
ㅤ
Потом просто наешься, со временем json подрастет и будет больно
Андрей
всем привет. конкретно на этой плате куда светодиод подключен?
Vlad
хмм, спасибо за подсказку, век живи, век учись :)
ㅤ
всем привет. конкретно на этой плате куда светодиод подключен?
Этих плат там дохрена. Прозвони мультиметром или посмотри по дорожке.
ㅤ
Там вроде либо 2 либо 15 либо 4.. Че-то такое. Но это не точно
ㅤ
8266 - led G4 32 - led G2 s2 - led G15
Нифига. Я видел на 32 на трех разных пинах
ㅤ
фото плат в студию
Вот заняться мне сейчас нечем наверное. Как минимум это было даже в этом чате
ㅤ
Если интересно поищи в чате, чел жаловался что написал код на двойке ниче не мигает. Нашел толи на 4 толи на 15 (и да обычная есп32 похожая вот на эти все другие)
Resident
Нифига. Я видел на 32 на трех разных пинах
ну с платой на фото, другие не попадались, а так конечно там 20+ пинов, можно на любой зафигачить, а взяли по логике 1-3 uart0 pin2- led