Ivansuper
Так же можно в сахарном итераторе дополнительно инкрементить число объявленное до цикла и сравнивать его с размером листа. Просто чтобы более менее тривиально было, сделать в два захода. Потому что если по предикату отбирать, то никогда не знаешь какой окажется последний
Alexey
Товарищи, у меня возникла парочка проблем, возможно кто-то из вас сталкивался и знает решение. Нужно сделать консоль и прошивку esp32 по воздуху. По факту - надо заменить шнурок уарта на WiFi, причем это только для разработки, в готовом решении функционал обновления прошивки будет свой. 1) Консоль. Первое что пришло в голову - telnet. Можно еще netcat но разница невелика. Задача - перенаправить, а лучше дублировать, вывод уарта в telnet. После изучения документации и форумов заменил: * vprintf с помощью esp_log_set_vprintf(my_vprintf_impl) - теперь система логгирования работает и туда и туда. * printf с помощью дефайна на мою реализацию, но чтобы это работало, везде, где нужен лог, надо инклюдить мой хидер... Однако методы вроде arg_print_formatted(stdout, X, Y, Z), пишушие в stdio пишут только в него. Да, его можно переписать, присвоив ему указатель на собственный поток, но эта в esp-idf stdout уникальный для каждого таска, со всеми вытекающими - переписывать все, либо переписывать глобальный, а потом еще остальные в уже созданных тасках. Но если подумать логически - в конечном итоге весь этот лог по умолчанию вываливается в уарт, возможно есть способ перехватить вывод уже непосредственно перед самим уартом? Производительность, по факту, не важна, ибо функционал чисто для дебага. Так же, если у кого-то есть полное понимание связей стандартных функций и уарта в esp-idf и желание поделиться, я был бы признателен :)
Alexey
2) Прошивка. Хотелось бы реализовать еще и прошивку через wifi. Способы вроде веб сервера сразу отпадают, потому что долго, нужна консольная утилита, которую можно хоть в билдтаргет засунуть, хоть во внешние тулзы эклипса. Нужным функционалом обладает espota от ардуинки, но вот тащить за ней все зависимости ардуино желани никакого нет. Собственно вопрос: кто-то реализовал похожий способ обновления средствами esp-idf и использованием какого-либо скрипта на PC для прошивки платы? В какую сторону лучше/легче пойти? Портировать адруиновскую либу? Безопасность не важна совсем. Важна возможность такой же быстрой работы как с проводом через esptool.
Rasl
Всем привет, кто ни будь пробовал на ESP32 вести запись звука через блютуз гарнитуру?
Rasl
Всем привет, кто ни будь пробовал на ESP32 вести запись звука через блютуз гарнитуру?
Если есть какие ни будь статьи, буду очень признателен за ссылки
Alexey
У них репо есть специально по звуку https://github.com/espressif/esp-adf Но придется пару примеров клеить вместе
Rasl
У них репо есть специально по звуку https://github.com/espressif/esp-adf Но придется пару примеров клеить вместе
Да, я видел эти примеры, но там нет того что мне нужно, не могу понять как подключиться к гарнитуре для получения данных с микрофона
romanetz
Нужно исходники хоста искать
Alexey
Обычный скрипт: 1 Вебсервер где-то 2 esp периодически туда ходит и проверяет состояние выложенной прошивки 3 Если обнаружена новая прошивка то дальше работает обычный ota
Для начала работы нужно стартануть сервер. Прошивка как-то должна туда попадать. Воркфлоу, как минимум, не проще чем с espota. Другое дело, если у espressif уже есть тулзы для этого, типо элементарного сокет сервера на питоне, который отдает есп прошивку из папки... Но таких тулзов я пока не нашел, возможно, плохо искал
Alexey
Обычный веб сервер, чего там счас модно :) Прошивку заливаем руками, не такое уже и частое это дело :)
Не, заливка руками это не подходит для разработки. Тут нужна автоматизация, похожая на esptool или idf monitor где сборка и прошивка делается за одну команду
Alexey
Идея всего этого именно замена проводов при разработке (ну или дебаге устройства, к которому не так просто подключиться, условно)
Andy
Не, заливка руками это не подходит для разработки. Тут нужна автоматизация, похожая на esptool или idf monitor где сборка и прошивка делается за одну команду
в смысле хотите прошивать "сырую" неотестированную ? Честно сказать не вижу смысла, т..к. пока идет отладка и тестирование чип все равно стоит на стенде.
Alexey
в смысле хотите прошивать "сырую" неотестированную ? Честно сказать не вижу смысла, т..к. пока идет отладка и тестирование чип все равно стоит на стенде.
Не сырую, мол разок прошил и потом уже провода не нужны. Например при старте система ждёт коннекта к сети и ещё секунды 3, чтобы если будет запрос на обновление, оно началось и система не падала
Alexey
Получается Аля wifi bootloader, следующий шаг для Ардуино 😄
Andy
Не сырую, мол разок прошил и потом уже провода не нужны. Например при старте система ждёт коннекта к сети и ещё секунды 3, чтобы если будет запрос на обновление, оно началось и система не падала
Дык я про то и говорю. Если разок прошил и она уехала куда-то, то это уже не разработка, а готовое изделие. А в готовое изделие неотттесированую прошивку лить такое себе развлечение :)
Alexey
Простой пример, несколько устройств в системе, чтобы каждое не подключать проводом, а всех законнектить через телнет и обновлять тоже по воздуху
SetPf
Здравствуйте. Быстровопрос. Пока сам не закапывался.
SetPf
Диод подключен через OD 2n7002
SetPf
При закрытом транзисторе - еле светится.
SetPf
Это че так 7002 течь может?
Василий
что значит OD
Василий
а к земле кто притягивать будет
Василий
и резистор в затворе хоть какой то есть?
SetPf
Это че так 7002 течь может?
Ответ. ДА. Хз может при монтаже конечно повредился =\
SetPf
и резистор в затворе хоть какой то есть?
Нет. Не вижу смысла в нем, там токи смешные.
Василий
ох, ну посмейся - раз тебе смешны правила использования електронных компонентов
Василий
затвор должен быть притянут к земле, а не OD - при котором он болтается в воздухе
SetPf
ох, ну посмейся - раз тебе смешны правила использования електронных компонентов
Могу еще сотню таких скринов кинуть. Зачем резистор в современном мосфете управляемом микротоками?
Василий
скрины, серьезно 😀😀😀😀
Василий
компоненты описаны в даташитах, и их правильное использлвание
SetPf
скрины, серьезно 😀😀😀😀
Считаете умнее квантовских инженеров?
SetPf
что значит OD
К слову я наврал там не OD. Это со стороны диода там OD лол.
Василий
ЧТО???
Василий
может бы схему показали, а то какой то бред
Василий
к какому диоду OD?
SetPf
SetPf
Я хз зачем спорю тут. Я проблему решил - выше отписал.
Василий
как то не увидел - где описал
SetPf
Но я все равно не понял нахрена резистор в затворе мосфета который управляется парой мА
Василий
OD/PP - обычно касается выхода процессора
Василий
SetPf
Если пробьет дрейн на гейт то там уже не до выживания входа процессора будет лол
Василий
а для этого и ставят резистор в затворе (ну правда не только из за этого)
Василий
то понятно теперь зачем там транзистор?
SetPf
У 7002 пробой 60В вроде gd
Василий
и как это связано с тем - о чем был вопрос ?
SetPf
К чему вопрос о питании МК?
Василий
к тому что - не все выводы толерантны к 5в - и их нужно развязывать - что бы не поставить процессор раком
SetPf
Ничего там не поставится. Транзистор не пробьет. 5В упадет на диоде и будет те-же 3
Василий
сочуствую так и дальше стройте свои схемы
SetPf
сочуствую так и дальше стройте свои схемы
Как 5В идущие через диод могут выжечь не 5В толерантный вход?
Василий
на выходах стоят защитные диоды - которые вам эти 5в - всунут в питание проца
SetPf
откуда 5В появятся на входе процессора, если там диод, на котором падает под 2В
Василий
а когда не падает - то сколько там будет ?
Василий
когда диод выключен
Василий
что у вас там за проц / модуль ?
SetPf
Как они там появятся, не пробив транзистор? Такой момент возможен только при включении при зарядке емкостей. Тем более когда потечет ток - он потечет и через диод.
Василий
вообщем не вижу смысла обьяснять простые истины - советую почитать как что работает
SetPf
Нет вы уж если начали - заканчивайте. Затвор мосфета с дрейном связан только через емкость
Василий
ок
Василий
емкость
Василий
какой ток потечет из выхода МК если будет придавлен емкостью? в момент когда он разряжен
Василий
величина этой емкости указана в документации, можно посчитать
Василий
для того что бы небыло ненужной нагрузки на порт - в момент вкл/выкл - ставят резистор, что бы гарантированно не превысить ток вывода МК
Василий
а транзистору в принципе пофиг
SetPf
Да, про это знаю. Но емкости смешные, там если и могут быть какие то серьезные токи, то это вообще пофигу. Они слишком короткие. Мосфеты имеют отрицательный температурный коэффициент и если драйвер внутри начнет нагреваться - просто уменьшится ток. Т.е. никакие килоамперы в пикосекунду там не пойдут.
Василий
жалко резистор - что бы сделать правильно ?
Василий
кто ж вас знает ))
SetPf
жалко резистор - что бы сделать правильно ?
Честно да, его потом разводить =)
Василий
всеначинается с маленьких ошибок - а вылазит потом боком и удивлением почему один транзистор работал - а поставил другой сгорел МК