【问题标题】:How do I get the public IP address when starting a GSM modem in server mode?在服务器模式下启动 GSM 调制解调器时如何获取公共 IP 地址?
【发布时间】:2020-11-28 15:20:44
【问题描述】:

我有一个 SIM800C GSM 模块,我想用它来制作服务器。我对知道公共 IP 地址感到非常困惑。为了使人们能够连接到任何服务器,他们需要正确的公共 IP 地址和正确的端口,当然还有正确的协议(TCP、HTTP 等..)。

已经有获取本地IP地址的命令(AT+CIFSR);如果我创建了一个服务器并且我想让我的朋友连接到它,我需要公共 IP 地址。如何获得?

我在互联网上搜索但一无所获。

【问题讨论】:

  • @RobertoCaboni,谢谢。您可以将此作为答案发布,我会将其标记为解决方案。比不回答问题要好。但是您能否详细解释一下“推送短信”。但是让我问你,你的意思是“推送短信”是使用短信作为一种不使用 PDP 上下文的通信方式吗?再次感谢你..
  • 我在扩展它们后发布了我的 cmets 作为答案。我也试着解释一下“推送短信”的事情。

标签: server ip-address gsm at-command sim800


【解决方案1】:

AT+CIFSR(以及标准命令AT+CGPADDR)在您激活 PDP 上下文后立即返回您的 IP。不幸的是,它是否公开取决于您的运营商。事实上,由于需要面对 IPv4 地址耗尽,他们经常执行 网络地址转换 (NAT),这实际上会为您的设备提供本地 IP。 p>

因此,非设备发起的通信将无法访问您的设备,并且您根本无法创建公共服务器。

所以,这不是 与本地 IP 相对的公共 IP:只是您从网络获得的 IP。如果不做NAT,那么AT+CIFSR获取的IP就是公网IP。


设计变通方法

通常NATted IP 限制面临设计技巧

  1. 唤醒 SMS 被发送到托管服务器的设备。 SMS 可以是基本的(仅包含与应用程序相关的数据的文本)或特殊的 SMS 类型(Wap 推送通知)。
  2. 设备收到短信后,立即启动服务器并向远程对等方发送一些数据
  3. 这将导致设备发起通信,因此从网络侧将打开 NAT 并且设备将暂时公开。
  4. 在一定的不活动时间后(取决于运营商),NAT 将再次关闭

“商业”解决方案

如果设计解决方案不可行,还有另一种选择,即购买专门用于 M2M 和 IOT 应用的特殊(并且更昂贵...)SIM:

  1. 将始终获得公共 IP 的 SIM 卡
  2. SIM 将始终获得公共 固定 IP

【讨论】:

    猜你喜欢
    • 2010-11-15
    • 1970-01-01
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    相关资源
    最近更新 更多