Обновление OTA для нескольких малиновых пи

У меня есть 4 вычислительных модуля Raspberry Pi, работающих в разных местах, и я хотел бы запустить скрипт с сервера, который будет подключать и обновлять pi с последней версией файла, найденного на сервере. Как мне это сделать? Файл, который я хотел бы обновить, работает на pi, поэтому я считаю, что мне придется обновлять и отправлять команду перезагрузки, но я не уверен. Эти pi также будут в разных сетях и не будут иметь статических IP-адресов, поэтому просто используя ssh я не верю, что это сработает. Обратите внимание, что каждый из них будет подключен к Интернету через 3G-модем, и у них будет 2-проводная связь с сервером.

4 голоса | спросил FreshTendrils 20 Maypm15 2015, 16:51:01

2 ответа


5

Первый вопрос должен состоять в том, что доступ к 4 отдельным RPis происходит извне. Можете ли вы получить к ним доступ со своего сервера? Могут ли они получить доступ к серверу? Ответ на этот вопрос будет определять жизнеспособные решения.

Запуск программы на 4 удаленных RPi, поскольку сервис звучит как часть решения. Напишите соответствующие сценарии запуска (см. Man update-rc.d , это ссылка для обсуждения). Если правильно написано, будет легко остановить и перезапустить программу по мере необходимости.

Что касается обновления самой программы, то rsync (в сочетании с ssh) звучит как простое решение. (см. man rsync ). Вы можете инициировать rsync из «внутри» (удаленное местоположение) или «снаружи» (ваш сервер) по мере необходимости, в зависимости от возможности подключения. Если это исходный код программы, который необходимо обновить, вы можете использовать автоматическую git процесс.

Если у программы есть существенные требования к установке, вы можете исследовать создание частного репозитория deb и регулярно обновлять RPIS с помощью apt-get .

ответил bobstro 20 Maypm15 2015, 17:09:02
2

Возможно, стоит посмотреть на смолу. Это платформа для развертывания и управления для таких устройств, как rpi, и имеет собственный vpn для обхода проблем IP с 3g, поэтому должна быть идеальной для вашего использования.

(отказ от ответственности: я работаю на resin.io)

ответил craig 14 MonEurope/Moscow2015-12-14T14:18:49+03:00Europe/Moscow12bEurope/MoscowMon, 14 Dec 2015 14:18:49 +0300 2015, 14:18:49

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132