Удаленный доступ Raspberry Pi - PullRequest
0 голосов
/ 08 января 2020

Я столкнулся с большой неоднозначностью в отношении этой топики c и хотел бы получить некоторые разъяснения.

В настоящее время у меня есть локальный веб-сервер flask на моем Raspberry Pi. Я могу управлять насосами и просматривать данные датчиков в браузере только в своей локальной сети.

Моя цель:

Моя цель - получить доступ к этому сайту в любой точке мира. Я хочу сделать это без использования переадресации портов или сторонних сервисов туннелирования / червоточин, таких как dataplicity. Я хочу использовать облачного провайдера.

Должен ли я разместить динамическую c веб-страницу на какой-либо облачной платформе и использовать MQTT для связи с облачным сервером и пи, и наоборот, для извлечения данных и включения насосы, если так, что бы мои первые шаги (после создания учетной записи с поставщиком)? Есть ли у кого-нибудь мнение о том, какой облачный провайдер является лучшим для начинающего, и как мне начать решать эту проблему? Если есть более простой способ управления пи через inte rnet, пожалуйста, поделитесь своим мнением! Спасибо!

Ответы [ 3 ]

1 голос
/ 09 января 2020

Ваш вопрос имеет несколько решений. Вот некоторые из них:

1) Размещайте веб-сервер в любом облаке, на котором установлен MQTT. Вы, Raspberry Pi, можете отправлять данные в MQTT Broker, которые впоследствии можно сохранить в базе данных с помощью вашего веб-сервера.

2) Размещать веб-сервер в любом облаке с включенным веб-сокетом для использования на сервере. Raspberry pi всегда может записать показания датчика через веб-сокет обратно на сервер.

3) Размещать веб-сервер в любом облаке с помощью API Rest, который может получать показания датчиков и сохранять их в базе данных. Raspberry pi может вызывать этот веб-сервис для записи данных датчика.

4) На удаленном сервере создайте собственный сокет, который может принимать соединения. С вашего пи подключиться к этому сокету, и вы можете записать данные в него.

Есть еще много возможных способов, но вам нужно выбрать наиболее подходящее решение в соответствии с вашими требованиями

0 голосов
/ 17 февраля 2020

Попробуйте VPN или что-то подобное, я использую этот скрипт здесь, я думаю, что он работает на Pi. https://github.com/hwdsl2/setup-ipsec-vpn

0 голосов
/ 12 января 2020

Очень важно понять проблему, в основном, это проблема NAT, решить ее с помощью методов NAT Traversal. Есть разные способы преодоления этой проблемы, MQTT является одним из них, еще одно предложение - использование Socket.IO, который решил ее с помощью WebSockets. Таким образом, вы можете написать node.js серверный скрипт, который принимает соединения от rpi. и поддерживать соединение для использования в будущем (когда вы хотите отправить команды * * * * * для клиента за NAT).

...