背景

先前了解了有人USR-LTE-7S4的基本命令操作,但是对于我的项目来讲,最重要的还是网络透传功能。于是,我暂时跳过了HTTPD和串口的操作部分,直接学习网络AT指令和短信部分。

指令学习

首先要把工作模式切换为NET网络透传模式。

切换模式

心跳包

官方提供的串口工具左侧便可以直接启动心跳包,如果要用指令的话,使用AT+HEARTEN=ON开启心跳包,使用AT+HEARTDT=<data>设置心跳包数据(16进制),AT+HEARTSND=NET/COM设置心跳包发往服务器或串口,使用AT+HEARTTM=<time>设置心跳包发送间隔。

心跳包设置

传输TCP数据

官方工具可以直接设定服务器

设置服务器

然后我们在自己的公网服务器上开启一个服务监听相应端口就行了。

这里贴出python源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import socket

HOST, PORT = '', 10081
listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
listen_socket.bind((HOST, PORT))
listen_socket.listen(1)

while True:
client_connection, client_address = listen_socket.accept()
while True:
req = client_connection.recv(1024)
print req
resp = "1"
client_connection.sendall(str(resp))
client_connection.close()

服务端启动后,就可以与服务器进行通讯了。

一定要把模块切换为通讯状态

附上测试的效果图

TCP通讯测试

短信发送

按照官方文档,串口发送命令AT+SMSEND=number,dataAT+CISMSSEND=number,type就可以发送短信。但是严格按照官方文档操作后,目标手机没有任何反应。本人已经提交工单。

也许是自己还很naive吧