Кремень КД Реклама
Кремень КМ Реклама

Еще один способ прошивки из под Raspberry - XForwarding

rafaelrs
Идет загрузка
Загрузка
03.07.2017
2937
6
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

7
Актуально только для пользователей Linux. Хотя форвардинг можно настроить конечно и в Windows (например как рассказано вот тут: http://d51x.ru/page/udalennyj-dostup-x11-forwarding).

Была вот такая пара инструкций, http://3dtoday.ru/blogs/eta4ever/orange-octopus-junior-and-penguin-stuff/, http://3dtoday.ru/blogs/photo-mickey/flash-the-arduino-via-the-raspberry-pi/, не освящают они еще одной такой интересной возможности прошивки из под малинки.

В Linux в графической системе X есть такая замечательная возможность, как пробрасывание графического интерфейса программы через сеть. Нет, это не rdp, vnc и тому подобное, где пробрасывается полностью рабочий стол (хотя последние rdp уже умеют пробрасывать только программу). Ею мы и воспользуемся, для того, чтобы прямо на нашей малинке редактировать, компилировать и тут же прошивать наш 3d printer.

Что для этого потребуется?
  • Установить arduino не младше 1.6 на малинку (или апельсинку, кому как удобнее)
  • Настроить XForwarding в вашем клиенте ssh
  • Пользоваться :)

Устанавливаем Arduino

Есть два способа, сборка из исходников, использование готового .deb. Честно говоря я не стал особо мучаться со сборкой из исходников, т.к. ругнулось на что-то, опять ковыряться в битве с нужными версиями библиотек было в лом, пока поставил готовый deb.

Если так случилось, что вы уже поставили древнюю ардуино из стандартных репозиториев, удяляем их так:

apt-get remove libjna-jni arduino librxtx-java binutils-avr arduino-core extra-xdg-menus avrdude gcc-avr avr-libc libftdi1 libjna-java



Инструкции и готовую сборку взял отсюда: http://duinorasp.hansotten.com/arduino-1-6-x-for-raspberry-pi-jessie/Вкратце, в моем случае это выглядело так:

Скачиваем пакеты:

arduino_1.6.0_all.deb arduino-core_1.6.0_all.debЗакидываем эти файлы в малинку с Octoprint (не спрашивайте как :) я использую обычно scp/sftp). Подключаемся по ssh к нашей малинке. Заходим в каталог, куда мы скачали пакеты. Там вводим вот это:

sudo su

apt-get update

dpkg -i arduino-core_1.6.0_all.deb arduino_1.6.0_all.deb


В процессе установки ругнется на отсутствующие зависимости. Это нормально, продолжаем процесс:

apt-get -f install

dpkg -i arduino-core_1.6.0_all.deb arduino_1.6.0_all.deb

apt-get install gcc-arm-none-eabi bossa-cli

mkdir /usr/share/arduino/hardware/tools/avr/etc/

ln -s /etc/avrdude.conf /usr/share/arduino/hardware/tools/avr/etc/avrdude.conf



На этом все. Там же в инструкции есть вариант установки из исходников.

Настраиваем XForwarding в ssh



На вашем компьютере с Linux находим файл /etc/ssh/ssh_config, в конец добавляем следующие строки:

ForwardX11 yes

ForwardX11Trusted yes



Готово

Подключаемся, пользуемся

Подключаемся к нашей малинке через ssh как обычно. В установившемся сеансе просто тупо вводим arduino и жмем Enter. Слегка подумав на нашем компьютере открывается окно Arduino IDE:
Еще один способ прошивки из под Raspberry - XForwarding
Пользуемся как обычно - редактируем, прошиваем. Но нужно отключать Octoprint от принтера перед прошивкой.

Заключение



Конечно стоит отметить, что X форвардинг не такой шустрый, как скажем тот же VNC, тем более на малинке. Но тем не менее пользоваться можно, подправить несколько параметров и прошить - самое то. Хотя говорят, некоторые умудряются настраивать его так, что летает он похлеще VNC.

Хотелось бы конечно большего. Вебморду скажем какую нибудь, где все можно было бы редактировать и оттуда же по кнопке прошивать, с поддержкой Git т.е. просмотром истории изменений. Но пока ни сил не времени на это нет, тем более с консоли как то не особо охотно Marlin компилируется. Есть вот такой проект для компиляции с консоли: https://github.com/mmone/marlintool но у меня он не взлетел сразу, а ковырятся я не стал (кстати он между прочим без проблем у меня скачал последнюю Arduino IDE и собрал, так что если кому надо, может для этого использовать).

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

7
Комментарии к статье