Digi 0 23 декабря, 2019 Опубликовано 23 декабря, 2019 · Жалоба Не знаю, в ту ли ветку пишу, но назрел вопрос. Есть удалённая железка на Raspbian, на ней работают некоторые программные модули. На железке есть хреновый мобильный интернет и можно открыть несколько портов. Один порт открыт для SSH. Редактировать код, запускаемый на малине, необходимо с локального компа. Как автоматизировать процесс загрузки новых файлов с локальной машины и их запуск ? Кто нибудь такое делал ? Пока есть идея использовать в качестве облака - GitHub. Залить на него изменённый код, затем при помощи скрипта на малине, запускаемого через SSH, выполнить необходимые действия. Может есть какое либо более изящное решение ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 23 декабря, 2019 Опубликовано 23 декабря, 2019 · Жалоба 2 минуты назад, Digi сказал: Пока есть идея использовать в качестве облака - GitHub. Залить на него изменённый код, затем при помощи скрипта на малине, запускаемого через SSH, выполнить необходимые действия. Может есть какое либо более изящное решение ? наплодить ключ для ssh, положить в нужное место, т.с. обеспечив доверенное соединение, потом скриптами гонять пакеты нужную сторону Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 60 23 декабря, 2019 Опубликовано 23 декабря, 2019 · Жалоба Google это давно уже сделал Например https://www.google.com/search?q=visual+studio+raspberry+debug+C https://dogfeatherdesign.com/debugging-cc-code-on-a-raspberry-pi-with-visual-studio/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 2 23 декабря, 2019 Опубликовано 23 декабря, 2019 · Жалоба А в чем, собственно, проблема? У меня достаточно железок вроде "апельсинки" или "куби". Просто монтирую хомяка по sshfs. Открываю на своем компьютере в qtcreator и правлю спокойно код. А собираю и отлаживаю по ssh в терминале. Разницы с локальной работой почти никакой — только тормоза из-за "задумчивости" одноплатников (правда, иной раз реально бесит, когда перекомпиляция секунд 20 длится — и это гольный С, а не кресты с бустами и шаблонами!). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
razrab83 21 24 декабря, 2019 Опубликовано 24 декабря, 2019 (изменено) · Жалоба 16 часов назад, Digi сказал: Как автоматизировать процесс загрузки новых файлов с локальной машины и их запуск ? Кто нибудь такое делал ? Да. Речь идет о кросскомпиляции? Настройка шагов в 10, дальнейший процесс выгрузки и отладки в ОДИН клик. Уже обсуждалось, почитайте тут Если хотите собирать исходники прямо на малине, то в Eclipse настраивается ремоут достут. все исходники на малине... запскт gcc из локального эклипса прямо на малине..... блин - забудьте удаленную сборку на таргете. Настройте кросскмпиляцию. Готовых кросскомпиляторов для малины полно. Если на локале не будет нужных сторонних библиотек (например boost, wiringpi, qt и т.п.) то их с малины на локальный десктоп скопировать и эклипсу указать путь к ним. 11 часов назад, Eddy_Em сказал: правда, иной раз реально бесит, когда перекомпиляция секунд 20 длится — и это гольный С при кросскомпиляции натравить эклипс на 8 ядер на все ядра - сборка махом!!! Да и отладка прямо на таргете в человеческой в лучшей IDE возможна Изменено 24 декабря, 2019 пользователем razrab83 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 2 24 декабря, 2019 Опубликовано 24 декабря, 2019 · Жалоба Не вижу смысла делать кросс-компиляцию чего-то мелкого. Можно и 20 секунд подождать. Другое дело - генту собирать. Вот там — да, приходится делать qemu'вский чрут, чтобы собрать образ для "малинки" или "апельсинки". Армбиан, к сожалению, скатился в самое оно — ведь он основан на бубунте, а это — днище! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Digi 0 27 декабря, 2019 Опубликовано 27 декабря, 2019 · Жалоба Всем спасибо, общая идея понятна. Буду разбираться с SSHFS , оно мне больше подходит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 60 27 декабря, 2019 Опубликовано 27 декабря, 2019 · Жалоба Удачи https://devblogs.microsoft.com/cppblog/debugging-linux-cmake-projects-with-gdbserver/?MC=Vstudio&MC=CCPLUS&MC=AppDnDTool Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 6 января, 2020 Опубликовано 6 января, 2020 · Жалоба SSHFS у меня пару лет назад постоянно падало. Самый простой вариант: Как отправить с Линукса. заходите в папку из которой надо скопировать файл "file" на малинку. запускаете команду sftp pi@remote_raspberry_pi_ip_address. Полагаю, что username pi. Если сделали другое имя, то пишите его. У вас будут работать команды ls cd, но уже на малинке. Заходите в нужную папку. из директории, в которой вы находились копируете файл "file" командой "put file" Второй вариант: команда scp похожа на команду cp, только она копирует на удаленный или с удаленного компьютера. Перед абсолютным путем к файлу на удаленном компьютере необходимо написать pi@remote_raspberry_pi_ip_address: Двоеточие в конце обязательно scp /home/devel/raspberry_design/file pi@remote_raspberry_pi_ip_address:/home/pi/location скопирует файл file из папки /home/devel/raspberry_design/ в папку /home/pi/location на удаленной малинке с IP адресом remote_raspberry_pi_ip_address. Если копировать с винды, то поставьте на нее winscp. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 2 6 января, 2020 Опубликовано 6 января, 2020 · Жалоба Тогда давайте еще вспомним rsync… Вообще же, если соединение нестабильное (а только по этой причине могут быть проблемы с sshfs), можно подмонтировать удаленный ресурс при помощи NFS. Прошло уже то время, когда NFS приводила к зависаниям компьютера. Сейчас все нормально работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 29 мая, 2020 Опубликовано 29 мая, 2020 · Жалоба On 12/23/2019 at 4:43 PM, Digi said: Не знаю, в ту ли ветку пишу, но назрел вопрос. Есть удалённая железка на Raspbian, на ней работают некоторые программные модули. На железке есть хреновый мобильный интернет и можно открыть несколько портов. Один порт открыт для SSH. Редактировать код, запускаемый на малине, необходимо с локального компа. Как автоматизировать процесс загрузки новых файлов с локальной машины и их запуск ? Кто нибудь такое делал ? Пока есть идея использовать в качестве облака - GitHub. Залить на него изменённый код, затем при помощи скрипта на малине, запускаемого через SSH, выполнить необходимые действия. Может есть какое либо более изящное решение ? Основных способов для отладки ПО с локальной машины всего два: компилируем на локальной машине (кросс компиляция) и отправляем на плату или компилируем непосредственно на плате. Для первого способа выбираете IDE для разработки, прописываете компилятор и как связываетесь с платой (TCF агент, SSH), для второго способа использую SSH и Visual Studio, проект создаю для удаленной компиляции под Линуксом. В этом случае исходники копируются на плату и там собираются. Запускать и отлаживать можно в VS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 29 мая, 2020 Опубликовано 29 мая, 2020 · Жалоба Через SSH можно и копировать файлы (командой scp) и запускать команды и приложения на удаленной системе. Вам надо публичный ключ с вашего рабочего компа положить в соответствующий файл на железке. Здесь написано как его сделать и добавить, но вам не надо делать. Просто возьмите тот которым ваш локальный комп пользуется, когда подключается по SSHhttps://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server или меньше букв:https://serverfault.com/questions/241588/how-to-automate-ssh-login-with-password Второй способ: На локальный комп установите sshpass sudo apt-get install sshpass И используйте таким образом sshpass -p your_password ssh user@hostname Второй способ плох тем, что светите пароль, но исполнить его проще. Как исполнять команды удаленно. Вот я на малинке 192.168.1.161, подключенной по первому способу (иначе попросит пароль) исполняю команду ifconfig $ ssh -t [email protected] ifconfig eth0 Link encap:Ethernet HWaddr 02:хх:хх:хх:хх:хх inet addr:192.168.1.161 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::f8c5:eba9:81ff:fa60/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:369712530 errors:0 dropped:0 overruns:0 frame:0 TX packets:14193387 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2751495000 (2.7 GB) TX bytes:971323255 (971.3 MB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:588 errors:0 dropped:0 overruns:0 frame:0 TX packets:588 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:49807 (49.8 KB) TX bytes:49807 (49.8 KB) Connection to 192.168.1.161 closed. Теперь пишите скрипты и автоматизируйте процесс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NStorm 0 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба Я не пойму, какое отношение всё это копирование имеет к отладке? Отладка - GDB, который прекрасно работает по сети. Тулчейн с кросскомпилятором и gdb под целевую платформу собрать на ПК и подключаться. На цели понадобится только gdb (сервер). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба 5 hours ago, NStorm said: Я не пойму, какое отношение всё это копирование имеет к отладке? Отладка - GDB, который прекрасно работает по сети. Тулчейн с кросскомпилятором и gdb под целевую платформу собрать на ПК и подключаться. На цели понадобится только gdb (сервер). Вы перечитайте вопросы, заданные ТС. Там в частности есть:" Как автоматизировать процесс загрузки новых файлов с локальной машины и их запуск ?" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NStorm 0 30 мая, 2020 Опубликовано 30 мая, 2020 · Жалоба Да читал, и даже заметил, что заданы они были в давнюю докороновируную эпоху ) Но т.к. тему продолжают, решил высказать своё удивление неподходящему к названию теме, а также оставить всё-таки пост по сабжу ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться