Как с помощью python прошить esp32?

ambilight

✩✩✩✩✩✩✩
12 Июл 2021
31
0
Находил такую библиотеку.
но не понял, как с ней работать.

Искал информацию как конвертировать ino файл в bin, чтобы его использовать для прошивки esp32, насколько я понял это невозможно.

P.S.
Я делаю такой контроллер https://www.instructables.com/Bluetooth-ZoomOBS-Controller/
и мне надо иметь возможность в GUI или в браузере перезаписывать действия, которые будут происходить при нажатии на кнопки.
Я подумал, что легче всего на python сделать GUI, где будет выбор кнопки и второе окно, где можно будет написать горячую клавишу (например, ctrl+alt+delete или сам буду отлавливать, но это потом) и после нажатия кнопки update, в оригинальном ino файле будет происходить замена( например, bleKeyboard.press(KEY_LEFT_CTRL) -> bleKeyboard.press(KEY_LEFT_DELETE); ) и esp32 будет прошиваться новым, модифицированным файлом.
 

Lumenjer

★★★✩✩✩✩
10 Дек 2020
220
112
@ambilight, Зачем вы плодите кучу одинаковых по смыслу тем?
Я вам уже скидывал фреймворк, где вы сможете реализовать все ваши хотелки, чем он вас не устраивает? (там также есть примеры под Arduino IDE)
С фрейморком сможете без проблем обновлять прошивку с новыми биндами через браузер. Потом подразберетесь в вопросе и реализуете изменение кнопок без перепрошивки, но для этого нужно время и желание разобраться (не конкретно во фреймворке, хотя это тоже нужно будет, а вообще как такие дела делаются).
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@ambilight, если вам нужен реплейс чего-то в исходниках, то попросту воспользуйтесь блокнотом. Но сама постановка вопроса говорит о том, что у вас нет даже базовых знаний и понимания... Вам нужно начать с самого начала, с основ, а к этой задаче вернуться позже, через годик или пару лет. Иначе толку не будет.
 

ambilight

✩✩✩✩✩✩✩
12 Июл 2021
31
0
@Lumenjer,Я вчера больше 6 часов разбирался с ним и ни-че-го. Таким глупым я себя ещё не чувствовал....думал через python проще и быстрее.
 

Lumenjer

★★★✩✩✩✩
10 Дек 2020
220
112
@ambilight, Для вопросов как раз и была создана тема, если что-то не понимаете, то можно спросить и вам подскажут. Другой момент, если вы не знаете основ, то вряд ли будете знать, что вам вообще нужно спрашивать.
Повторюсь, у фреймворка есть готовые примеры под Arduino IDE, с их заливкой не должно возникнуть особых проблем. Как только зальете пример - у вас уже будет готовый контроллер с возможностью обновления по WiFi прямо с браузера. Если возникают проблемы в процессе, то описывайте что делаете и на каком этапе у вас возникла проблема.

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

bort707

★★★★★★✩
21 Сен 2020
2,894
860
Искал информацию как конвертировать ino файл в bin, чтобы его использовать для прошивки esp32, насколько я понял это невозможно.
Почему же "невозможно" - вы же получаете из файла INO файл BIN, когда нажимаете кнопку в Ардуино ИДЕ.
Только это никакие не "конвертация", этот процесс называется компиляция
 

ambilight

✩✩✩✩✩✩✩
12 Июл 2021
31
0
@bort707, Я имел в виду с помощью python.Есть оригинальный ino файл, в нём делаются замены и при нажатии, например, кнопки update ino файл компилируется в bin и отправляется в esp.
 

bort707

★★★★★★✩
21 Сен 2020
2,894
860
Вашу задачу можно решать и по-другому. Кнопок в ПК не так и много, можно написать программу, которая будет уметь нажимать любую кнопку и при перенастройке вместо новой прошивки посылать программе только номер новой кнопки.
 

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,034
406
Москва
wan-derer.ru
@ambilight,
... как конвертировать ino файл в bin.....
"Конвертация" INO (исходного текста программы) в BIN (загружаемый файл) называется компиляцией.
Чтобы решить эту задачу нужны две программы: компилятор и загрузчик (они могут быть и совмещены в одну). Причём эти программы д.б. именно для ESP32, те что для "обычной Ардуино" (МК AVR) не подойдут.
Это утилиты командной строки, т.е. набирая определённую команду в терминале ты получаешь задуманное.
Собственно, Arduino IDE так и делает - запускает внешние программы используя команды ОС.
Тебе надо сделать следующее:
  • разобраться как называются компилятор и загрузчик для ESP;
  • какие именно команды (вкл все опции) приведут к желаемому результату, т.е. научиться компилировать и загружать прошивку из командной строки;
  • написать BAT-файл, в котором будут эти команды, тогда ты сможешь одной командой в терминале запускать последовательность других команд, которые сделают то что тебе надо; как пример см. билдер из этой темы;
  • если уж тебе не годится ком. строка, а нужен красивый GUI, то придётся написать на каком-то языке программирования (Путон или не Путон, а что-то другое) эту самую оболочку, которая нарисует тебе окошко с кнопочками, а потом выполнит те команды (через вызовы ОС), которые ты уже изучил.
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@Wan-Derer, чем-то похоже на инструкцию по забиванию гвоздей микроскопом... Как инструкция - бесспорно хороша, но по ссути с порно сам подход неправильный.
 

poty

★★★★★★✩
19 Фев 2020
2,989
895
Что-то я не пойму, а запоминать настройки в какой-нибудь flash не вариант? Зачем перезаписывать весь код?
 

Lumenjer

★★★✩✩✩✩
10 Дек 2020
220
112
@poty, Конечно вариант, в предыдущих темах это уже обсуждалось.
Тема 1
Тема 2

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

poty

★★★★★★✩
19 Фев 2020
2,989
895
Ну, судя по ветке kDn (каюсь, нужно позарез, но всё никак не найду время разобраться) - записать любое значение через его фреймворк можно просто по щелчку! А разбираться с перепрошивкой по Wi-Fi, после этого, может и не потребоваться!
 

Lumenjer

★★★✩✩✩✩
10 Дек 2020
220
112
Ну, судя по ветке kDn (каюсь, нужно позарез, но всё никак не найду время разобраться) - записать любое значение через его фреймворк можно просто по щелчку
Ну как бы да)
Создать
embui.var_create("Мой_параметр", "Мое значение");
Получить
String str = embui.param("Мой_параметр");
Изменить
embui.var("Мой_параметр", "Новое значение")

А с предустановленными макросами и того проще.
 

ambilight

✩✩✩✩✩✩✩
12 Июл 2021
31
0
@Lumenjer
А можно реализовать этот контроллер на ардуино nano, меня так всё достало за эти две недели, психанул, новый телефон разбил, ничего не получается ни фреймворк который выше, не OTA,wifi, bluetooth обновления, не понятно как обновлять, как достать команды, чтобы бат файл сам компилировал и загружал данные, как сохранять и изменять переменные во flash и вообще зачем это нужно....задание было такое просто на слух, есть страничка в браузере (заходим по ип или мак адресу) выбираем кнпоку, выбираем новое действие (например, ctrl+shift+esc) нажимаем обновить и всё......, , сейчас ещё и bluetooth накрылся стабильная прошивка прошивается, но esp не подключается к компьютеру и непонятно дело в новом свистке orico bta-508 или ещё в чём-то, скетч 100% тот же...
 

Lumenjer

★★★✩✩✩✩
10 Дек 2020
220
112
получается ни фреймворк который выше
Есть тема фреймворка, если что-то не получается, то почему не спросить там?

Ремаппинг клавиш без перепрошивки - задача не для новичка, но опять же, через фреймворк можно шить без проблем
 
Изменено:

bort707

★★★★★★✩
21 Сен 2020
2,894
860
@ambilight,
А вам сразу сказали, что перекомпилировать всю прошивку ради смены одной кнопки - это не лучший подход. Но главная ваша проблема не в этом, а в том что вы схватились сразу за сложный проект, не вникнув в основы.