我正在尝试使用SIM7020E芯片上的AT命令通过t-mobile NB-IoT网络发送UDP数据包。我使用the product wiki作为参考。我的sim卡的初学者版本不支持TCP,但如果我能成功地使用UDP通信,我打算以后再用它。
我使用"nc -u -l 9999“在Raspberry Pi上创建了一个UDP-socket。我在我的主机提供商上设置了一个A记录,让dev.mydomain.com指向树莓派的IP地址。我使用"nc -u dev.mydomain.com 9999“从另一个网络上的笔记本电脑上发送UDP数据包,并输入一些测试字符串,从而验证了端口转发和A-record设置,所以这一切都有效。
在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"
此时,我希望看到"test“出现在Raspberry Pi的命令行中,但什么也没有发生。在T-mobile门户中,它显示PDP上下文被成功激活。此外,使用AT*MCGDEFCONT="IP","iot.t-mobile.nl","username","password"
手动设置APN也不起作用。
发布于 2021-05-10 15:57:30
你想好了吗,汉斯?我带着一个遵循https://www.waveshare.com/wiki/Pico-SIM7020E-NB-IoT代码示例的SIM7020E缓慢前行。我成功地通过CHTTPCREATE/CHTTPCON/CHTTPSEND AT cmds将HTTP GETS发送到服务器(而不必使用micropython可怜的urequest库),这似乎能够在不指定TCP/UDP等或使用套接字的情况下通过LTE向服务器发送数据包。也许可以试一试?
可悲的是,我想到了一个好主意,在通用异步收发器上尝试一个'AT+POWD=1‘cmd (本应关闭7020E的电源)&现在这个模块除了在cmds上回显什么都不做了(仍然自动连接到LTE网络,网络指示灯缓慢闪烁,不会做其他任何事情)。真丢人,要不然就是个不错的小模块。
https://stackoverflow.com/questions/67229730
复制相似问题