首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于internet的套接字嵌入Python

基于internet的套接字嵌入Python
EN

Stack Overflow用户
提问于 2020-12-09 00:33:04
回答 2查看 40关注 0票数 0

我有一个可以连接到互联网的嵌入式系统。该嵌入式系统必须将传感器数据发送到PC机客户端。

我在我的PC上安装了一个使用python的套接字客户端。我放了一个socket服务器(在嵌入式系统上使用C++语言,因为您只能使用C++ )。

我可以使用套接字成功地从我的PC连接到嵌入式系统,并发送和接收我想要的任何东西。

现在,问题是我使用本地IP连接到系统,并且它们必须连接到相同的Wifi路由器。

在实际应用中,我不知道嵌入式系统在世界的什么地方。我需要通过互联网到达它,因为它将通过4g连接到互联网。

我的问题是,如果嵌入式系统使用4G接入互联网,我如何通过互联网连接它?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-12-09 03:06:35

我认为,如果您将嵌入式系统和PC的角色互换一下,您的问题会更容易解决。如果您通过蜂窝网络使用IP协议与设备通信,则将设备连接到PC上的服务器要容易得多,反之亦然。一些网络/蜂窝调制解调器不允许服务器套接字,并且在任何情况下,IP地址通常是动态分配的,因此难以获知。通过使设备连接到服务器,它“知道”它应该连接到的域名(或IP地址)和端口。您只需确保确实有一个服务器程序在该主机上运行,并绑定到某个商定的端口号。您可以唤醒设备以基于多个条件形成连接,例如收集数据的时间或数量等。

票数 0
EN

Stack Overflow用户

发布于 2020-12-09 13:43:39

实际上,在典型情况下,挂起4g调制解调器的PC或嵌入式设备都不太可能(或应该被允许)具有外部可路由地址。

这实际上意味着您需要通过云中双方可见的中继来反弹流量。

对于IoT设备(基本上就是互联的嵌入式设备)来说,一种非常常见的方法就是使用MQTT。您会发现对大多数具有任何类型的IP网络功能的计算平台都有这样或那样的支持。

当然,还有许多其他方案-您可以使用MQTT或websockets (可能作为RESTful代理的替代模式),或大型云平台提供的各种专有IoT解决方案。

将流量封装在SSL中也是非常关键的,因此您也需要在嵌入式设备中支持这一点。您还必须考虑打包哪些CA证书,以及如何处理作为SSL验证输入的正式要求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65202965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档