U8300W模块内置协议栈的开发笔记

本文详述了通过UART接口使用AT指令实现GPRS网络连接的过程,包括模块初始化、SIM卡检测、网络注册、GPRS连接激活及数据收发等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要记录如何通过UART接口发送AT指令进行GPRS网络连接。

前言

U8300W是LTE制式的4G网络模块,支持移动和联通4G网络。
类似的模块的还有U8300C、U7500、C5300。
U8300C是支持电信4G的全网通模块。
U7500是只支持联通3G模块。
C5300是只支持电信3G模块。

这几个模块的开发方式是一样的,支持的AT命令也都差不多。

 

硬件

硬件上使用一路UART接口与模块通信,UART接口默认使用115200波特率。
模块上电就会启动,可以通过拉低RESET管脚对模块进行复位操作。
 

软件

AT命令的格式:
发送方是以AT开头0x0D结尾的字符串,格式比较统一。
模块响应是以0x0D,0x0A结尾,但开头字符是没有统一的格式,有的指令响应是以+开头,有的又没有。

 

AT指令软件初始化流程仅供参考:

第1步:等待模块就绪
由于模块上电就会启动,但启动时模块的UART接口会打印模块的启动日志,大约持续30秒。
所以主机最好延时30秒再循环发送AT,等待模块响应OK,表示模块通信就绪了。
如果发送了多次都没有响应,则可以给模块来一个复位信号。
再重复上面的操作。

第2步:基本参数设置
2.1 发送ATE0,关闭指令回显。
如果不关闭回显,主机发什么,模块就会原样回复,适合于在终端软件里人工发送命令,可以看到输入指令。
但是我们做产品是用程序去发指令,指令回显不利于写代码解析响应数据,所以关掉为好。
2.2 发送AT+CREG=0,取消注册状态主动上报
注册状态通过AT+CREG?查询就行了,可以不用主动上报。
2.3 发送AT+CMEE=2,设置错误反馈方式
设置为0所有的错误都会返回ERROR.
设置为2某些指令错误会返回+CME ERROR:给出详细的错误信息
2.4 发送AT+MODODR=2,设置模块搜网模式
U8300可以通过这个指令设置锁定4G或2G网络。

第3步:模块识别
主机发送AT+GMM,可以得到模块型号。
但是这条指令的响应内容就是模块型号字符串,没有固定的头和尾,解析比较困难,
如果发这条指令之后,模块突然主动上报一些其它内容,不要把干扰数据当成模块型号了!
发送ATI也可以得到模块型号,还可以获取模块固件版本号信息。

第4步:检测SIM卡
主机发送AT+CPIN?,可以得到SIM卡状态。
这条指令很好解析,响应是格式是+CPIN: <code>
检测到接收的内容是+CPIN开头,就可以确定这是指令应答,而不是模块主动上报的干扰数据。
当<code>为READY时表示SIM卡也就绪了,可以进行下一步操作了。
当<code>为其它状态时,看手册吧,反正是不正常的状态。
发送AT+CIMI可以得到IMSI信息,从号码的前5位可以判断这张卡是哪家运营商,
比如46000是中国移动,46001是中国联通。

第5步:等待注册网络
主机发送AT+CREG?
模块响应+CREG:<n>,<stat>
当stat的值为1或者5时,表示注册成功。
可以发送AT+COPS?查询当前注册的是哪家运营商
可以发送AT+CSQ查询信号强度1-31,31表示信号最强

第6步:激活GPRS数据连接
主机发送AT+MIPPROFILE=1,<apn>,<user>,<pass>设置APN接入点。
模块响应:OK
主机发送AT+MIPCALL=1激活GPRS数据连接。
模块响应:+MIPCALL:<IP>
模块响应:OK

第7步:数据连接相关的参数设置
发送AT+MIPHEX=1,设置数据格式
内嵌TCP/IP协议栈发送数据时采用16进制字符串的格式,而不使用原始二进制数据。

至此模块的网络初始化完成了。
可以进行网络通信了。

第8步:连接远程服务器
发送AT+MIPOPEN=<id>,0,<host>,<port>,0
<id>是通道号码,模块支持1-4通道,可以理解为socket句柄。
<host>可以是域名也可以是IP地址。
<port>是服务器端口。
模块响应:+MIPOPEN:<id>,<sta>
模块响应:OK
响应的<sta>是连接状态,1表示连接成功,0表示连接失败。

第9步:发送数据
发送AT+MIPSEND=<id>,<data>
<id>是通道号码
<data>是数据内容,用双引号包含的HEX编码。
发完这条命令是把数据放到模块缓冲区,缓冲区最大1372字节。
还要再发送:AT+MIPPUSH=<id>才会把数据发送到远程服务器。
模块响应:OK

第10步:接收数据
当模块收到远程服务器发送的数据时会主动上报。
+MIPRTCP:<id>,<len>,<data><\r\n>
<id>是通道号码
<len>是数据长度
<data>是接收数据以HEX编码

第11步:关闭连接
如果是服务器发起的关闭连接,模块会主动上报:
+MIPSTATUS: TCP <id> DISCONNECT
如果是模块发起关闭连接,要向模块发送:AT+MIPCLOSE=<id>
模块响应:+MIPCLOSE:<id>,0,0,0
模块响应:OK
 

 

 

详细说明 U8300无线模块是一款适用于FDD-LTE/TDD-LTE/TD-SCDMA/EDGE/GPRS/GSM多种网络制式的无线终端产品,U8300模块支持多种频段: Tri-Band TDD-LTE:Band38/39/40; Single-Band FDD-LTE :Band7; Tri-Band TD-SCDMA:Band34/39/40; Dual-Band EDGE/GPRS/GSM:GSM900/DCS1800。 在FDD-LTE网路下,U8300接入速度下行可达100Mbps,上行可达50Mbps,在TDD-LTE网络下,U8300接入速度下行可达61Mbps,上行可达18Mbps,在没有LTE网络覆盖的情况下,U8300还可以通过TD-SCDMA接入,速率可达下行4.2Mbps和上行2.2Mbps,EGDE接入速率可达237kbps,GPRS接入速率可达85.6kbps。 U8300在提供高速数据接入的同时,可提供**讯簿等功能,可广泛应用于移动宽带接入、视频监控、手持终端、车载设备等产品。 U8300采用先进的高度集成设计方案,将射频、基带集成在一块PCB上,完成无线接收、发射、基带信号处理和音频信号处理功能,采用双面布局,模块结构尺寸为:51.0×30.0×4.6mm。 U8300支持AT命令扩展,可以实现用户个性化定制方案。 U8300无线模块是一款适用于FDD-LTE/TDD-LTE/TD-SCDMA/EDGE/GPRS/GSM多种网络制式的无线终端产品,U8300模块支持多种频段: Tri-Band TDD-LTE:Band38/39/40; Single-Band FDD-LTE:Band7; Tri-Band TD-SCDMA:Band34/39/40; Dual-Band EDGE/GPRS/GSM:GSM900/DCS1800。 在FDD-LTE网路下,U8300接入速度下行可达100Mbps,上行可达50Mbps,在TDD-LTE网络下,U8300接入速度下行可达61Mbps,上行可达18Mbps,在没有LTE网络覆盖的情况下,U8300还可以通过TD-SCDMA接入,速率可达下行4.2Mbps和上行2.2Mbps,EGDE接入速率可达237kbps,GPRS接入速率可达85.6kbps。 U8300在提供高速数据接入的同时,可提供**讯簿等功能,可广泛应用于移动宽带接入、视频监控、手持终端、车载设备等产品。 U8300采用先进的高度集成设计方案,将射频、基带集成在一块PCB上,完成无线接收、发射、基带信号处理和音频信号处理功能,采用双面布局,模块结构尺寸为:51.0×30.0×4.6mm。 U8300支持AT命令扩展,可以实现用户个性化定制方案。 优势 ● 支持多种网络制式,FDD-LTE/TDD-LTE/TD-SCDMA/EDGE/GPRS/GSM ● 宽带无线通讯模块,FDD_LTE:100Mbps(DL)/50Mbps(UL),TDD_LTE:61Mbps(DL)/18Mbps(UL),TD-SCDMA:4.2Mbps(DL)/2.2Mbps(UL) ● Mini PCI-E标准连接器,便于调试和售后维护 ● 支持GPS
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值