Прошивка Arduino через Ethernet

Например если ардуина далеко, а прошивать неудобно ходить, можно прицепить Ethernet модуль на чипе WIZnet W5100

1. Берем какую нибудь простую ардуино и прошиваем ее скитчем arduino isp из примеров

2. подключаем так

Плата, которая прошивает

Плата, которую прошивают

SS   ->
mosi   ->
miso   ->
sck   ->

reset
51
50
52

Например у меня Nano
DSC_1059DSC_106111DSC_106011
Прошиваем Mega 2560
DSC_1060DSC_1061

3. в arduino ide жмем файл – настройки, указываем там в дополнительных ссылках для менеджера плат это: https://per1234.github.io/Ariadne-Bootloader/package_codebendercc_ariadne-bootloader_index.json

image

4. в arduino ide жмем инструменты – платы – менеджер плат – жмем внизу Ariadne Bootloader — Установка

image

5. жмем инструменты – плата – и в разделе Ariadne Bootloader  выбираем нужную плату (которую собираемся прошивать. У меня это mega 2560)

6. выбираем инструменты – программатор – arduino as isp

7. проверям все еще раз – должно быть так:

DSC_1060

8. инструменты – записать загрузчик (пару раз если ошибки появляются)

9. отключаем программатор, втыкаем сетевую плату. по умолчанию ip 192.168.1.128. чтобы сменить надо прошить один раз скетч neteeprom – writeNetworkSettings, предварительно прописав там нужные IP

10. после этого надо попробовать прошить через сеть – для этого тоже надо сделать несколько странных действий. включаем в Arduino IDE через файл – настройки подробный вывод:

image

11. открываем нужный скетч например Blink из примеров:

image

12. жмем компилировать – и ищем куда ардуино сваливает временные файлы при компиляции. у меня это тут

image

13. открываем командную строку в этой папке и выполняем:

«C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avr-objcopy.exe» -I ihex Blink.ino.hex  -O binary Blink.ino.bin

image

14. затем жмем ресет и через пару секунд выполняем там же tftp -i 192.168.1.128 PUT Blink.ino.bin

image

 

15. жать ресет каждый раз неудобно и для этого нам понадобиться скетч файл – примеры – ethernetreset – resetserver. это специальный маленький вебсервера на порту 8080, который при получении запроса перезагрузит ардуино http://192.168.1.128:8080/password/reset:

image

Для автоматизации я накатал батник – просто закинь его в папку своего скетча и перетаскивай на него файл .ino – он загрузит его к тебе. сначала только подредактируй – укажи свой сервер и пароль:

image

По мотивам https://github.com/per1234/Ariadne-Bootloader

← Previous post

Next post →

7 Comments

  1. Terrobit

    Не получается загрузить загрузчик постоянно выходит «ошибка загрузки», как можно решить эту проблему? Используется nano и mega2560. остальные пункты все отлично проходят.

    • admin

      а в логе есть что-то еще кроме ошибки загрузки?

    • admin

      первый пункт сделали?

  2. Reketir

    Помогите пожалуйста, все сделал как написано, батник не грузит скетч…

  3. Reketir

    При попытке отправки .bin файла в ардуино пишет «Сбой запроса на подключение» я так понимаю время ожидания превышено…в чем может быть дело? помогите пожалуйста, написанный вами .bat у меня не заработал…

  4. Константин

    К п. 9 нужны комментарии. Как прошивать скетч, если программатор уже отключен, а загрузчик изменён?
    И у меня п. 14 не отрабатывает… возвращает «Сбой запроса на подключение», на пинги тоже не отвечает. До этого пункта всё удалось сделать без ошибок. Что можно сделать?

Добавить комментарий для admin Отменить ответ