Jeer
@Jeer
уверенный пользователь

Как настраивается коммуникация с raspberry pi через интернет?

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

Соответственно, план такой, что я подключаюсь с компа к веб серверу на малине (хоть через браузер), посылаю команду "вперёд" через api, малина её разбирает на низкоуровневые и по ком. порту посылает ардуине как ей надо палки переставлять. Но тут я, похоже, пропустил фундаментальное условие, пока у меня малина сидит в локальной сети с моим домашним компьютером, мой роутер выдаёт айпишник и я могу с компа видеть веб. сервер малины. При желании я могу заказать у провайдера статический айпи, настроить роутер соответствующим образом, чтобы вебхост малины видеть в интернете и управлять малиной с любого устройства через интернет. Но, если я поставлю gsm модуль и отвезу робота в поле, то у него ж не будет айпишника, я ж в таком случае не смогу сделать вебсервер, так как, по сути, это мобильник с подключением к интернету, но айпишник меняется от вышки к вышке и мобильный оператор не сможет зафиксировать выделенный белый айпишник на симку?
Поправьте, пожалуйста, если я ошибаюсь.
Насколько я понимаю, мне нужен третий обычный веб. сервер у любого хостера. На малине нужен клиент, который при наличии соединения будет долбиться на этот сервер и устанавливать соединение по вебсокетам. Когда я захожу с компа, то так же устанавливается двустороннее соединение с этим внешним сервером, который, по сути, будет работать как прокси, переадресовывать вызовы с компьютера в робота и гнать обратную связь.
Правильный ли у меня ход мыслей или я занимаюсь какой-то ерундой?
Буду рад любым мыслям.
  • Вопрос задан
  • 516 просмотров
Решения вопроса 2
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
Нужен некий внешний сервер, который всегда будет "знать" как обратиться к вашему устройству.
На этом сервере поднимаете VPN-сервер, на вашей малинке поднимаете VPN-клиент.
Теперь не важно - то ли дома с роутера через WiFi, то ли в поле через точку доступа на вашем телефоне по WiFi - ваше устройство всегда будет видно VPN-серверу.
Ну а собственно на VPN-сервере пробрасываете порты снаружи какие надо на вашу малинку через VPN.
Ответ написан
keine-lust
@keine-lust
Но, если я поставлю gsm модуль и отвезу робота в поле, то у него ж не будет айпишника, я ж в таком случае не смогу сделать вебсервер, так как, по сути, это мобильник с подключением к интернету, но айпишник меняется от вышки к вышке и мобильный оператор не сможет зафиксировать выделенный белый айпишник на симку?

Почитайте про DDNS. На линуксе (Raspbian=Debian) его просто поднять.

Между малиной и дуиной можно реализовать по UART.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ulkoart
@ulkoart
может коммуникацию отдать файваю или блютусу? если нет, то можно через сервак с внешним ип коммуницировать, для начала можно попробовать free-dns или что-то подобное, но имхо $5 за дроплет на DO не много, да и домены дорого не стоят.
Ответ написан
Ваш ответ на вопрос

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

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