удаленная прошивка UNO через Ethernet

    Имеем
  • Ubuntu 12.04
  • Arduino 1.6.8
  • плата Arduino UNO
  • модуль Ethernet shield W5100
  • Ariadne Bootloader for Arduino

Подключить все необходимое прошивки bootloader в среде Ардуино оказалось очень просто:
Ардуино-Настройки-Дополнительные ссылки для менеджера плат добавляем https://per1234.github.io/Ariadne-Bootloader/package_codebendercc_ariadne-bootloader_index.json
Ардуино-Инструменты-Плата...-Менеджер плат- ищем Ariadne и устанавливаем

Теперь прямо в среде ардуино появились платы типа Ariadne UNO...
Выставляем программатор AVR ISP
и шьем bootloader (который и содержит возможность прошивки Ethernet по ip адресу 192.168.1.128)

Прошивается удаленно при помощи tftp



сначала надо перевести из hex в bin.

Для этого сначала установим avr-objcopy
sudo apt-get install binutils-avr

потом примерно так :
avr-objcopy -I ihex /tmp/build2902ca5d0c9177089ed0f2785a7bd340.tmp/BlinkWithoutDelay.ino.hex -O binary /home/p/1.bin



Теперь можно заливать любую прошивку по tftp:
Чтобы залить прошивку надо в первые 7-8 сек после включение или сброса платы Arduino UNO (c Ethernet) успеть выполнить несколько команд. Чтобы никуда не спешить лучше запустить прнимерно такой скрипт:
tftp 192.168.1.128 < ./tftp1.txt

    Содержние tftp1.txt:
  • mode octet
  • trace
  • verbose
  • put 1.bin
  • quit



В общем хочу сказать , что у меня все получилось.

    Вот такой вывод примерно получиться
  • p@p-office-black:~$ ./tftp.sh
  • tftp> tftp> Packet tracing on.
  • tftp> Verbose mode on.
  • tftp> putting 1.bin to 192.168.1.128:1.bin [octet]
  • sent WRQ
  • received ACK
  • sent DATA
  • received ACK
  • sent DATA
  • received ACK
  • sent DATA
  • received ACK
  • sent DATA
  • received ACK
  • sent DATA
  • received ACK
  • sent DATA
  • received ACK
  • Sent 2586 bytes in 5.0 seconds [4138 bits/sec]



И теперь можно прошивать удаленно , хоть через интернет.
Благодарности товарищу Ariadne!
Download the Ariadne files here: https://github.com/per1234/Ariadne-Bootloader/archive/ariadne.zip