Как настраивается коммуникация с raspberry pi через интернет? Добрый день! Я недавно начал играться с роботами и итоговой целью является постройка робота-паука, которым я бы мог управлять с компьютера (телефона). Архитектуру я хотел использовать следующую: Raspberry Pi (какая-то из последних у меня) выступает в качестве мозга и точки входа, к ней не сложно прикрутить камеру, wi-fi/bluetooth/gsm модуль, еще сопутствующие датчики. Поднять на ней полноценный веб. сервер и реализовать высокоуровневое api (идти вперёд/назад/повороты/смещения). По usb к малине подключается дуина (на самом деле у меня Iskra JS, но в этом вопросе не суть важно). Я смотрел в сторону ethernet-а, но подружить их вполне можно и просто по usb. Эта загогулина будет рулить только сервами, передвигать ноги. Соответственно, план такой, что я подключаюсь с компа к веб серверу на малине (хоть через браузер), посылаю команду "вперёд" через api, малина её разбирает на низкоуровневые и по ком. порту посылает ардуине как ей надо палки переставлять. Но тут я, похоже, пропустил фундаментальное условие, пока у меня малина сидит в локальной сети с моим домашним компьютером, мой роутер выдаёт айпишник и я могу с компа видеть веб. сервер малины. При желании я могу заказать у провайдера статический айпи, настроить роутер соответствующим образом, чтобы вебхост малины видеть в интернете и управлять малиной с любого устройства через интернет. Но, если я поставлю gsm модуль и отвезу робота в поле, то у него ж не будет айпишника, я ж в таком случае не смогу сделать вебсервер, так как, по сути, это мобильник с подключением к интернету, но айпишник меняется от вышки к вышке и мобильный оператор не сможет зафиксировать выделенный белый айпишник на симку? Поправьте, пожалуйста, если я ошибаюсь. Насколько я понимаю, мне нужен третий обычный веб. сервер у любого хостера. На малине нужен клиент, который при наличии соединения будет долбиться на этот сервер и устанавливать соединение по вебсокетам. Когда я захожу с компа, то так же устанавливается двустороннее соединение с этим внешним сервером, который, по сути, будет работать как прокси, переадресовывать вызовы с компьютера в робота и гнать обратную связь. Правильный ли у меня ход мыслей или я занимаюсь какой-то ерундой? Буду рад любым мыслям.
Ваш план звучит довольно разумно, и в целом вы правильно понимаете ситуацию. Если у вас нет возможности использовать статический IP адрес, то действительно лучшим вариантом будет использовать третий веб-сервер у хостера в качестве посредника.
Вы можете настроить вашу Raspberry Pi для отправки данных на внешний веб-сервер при помощи HTTP запросов или с использованием протокола MQTT (для более эффективной передачи данных). Этот внешний веб-сервер будет принимать ваши команды и пересылать их на Raspberry Pi через интернет. При этом, ваш компьютер также будет взаимодействовать с этим же веб-сервером для управления роботом.
Таким образом, ваша Raspberry Pi сможет оставаться подключенной к интернету через GSM модуль, а вы сможете управлять роботом из любой точки, где есть доступ к интернету.
Надеюсь, это поможет вам в реализации вашего проекта! Удачи!
Добрый день!
Ваш план звучит довольно разумно, и в целом вы правильно понимаете ситуацию. Если у вас нет возможности использовать статический IP адрес, то действительно лучшим вариантом будет использовать третий веб-сервер у хостера в качестве посредника.
Вы можете настроить вашу Raspberry Pi для отправки данных на внешний веб-сервер при помощи HTTP запросов или с использованием протокола MQTT (для более эффективной передачи данных). Этот внешний веб-сервер будет принимать ваши команды и пересылать их на Raspberry Pi через интернет. При этом, ваш компьютер также будет взаимодействовать с этим же веб-сервером для управления роботом.
Таким образом, ваша Raspberry Pi сможет оставаться подключенной к интернету через GSM модуль, а вы сможете управлять роботом из любой точки, где есть доступ к интернету.
Надеюсь, это поможет вам в реализации вашего проекта! Удачи!