我是網路新手。
我有一個 Rpi-A 透過 3G 衝浪棒連接到互聯網,Rpi-B 透過 WiFi 熱點連接到互聯網。
我注意到 Rpi-A 有一個公用 IP 位址,而 Rpi-B 有本地/私人 IP。兩個樹莓派都位於不同的網路上。
我想將二進位資料從 Rpi-A 發送到 Rpi-B。關於如何實現這一目標有什麼建議嗎?
更新:我使用下面的程式碼來測試 MQTT 連線。將 XX.XX.XX.XX 替換為樹莓派的公共 IP。我仍然收到此錯誤--->錯誤:[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.."
答案1
如果您在不受您控制的熱點上運行 RPi B。您可以創建從Pi B 到Pi A 的反向連接(類似ncat 的東西應該可以工作)並以這種方式發送數據,或者使用雲端中的OpenVPN 伺服器之類的東西並在2 個Pi 之間進行路由。
如果您有權存取 Wi-Fi 熱點配置端口,請將 ssh 之類的內容轉送至 Pi B。