Прошивка ATtiny85 с помощью NodeMCU?

Недавно я приобрел Digispark для некоторых своих небольших проектов в области электроники. Первоначально это была отличная маленькая плата, но вскоре я обнаружил, что не могу прошить ее так же, как делал это раньше, то есть в соответствии с методом, описанным здесь. Я до сих пор не понимаю, почему предыдущий метод перепрошивки перестал работать, но мне не удалось решить эту проблему, и я не нашел в Интернете много других сообщений о подобных проблемах.

После периода разочарования, когда я не смог даже найти способ перезагрузить плату, меня осенило, что я могу использовать Arduino для прошивки платы, как показано здесь. Однако проблема в том, что во всех учебных пособиях, которые я смог найти в Интернете, предполагалось, что к Arduino Uno можно легко получить доступ, но для меня это не так. Несмотря на это, у меня есть несколько NodeMCU, и мне было бы очень приятно, если бы я мог использовать их для прошивки Digispark.

Мой вопрос: как именно мне прошить Digispark с помощью NodeMCU (если это вообще возможно)?

PS Хотя мне известно, что плата Digispark имеет ряд других компонентов, помимо чипа ATtiny85, выводы (не USB) платы позволяют напрямую взаимодействовать с чипом.

Заранее благодарим за любую помощь

С уважением, Рокко

, 👍3

Обсуждение

Возможный дубликат использования пера esp8266 для записи загрузчика на красной доске, @Juraj

@Юрай Я согласен, что мой вопрос похож на тот, который связан. Однако мне все равно хотелось бы, чтобы кто-нибудь подтвердил, что это относится к моей конкретной ситуации. То есть для чипа ATtiny85, а не для Arduino redbird. Если да, то связано ли это с особенностями NodeMCU или это конкретная проблема с двумя рассматриваемыми компонентами?, @Rocco

IIRC NodeMCU — это устройство с напряжением 3,3 В, а ATtiny — 5 В, поэтому это может вызвать проблемы., @Craig


1 ответ


Лучший ответ:

3

Это можно сделать. Ваш Digispark имеет контакты SPI, которые являются контактами интернет-провайдера. Для esp8266 существует библиотека ESP8266AVRISP для загрузки OTA в AVR. Вы можете использовать пример библиотеки.

Вы должны соединить контакты SPI и заземление вместе. Подключите контакт сброса Digispark к io 5 (D1) NodeMcu. Вам следует использовать преобразование уровня, но esp8266 допускает TTL 5 В (не рекомендуется в течение длительного времени). Не подключайте контакт SS.

,

Спасибо за ваш ответ. У меня все еще есть несколько вопросов; о каком «Блюно» ты говоришь? Не могли бы вы дать более пошаговые инструкции, как это сделать, поскольку мне неясно, что именно вы имеете в виду. Если возможно, не могли бы вы приложить схему подключения digispark и NodeMCU? Еще раз спасибо, @Rocco

@Rocco, извини, Bluno - очень похожая маленькая доска. исправлю в ответе, @Juraj

Спасибо за ответ, попробую, когда в следующий раз представится возможность. Всего два вопроса: нужно ли мне использовать преобразование уровней только между Digispark Reset и D5 или мне нужно будет это между всеми соединениями или что? Кроме того, я не могу найти четких инструкций о том, как загрузить в Интернете инструмент «avrdude», есть ли простой «клон git» или что-то в этом роде?, @Rocco

Кроме того, вы имеете в виду соединить контакты SPI NodeMCU и digispark вместе, а затем заземлить каждую плату вместе, а не заземлять контакты SPI? Я также предполагаю, что digispark не нужно подключать? Наконец, не могли бы вы включить схему, показывающую, какие именно провода куда должны идти, для ясности, если это возможно, поскольку я не знаком с SPI? Еще раз, спасибо, @Rocco

сброс и MISO являются кандидатами на преобразование уровня. инструкции по ссылке на библиотеку в ответе, @Juraj

Еще несколько вещей, в которых я не совсем уверен: Что касается сдвига уровня, это ОТ 3 В до 5 В или наоборот? IE требуется ли для digispark внешнее питание? Было бы очень здорово, если бы вы включили в свой ответ полную схему подключения, поскольку она ответила бы на все мои оставшиеся вопросы. Лучший, @Rocco

Преобразование уровня должно защитить esp8266 от напряжения 5 В. Я много раз подключал логику 5 В к esp8266. Это не похоже на какой-то настоящий ток. Это всего лишь подтягивание логического уровня. Вы можете запитать Digispark от контакта 5 В NodeMcu. https://raw.githubusercontent.com/wiki/jandrassy/arduino-firmware-wifilink/images/wemos-nano-spi.jpg, @Juraj

правда в том, что вам следует использовать преобразование уровня и для линий 3,3, поскольку в технических данных AVR указано, что для AVR 5 В требуется как минимум 3,7 В в качестве ВЫСОКОГО уровня. но почему-то 3,3 В это в допуске. а макетная схема SPI с преобразованием уровней - это спагетти https://raw.githubusercontent.com/wiki/jandrassy/arduino-firmware-wifilink/images/wemos-nano-ls-spi.jpg, @Juraj

Ах, понятно, спасибо за ответ и подробные фотографии. Чтобы уточнить, на вашем фото D1 Mini представляет собой дигиспарк или наоборот? Еще раз спасибо за вашу помощь!, @Rocco

D1 — esp8266, а Nano — AVR. на фотографиях показано подключение SPI не только для интернет-провайдера, но и для сетевой прошивки, где AVR является ведущим, а esp8266 — подчиненным. но Nano можно прошить через esp8266. дополнительно к проводке ISP есть пин CS, оба ресета и еще один сигнальный разъем для прошивки, @Juraj