@hethclif

Как управлеять несколькими Raspberry pi подключенные к разным роутерам по ssh (или другим способом)?

Есть несколько Raspberry pi подключенных к розным роутерам, и есть ноутбук который также подключен к своему же роутеру, как можно управля Raspberry подключенные к разным роутерам с ноутбука по ssh (или другим способом)? Основноя задача паралельная работа, т.е я ввожу команду запус видео с ноутбука, после видео одновременно запускаеться на всех Raspberry.
5e3ac981afb4e965179782.png
  • Вопрос задан
  • 186 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Karpion
Ботоводы-вирусописатели используют примерно такую схему:
  1. После заражения компьютера вирус связывается с IRC-сервером или типа того. Вам вместо "заражения" надо "легально инсталлировать программу".
  2. Вирус "слушает" чат. Все команды, которые приходят в чат - либо выполняются встроенным интерпретатором, либо передаются внешнему интерпретатору (например, shell'у).
  3. Управляющая машина (у Вас - ноутбук) подключается к тому же IRC-серверу и отправляет в чат команды.
Типа всё. IRC-сервер можно запускать на ноутбуке.

Преимущества этой схемы в том, что не надо настраивать "взаимную видимость" малинок, городить VPN, etc. Всё отлично работает при минимальных телодвижениях.

Учтите, что при разрыве соединения с IRC-сервером - малинки должны восстанавливать его сами. Но если сервер плотно выключился - не надо долбиться иуда ежесекундно, надо сделать разумный интервал типа "при разрыве сервера сделать три попытки подряд, а если не удалось - то каждые десять секунд".
Выключиться может не только сервер, но и роутер. И конкретный канал может "лечь".

Учтите, что возможна ситуация, когда малинки рассинхронизировались - одни получили команду, другие пропустили. На этот случай я могу предложить иной алгоритм:
  1. Есть сервер - файловый, FTP, Web, RSync, etc. На ноутбуке или на чём-то ещё.
  2. На сервер выкладывается некий файл, в котром написано "как должно быть" - например, "сейчас крутим такое-то видео".
  3. Малинки считывают этот файл. Если текущее состояние какое нужно - ждём. Если есть отличия - запускаем/останавливаем нужные программы.
Отдельный вопрос - надо ли крутить видео синхронно.
Ответ написан
Комментировать
@Drno
Подключить их всех в одну впн сеть?
Ответ написан
@lubezniy
Посмотрел на схему.
Если малинки из разных подсетей не пингуют друг дружку, то нужно сперва настроить маршрутизацию. Как вариант, на главном роутере (который интернетовский) прописать по статическому маршруту в каждую подсеть. В каждом маршруте указываются IP-пространство сети (например, для маски подсети 255.255.255.0 это могут быть 192.168.0.0, 192.168.1.0, 192.168.2.0 и т. д.), маска подсети и в качестве шлюза IP-адрес роутера (в роутерной сети), на котором висит описываемая подсеть. NAT на роутерах, кроме главного, должен быть выключен.
После того, как обеспечена "видимость" малинок между собой, их также будет видеть и управляющая машина, и можно приступать к решению основной задачи. Здесь уже возможно огромное множество разных вариантов. Например, малинки периодически сами стучатся на управляющий web-сервер, куда каким-то образом кладутся команды, которые надо выполнить, берут эти команды и выполняют. Или управляющая машина по очереди пинает каждую малинку и говорит, что ей нужно сделать. Если речь только о воспроизведении видео, я бы, пожалуй, попытался поставить в сеть маленький сервер раздачи видеопотока и настроить на автозагрузку малинок подключение к этому серверу (например, браузером) и показ того, что он выдаёт.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы