Доступ к IOT raspberry pi вне сети с использованием flask с Gunicorn - PullRequest
0 голосов
/ 08 мая 2020

Я просмотрел этот форум и не смог найти четкого ответа, который помог бы мне помочь.

Чтобы объяснить: в настоящее время я пытаюсь разработать устройство IOT, которое в основном состоит из Raspberry Pi 3. Поскольку это идея для начинающего бизнеса, я хочу сократить расходы и не иметь сервер в облаке.

Я подумал, что было бы неплохо запустить flask с Gunicorn на пи, и это было бы доступно настольному или мобильному приложению, которое будет знать IP-адрес пи, а также его flask конечные точки.

Я хотел, чтобы пи был доступен из любой другой сети (а не только из ее локальной). У меня есть хост на «0.0.0.0» и порт 5000 для разработки, но я не могу получить к нему доступ через мобильную сеть.

Я видел похожие сообщения, в которых упоминался ngrok (что может сделать данные менее безопасными?). Я видел, что мне, возможно, придется перенаправить порт пи на маршрутизатор. Но я думаю, это может потребовать доступа к настроенному маршрутизатору. И я не хочу делать это для каждого нового клиента.

Я проверил другие сообщения на форуме, но не могу найти то, что ищу.

Могу ли я спросить этот форум, правильно ли я понимаю? Может кто-нибудь мне помочь?

Будем признательны за любые советы!

1 Ответ

0 голосов
/ 09 мая 2020

Если я правильно понял проблему,

Если вы хотите подключиться к вашему raspberry pi удаленно, вы должны знать IP-адрес вашего raspberry pi и вам нужна переадресация портов. После этого вы можете подключиться к своему raspberry pi с IP-адресом publi c. Например, publicraspberrypiaddress: 5555 (какой порт вы используете)

Ngrok предоставляет случайный поддомен для подключения, поэтому я не знаю, как вы распознаете URL-адрес ngrok, когда устройство не находится рядом с вами.

В качестве альтернативы можно использовать котуннель. Он дает URL-адрес stati c, и устройство появляется на панели инструментов cotunnel, поэтому вы также можете удаленно управлять своим raspberry pi с помощью терминала s sh.

Или вам следует разработать свой собственный туннельный сервис, или изменить структуру вашего проекта. Другого пути не знаю.

...