python - 互联网上的套接字 Python 嵌入式
问题描述
我有一个可以连接到互联网的嵌入式系统。该嵌入式系统必须将传感器数据发送到 PC 客户端。
我在我的 PC 上使用 python 放置了一个套接字客户端。我在嵌入式系统上放置了一个套接字服务器(在嵌入式系统上使用 C++ 语言,因为您只能使用 C++)。
我可以使用套接字成功地从我的 PC 连接到嵌入式系统,并发送和接收我想要的任何内容。
现在,问题是我使用本地 IP 连接到系统,并且它们都必须连接到同一个 Wifi 路由器。
在实际应用中,我不会知道嵌入式系统在世界的哪个位置。我需要通过互联网访问它,因为它将通过 4g 连接到互联网。
我的问题是,如果嵌入式系统使用 4G 连接到互联网,我如何通过互联网连接到它?
谢谢
解决方案
实际上,在典型情况下,挂在 4g 调制解调器上的 PC 和嵌入式设备都不太可能(或应该允许)具有外部可路由地址。
这实际上意味着您需要通过云中相互可见的中继来反弹您的流量。
对于物联网设备(基本上就是说,连接的嵌入式设备),一种非常常见的方法是使用 MQTT。对于大多数具有任何类型的 IP 网络功能的计算平台,您会发现以一种或另一种形式提供的支持。
当然,还有许多其他方案 - 您可以使用 RESTful API 或 websockets(可能作为 MQTT 代理的替代模式)或大型云平台提供的各种专有物联网解决方案来做一些事情。
将流量包装在 SSL 中也是非常关键的,因此您的嵌入式设备也需要对此提供支持。而且您必须考虑打包哪些 CA 证书,以及考虑到作为 SSL 验证输入的正式要求,您如何处理时间。