1

我正在尝试使用 SIM7020E 芯片上的 AT 命令通过 t-mobile NB-IoT 网络发送 UDP 数据包。我使用产品 wiki作为参考。我的sim卡的入门版本不支持TCP,但如果我可以使用UDP成功通​​信,我计划稍后使用它。

我使用“nc -u -l 9999”在 Raspberry Pi 上创建了一个 UDP 套接字。我在我的托管服务提供商上设置了一个 A 记录,以将 dev.mydomain.com 引用到 Raspberry Pi 的 IP 地址。我通过使用“nc -u dev.mydomain.com 9999”从我的笔记本电脑在另一个网络上发送 UDP 数据包并输入一些测试字符串来验证端口转发和 A 记录设置,所以这一切都有效。

在 4G 芯片上,我使用以下 AT 命令:

// Check network
AT+CSQ
+CSQ: 21,0

AT+CGREG?
+CGREG: 0,5

AT+COPS?
+COPS: 0,2,"20416",9

AT+CGCONTRDP
+CGCONTRDP: 1,5,"iot.t-mobile.nl","x.x.x.x.255.255.255.0" <-- crossed out my ip

// Create UDP socket
AT+CSOC=1,2,1
+CSOC: 0

// Connect socket 0 to the listening port on the Raspberry Pi
AT+CSOCON=0,9999,"dev.mydomain.com"
OK

// Send "test"
AT+CSOSEND=0,0,"test"

此时我希望看到“测试”出现在 Raspberry Pi 的命令行中,但没有任何反应。在 T-mobile 门户中,它显示 PDP 上下文已成功激活。此外,手动设置 APNAT*MCGDEFCONT="IP","iot.t-mobile.nl","username","password"不起作用。

4

1 回答 1

0

汉斯你解决了吗?在https://www.waveshare.com/wiki/Pico-SIM7020E-NB-IoT代码示例之后,我正在使用 SIM7020E 。通过 CHTTPCREATE/CHTTPCON/CHTTPSEND AT cmds 成功地将 HTTP GETS 发送到服务器(无需使用 micropython 的可怜的 urequests 库),这似乎能够通过 LTE 将数据包发送到服务器而无需指定 TCP/UDP 等或使用一个插座。也许试一试?

可悲的是,我想到了在 uart 上尝试“AT+POWD=1”cmd(应该关闭 7020E 的电源)的好主意,现在模块现在除了 echo AT cmds 什么都不做(仍然自动连接到 LTE 网络并且速度很慢闪烁网络指示灯,只是不会做任何其他事情。)真正的耻辱,否则不错的小模块。

于 2021-05-10T07:57:30.193 回答