Прошивка 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 не отрабатывает… возвращает «Сбой запроса на подключение», на пинги тоже не отвечает. До этого пункта всё удалось сделать без ошибок. Что можно сделать?

Добавить комментарий