Как прошить NodeMCU (ESP8266) с помощью внешнего программатора FTDI?
Привет, мой мост USB to UART (CP2102), кажется, сломан на одной из моих Dev-плат NodeMCU с ESP8266.
Похоже, это именно та конкретная плата, так как все остальные платы, которые у меня есть, можно прошить без проблем. У меня есть такой же программатор FTDI как этот: Программатор FTDI
Теперь я хотел бы прошить Nodemcu с помощью программатора FTDI, но не знаю, как его подключить. Я знаю, что эти программаторы не могут включить ESP8266 сам по себе, поэтому я бы использовал кабель micro USB, у которого нет провода передачи данных, чтобы включить nodemcu.
Вот как я бы все подключил:
Является ли это правильным способом подключения программатора к nodemcu? Я хочу быть уверен, что с nodemcu или программатором ничего не случится.
NodeMCU FTDI GND ----> GND RX ----> TX TX ----> RX>
@shyney, 👍3
Обсуждение1 ответ
Лучший ответ:
Предполагая, что ваш FTDI Basic-это версия 3.3 V, то да, это будет хорошо работать при условии, что вы вручную сбросите плату самостоятельно и войдете в загрузчик с помощью кнопок.
Если вы самостоятельно питаете платы, вы можете вставить некоторое последовательное сопротивление в соединения RX и TX в случае, если ваш приемный конец сигнала не питается, в то время как отправляющая сторона. Короче говоря, вы не хотите, чтобы TX-сигнал от одного из ваших устройств (плат) пытался питать принимающее устройство (плату) через его защитные/зажимные диоды.
В отношении комментария о значении резистора: Значение резистора зависит от того, что вам может сойти с рук с точки зрения его влияния на сигнал и сколько тока пропускается через зажимные диоды на другой плате. Пара Кбайт, вероятно, достаточно, лучше, чем ничего в любом случае. Используйте немного больше, если можете, и все равно получите надежный сигнал. Если у вас есть платы с питанием до их подключения, и вы тщательно их подключаете, то для этого нет возможности. Может быть, они достаточно прочны, чтобы вам вообще не понадобились. Я обычно кладу немного, хотя. Вторая причина, о которой я не говорил выше, заключается только в том, что она защищает вас от откровенной глупости и случайного подключения их к неправильной вещи; неправильный сигнал или VCC или GND на другой стороне.
какие резисторы следует использовать и как точно их подключить? (Программатор, который у меня есть, имеет перемычки для 5 В и 3,3 В), @shyney
Они просто последовательно с сигналом, который, надеюсь, будет ясен в приведенном выше. Я обращаюсь к этому только кратко, хотя, в противном случае, там больше об этом, чем просто ответ на вопрос., @timemage
Можно ли также подключить его вот так: https://imgur.com/a/Tb7Llow Я не уверен, что программист сможет включить nodemcu, Но, по крайней мере, тогда мне не нужно возиться с резисторами и т. Д. Возможно ли это?, @shyney
Правильно, это снимает проблему "независимого питания". Просто будьте осторожны, ваш код не делает что-то вроде использования pinMode
с OUTPUT
на выводе RX, и вы должны быть в порядке., @timemage
Даже на Arduino UNO, где последовательный приемопередатчик и микроконтроллер питаются вместе, резисторы все еще находятся на месте, чтобы защитить от случайного вождения последовательных контактов в неправильном направлении; это позволяет людям быть немного более небрежными. То, что вы показали, - это то, что я бы сделал, потому что я знаю, что не стоит пытаться вбить один из последовательных контактов напротив FTDI. Если бы это было что-то, что я ставил "в поле", я был бы более склонен иметь их там, просто на случай, если *я* облажаюсь., @timemage
Итак, я попытался прошить его, одновременно запитывая esp с помощью программатора. К сожалению, я все еще не могу прошить esp. Я открыл последовательный монитор на com порту программатора чтобы посмотреть в каком режиме загрузки запускается esp если я нажму кнопку Flash а затем нажму кнопку сброса это выход:
ets Jan 8 2013,первая причина:2, режим загрузки:(1,7)
это должно быть правильно. Но это тот же самый случай, как если бы я попробовал использовать встроенное соединение USB-UART. Он не может установить соединение для мигания и просто тайм-аут. :( Я думаю, что у меня просто неисправен чип (последовательный монитор был закрыт во время прошивки), @shyney
Давайте [продолжим эту дискуссию в чате](https://chat.stackexchange.com/rooms/120053/discussion-between-timemage-and-shyney)., @timemage
- Как заставить 5-вольтовое реле работать с NodeMCU
- ESP8266 не подключается к Wi-Fi
- Разница между этими двумя платами NodeMCU?
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- Как определить размер Flash?
- Как изменить имя модуля ESP8266-12E по умолчанию
- Простой запрос GET с ESP8266HTTPClient
- В ESP-12E NodeMCU, какой выход PIN A0?
По-моему, все в порядке. Просто удерживайте кнопку Flash и нажмите СНАЧАЛА, прежде чем вы хотите запрограммировать его в режим загрузчика. Возможно, вы захотите попробовать это с существующим USB-соединением, прежде чем проходить через суету подключения платы FT232., @Majenko
@Majenko да, я пробовал строить в последовательном соединении, но на этом конкретном Nodemcu я продолжаю получать: ОШИБКА запуска команды не удалось: не удалось открыть порт 'COM3': PermissionError(13, 'Zugriff verweigert', None, 5), @shyney