Я новичок в сети.

У меня Rpi-A подключен к интернету через 3G-флешку, а Rpi-B подключен к интернету через точку доступа WiFi.

Я заметил, что Rpi-A имеет публичный IP-адрес, а Rpi-B имеет локальный / частный IP-адрес. Оба пи малины находятся в разных сетях.

Я хочу отправить двоичные данные из Rpi-A в Rpi-B. Любые предложения о том, как этого можно достичь?

Обновление: я использовал приведенный ниже код для проверки соединения MQTT. заменив XX.XX.XX.XX на общедоступный IP-адрес Raspberry Pi. Тем не менее, я получаю эту ошибку ---> ошибка: [Errno 10060] Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, потому что подключенный хост не смог ответить. в чем может быть причина этой ошибки? Чего-то не хватает в моем коде

import paho.mqtt.client as mqtt
import time

def on_connect(client, userdata, flags, rc):
    print("Connected with result code " + str(rc))

client = mqtt.Client()
client.on_connect = on_connect

client.connect("xx.xx.xxx.x", 1883, 60)

client.loop_start()

while True:
  time.sleep(2)
  client.publish('Due_0.72/cmd/in','hello')
  print "publish.."

2 ответа2

0

В сети RPi-B должен быть маршрутизатор, который использует NAT, чтобы позволить RPI-B подключаться к Интернету через публичный адрес.

Как это:

Вы должны войти в конфигурацию этого маршрутизатора и открыть определенный порт (например, 22) и перенаправить весь входящий трафик на этот порт на IP-адрес RPi-B.

RPi-B будет доступен общедоступному Интернету через комбинацию открытого IP-адреса RPI-B и порта 22.

Теперь из RPi-A вы можете использовать SFTP для отправки данных в RPi-B.

0

Если ваш RPi B работает в точке доступа, которая не контролируется вами. Вы либо создадите обратное соединение от Pi B к Pi A (что-то вроде ncat должно работать) и отправите данные по этому пути, либо используете что-то вроде сервера OpenVPN в облаке и проложите маршрут между 2 Pi.

Если у вас есть доступ к порту конфигурации точки доступа Wi-Fi, перешлите что-то вроде ssh на Pi B. (Общий порт 22/tcp, если используется стандартная конфигурация)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .