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

21 Авг 2019 в 06:40
155 +1
0
Ответы
1

Добрый день!

Ваш план звучит довольно разумно, и в целом вы правильно понимаете ситуацию. Если у вас нет возможности использовать статический IP адрес, то действительно лучшим вариантом будет использовать третий веб-сервер у хостера в качестве посредника.

Вы можете настроить вашу Raspberry Pi для отправки данных на внешний веб-сервер при помощи HTTP запросов или с использованием протокола MQTT (для более эффективной передачи данных). Этот внешний веб-сервер будет принимать ваши команды и пересылать их на Raspberry Pi через интернет. При этом, ваш компьютер также будет взаимодействовать с этим же веб-сервером для управления роботом.

Таким образом, ваша Raspberry Pi сможет оставаться подключенной к интернету через GSM модуль, а вы сможете управлять роботом из любой точки, где есть доступ к интернету.

Надеюсь, это поможет вам в реализации вашего проекта! Удачи!

20 Апр в 13:14
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 196 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир