Repos не работает в Fedora. Ошибка: не удалось синхронизировать кеш для репо «обновлений» [закрыто]

Отсутствие прокси-сервера USB-устройства (usbip по состоянию на февраль 2016 г. не выглядит очень портативным), другим способом является установка avrdude на система, подключенная к Arduino (ДИСТАНЦИОННАЯ). Если это возможно, то запущенная система Arduino IDE (КЛИЕНТ) может получить указание вызвать программу, которая подключается к avrdude на УДАЛЕННОМ. Недостатки: требуется возиться с файлами конфигурации Arduino IDE, вероятно, хрупкие, потребуется дополнительная работа для поддержки таких вещей, как arduinoOTA и так далее ...

CLIENT (Arduino IDE) -> ssh -> REMOTE (avrdude) -> usb -> arduino

Arduino IDE должна содержать programmers.txt Файлы конфигурации и platform.txt (находятся, например, в Arduino.app/Contents/Java/hardware/arduino/avr в версии для Mac). Что нам нужно в этих файлах, так это новый программатор, который установит соединение с REMOTE и передаст данные для загрузки, а затем на REMOTE будет выдавать настоящую команду программиста avrdude , используя данные, переданные из системы CLIENT. .

КЛИЕНТ-программист

В Java / hardware / arduino / avr / programmers.txt добавьте что-то вроде

avrrelay.name=AVR RELAY
avrrelay.protocol=stk500v2
avrrelay.program.tool=avrrelay
avrrelay.program.extra_params=

Более сложно, в Java / hardware / arduino / avr / platform.txt дублирует все tools.avrdude. , содержащие строки, и измените их так, чтобы вместо этого они назывались tools.avrrelay. и, где необходимо, вместо этого вызовите avrrelay-client (большая часть этих строк не обязательна, но, вероятно, легче их все подкорректировать, чем выяснить, какие из них необходимы):

tools.avrrelay.path={runtime.tools.avrdude.path}
tools.avrrelay.cmd.path={path}/bin/avrrelay-client
tools.avrrelay.config.path={path}/etc/avrdude.conf
... many more of these not shown, e.g. the verbose one ...
tools.avrrelay.upload.pattern="{cmd.path}" "{build.path}/{build.project_name}.hex"
tools.avrrelay.program.pattern="{cmd.path}" "{build.path}/{build.project_name}.hex"

Затем в Каталог Java / hardware / tools / avr / bin (который должен быть идентичен параметру конфигурации runtime.tools.avrdude.path ) создать avrrelay-client и сделать это исполняемый файл:

#!/bin/sh
# send the only argument (which should be the *.hex file) to avrrelay-remote
# this will need to use public key auth, or expect to automatically fill
# in any password promptes
ssh theremotehost avrrelay-remote < "$1"

REMOTE script

В Arduino IDE есть параметр предпочтения для отображения подробного вывода во время загрузки,который покажет запущенную команду.

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude \
-C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf \
-v -patmega328p -cstk500v2 -Pusb \
-Uflash:w:/blablabla.../Blink.ino.hex:i 

Эта команда может быть скопирована и адаптирована для кода на REMOTE, хотя avrdude (1) указывает, что имя файла должно быть указано, поэтому скопированные данные необходимо будет поместить в файл tmp, и который поступил на avrdude ; это программа avrrelay-remote , вызываемая КЛИЕНТОМ; он должен быть chmod + x и вызываться по полному пути или находиться в SSH-доступном каталоге PATH .

#!/bin/sh
FLASH=`mktemp /tmp/avrrelay.XXXXXXXXXX` || exit 1
# assume data passed via standard input
cat > "$FLASH"
# these flags will vary depending on programmer, etc
avrdude -C /path/to/avrdude.conf -v -patmega328p -cstk500v2 -Pusb \
"-Uflash:w:$FLASH:i"

Теоретически перезапустите Arduino IDE и попробуйте использовать новый программатор «AVR RELAY». Используйте свои безумные навыки отладки, чтобы выяснить, где он ломается, повторите.

удаленный монитор последовательного порта

Чтобы монитор последовательного порта работал удаленно, вероятным вариантом будет его пересылка через socat :

Небуферизованную команду socat для подключения последовательных портов на удаленных машинах и регистрации данные

1
07.09.2017, 01:04
2 ответа

Вчера возникла временная проблема с DNS Fedora — проблема с DNSSEC — как раз в то время, когда у вас возникла эта проблема. Теперь эта проблема решена.

3
27.01.2020, 23:24

Я побежал dnf clean all. Кажется, работает. Также мне пришлось изменить свой DNS на OpenDNS. Мой интернет-провайдер явно не любит Red Hat

0
27.01.2020, 23:24

Теги

Похожие вопросы