今天我们将以低功耗4G模组典型上网业务——AT上网流程为例,一起来看看,如何通过常用的AT指令和服务器进行交互。

1、准备工作

  • 准备一套4G模组的开发板,本文演示以Air780EQ为例;

  • Win10及以上电脑;

  • LuaTools调试工具;

  • TCP/UDP web测试工具;

  • 串口PC工具:
    如果没有合用的,推荐使用LLCOM:
    https://llcom.papapoi.com/

2、查询终端状态

4G模组开机后会自动搜网,注册网络,选择一个最优的小区,并驻留在这个小区。

此时按照如下次序查询,确定设备的状态:

  • 查询SIM卡是否插好:
    AT+CPIN?

  • 查询IMSI/IMEI/ICCID业务备用,分别是:
    AT+CIMI
    AT+CGSN
    AT+ICCID

  • 查询是否网络注册成功:
    AT+CREG?

  • 查询终端信号强度:
    AT+CSQ

  • 查询是否上网服务已经激活:
    AT+CGATT?

AT交互示例如图:

Image

3、和服务器建立socket连接

3.1. 兼容2G时代的3个无用指令:

这三个指令是在2G时代设计的,到了4G时代已经完全无用了,但是为了兼容之前的MCU的代码,这里还是提一下。如果你是新开发的项目,完全可以删掉这三个指令了。

AT+CSTT, 

AT+CIICR,

AT+CIFSR, 可以查询本机获取到的IP地址

3.2. 打开TCP服务器,开始监听:

这里使用TCP/UDP web测试工具进行测试。

Image

3.3. 连接服务器,建立socket:

建立和服务器的socket连接,用如下指令:

AT+CIPSTART="TCP",112.125.89.8,45756 

其中的IP地址和端口参数,是同步使用上方web测试网站的IP和端口数据。“TCP” 也可以更换为“UDP”。当模组返回CONNECT OK后, socket就建立成功了。

AT交互过程如图:

Image

此时web测试工具,也显示有终端连接成功:

Image

4、和服务器数据交互

用指令AT+CIPSEND,向服务器发送数据。

Image

服务器端,显示收到了数据:

Image

从服务器端发送消息,终端也能显示出来收到的数据:

Image

Image

以上的例子,是终端每次发送固定长度的数据。

如果终端想发送不定长度的数据,或者是想透传数据,可以参考详细的AT手册。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐