Демонстрация использования USB периферии МК ESP32-S2 для хранения параметров в JSON-файле с доступом через USB диск. github.com/Moo... PS: для меня многое в USB чистая магия, так что на все ваши вопросы ответит только гугл.
Пікірлер: 25
@sledleo Жыл бұрын
Спасибо, шеф, за труды и просвещение нас недалёких! Продолжайте нас поднимать из невежества, ждем следующих выпусков!
@BredihinKA2 жыл бұрын
Коротко и по делу. Спасибо.
@aboverobotics2 жыл бұрын
Здорово! Спасибо. Отличный материал
@krepton85you2 жыл бұрын
О классно прям как на RP2040 (Raspberry PI Pico).
@parennasubaru2 жыл бұрын
Как всегда , на высоте.
@volterd.63048 ай бұрын
Китайцы ошиблись и прислали мне такую ЕСП вместо юсб тригена. Можно ли на ней учиться программированию микроконтроллеров ?
@veoramid2 жыл бұрын
Спасибо.
@st1mul66 Жыл бұрын
Может тут подскажут) Включаю ПК, подключаю такую же плату через usb, всё работает) После каждой прошивки или рестарта платы, ПК перестаёт её видеть) Помогает перезагрузка ПК, но это не выход) Подскажите, как победить это?) 0 -> RST пробовал нажимать)
@alexmorozov73 Жыл бұрын
Что значит "пк перестает ее видеть"? Если плату отключить от USB и подключить обратно, то компьютер не обнаруживает новое устройство вообще? Или просто COM порт меняет номер? Опять же, что прошивка делает, если она не активирует CDC или другие протоколы на USB стеке, то как USB устройство плата и не будет видна после перезагрузки, только если ее в режим прошивки перевести с GPIO0 на 0. Телепатов и тут нет...
@egoregorow94572 жыл бұрын
звучит как музыка , завтра на свежую голову , сегодня празднуем день смерти Цоя
@alexmorozov732 жыл бұрын
Как же можно праздновать день смерти, да еще и Виктора?! Надеюсь, все же, поминали
@user-yw1rp2jn9i Жыл бұрын
Можно ли вемосом управлять реле от ардуино? И как это лучше грамотно сделать
@alexmorozov73 Жыл бұрын
Вопросы для ChatGPT лучше задавать напрямую :)
@SergeyKhmura Жыл бұрын
Интересно, а можно ли как-то реализовать инициализацию не внутренней памяти ffat, а подключенной по spi sd карточки? Чтобы получился эдакий извратный кардридер... Я попробовал проинициализировать вместо path = "/fatfs" на path = "/sd" (уже после инициализации sd карты), но контроллер впадает в бутлуп.
@alexmorozov73 Жыл бұрын
Так надо не монтирование портить, а перехватывать onRead и onWrite и выполнять их на SD карте. Переделывайте пример RAM disk, он ближе к вашей задаче.
@SergeyKhmura Жыл бұрын
@@alexmorozov73 Да, я уже понял, что не так всё просто как кажется. Думаю, сам не осилю. Нашел из готовых решений библиотеку TinyUSB с примером sd_msc (Simple MSC device with SD card). Но поведение там аналогичное - бесконечный бутлуп + еще и хаб глючит так, что клавиатура виснет... Ладно, обойдемся по старинке - будем перетыкать карту в обычный картридер =)
@qvan22102 жыл бұрын
Как вам в итоге эта плата и сам контролер s2 для типовых задач, если сравнить ее с самодельной c3-12f в том же форм факторе "мини"?
@alexmorozov732 жыл бұрын
Вроде бы чуть экономичнее в глубоком сне, плюс ULP, плюс RTC ног много. Минус BLE.
@user-sl3if5uz5x2 жыл бұрын
работаю с LoRa TTGO ESP32 через НTTP сервер, задача передать пятимерный массив файлом.... не получается, пробовал на яве и PHP. Суть подключится через браузер на любой платформе и скачать файл с данными. Сам додумаю, но интересно мнение профи))
@alexmorozov732 жыл бұрын
Как храните свой пятимерный массив, в ОЗУ или как файл во флеше? Какая библиотека для Web стандартная или все же AsyncWebServer?
@user-sl3if5uz5x2 жыл бұрын
@@alexmorozov73 вебка стандартная, в ОЗУ лоры данные помещаются, но проблема в автоматической передаче файла клиенту. Я бы сделал на питоне или C# легко, но надо чтобы бы работало с любым браузером по IP.
@alexmorozov732 жыл бұрын
А причем тут языки? У вас на плате веб-сервер, он обрабатывает запросы к url, вот он и должен при запросе на определенный url открыть потоковую передачу бинарных данных, которые браузер предложит сохранить как файл. На AsyncWebServer будет несколько вариантов как это сделать, на обычном WebServer скорее всего только один.
@user-ls2mi3xs2d2 жыл бұрын
@@user-sl3if5uz5x Я понял, что файла как такового не существует. На физическом носителе.
@alexmorozov732 жыл бұрын
И какая разница, что файл "виртуальный"? Можно сделать обертку блока памяти классом, производным от Stream, и использовать WebServer.streamFile, например, или WebServer.sendContent(stream). Тип "application/octet-stream" заставит браузер предложить сохранить поток как файл. Или перейти на AsyncWebServer, там блоки памяти стримить проще.