EC20 AT 串口使用TCPIP
端口说明:
EC20挂载系统成功后,在Windows环境下会有三个com口,分别为AT Port、DM Port、NMEA Port。其中AT Port用于AT指令的收发,而NMEA Port用于GPS NMEA数据的接收。
在Linux系统下,EC20被成功识别并加载后,会有四个/dev/ttyUSBx设备文件,
ttyUSB2用于AT指令收发,ttyUSB1用于GPS NMEA的接收。
GPS功能启用步骤及说明:
1、使用 AT+QGPSCFG 对GPS参数进行配置,此步骤不进行亦可使用(采用默认参数)。
2、使用 AT+QGPS 开启GPS功能,激活NMEA端口开始上报GPS NMEA数据,也可通过AT指令端口获取NMEA GPS数据。
3、若设置了fixcount为非0,则当上报次数计满时会自动停止上报,若没有设置fixcount,则可以使用 AT+QGPSEND 结束GPS会话。
https://github.com/kenh0u/apn_selector/blob/a6954a8dbf66d6589fabacbcecd1151240095619/setup_air.sh
stty -F /dev/ttyACM0 -echo
cat /dev/ttyACM0 &
AT+GSN
echo -e "AT+CFUN=0\r\n" >/dev/ttyACM0
echo -e "AT+CGDCONT=1,\"ip\",\"internet\"\r\n" >/dev/ttyACM0
echo -e "AT+UCGDFLT=1,\"ip\",\"internet\"\r\n" >/dev/ttyACM0
echo -e "AT+CFUN=1\r\n" >/dev/ttyACM0
echo -e "AT+COPS?\r\n" >/dev/ttyACM0
echo -e "AT+CGCONTRDP\r\n" >/dev/ttyACM0
echo -e "AT+CIND?\r\n" >/dev/ttyACM0
echo -e "AT+CGDCONT?\r\n" >/dev/ttyACM0
echo -e "AT+CGACT=1,1\r\n" >/dev/ttyACM0
echo -e "AT+CGDCONT?\r\n" >/dev/ttyACM0
echo -e "AT+GMI\r\n" >/dev/ttyGS0
config_apn
spawn cu -l /dev/ttyUSB0
sleep 1
expect "Connected."
send "\rATE1\r"
send "AT+CGDCONT?\r"
expect "OK"
sleep 1
send "AT+CGDCONT=0,\"IP\",\"$1\"\r"
expect "OK"
sleep 1
send "AT+CGDCONT=1,\"IP\",\"$1\"\r"
expect "OK"
sleep 1
send "AT+CGDCONT?\r"
expect "OK"
sleep 1
send "ATE0\r"
expect "OK"
exit
正常工作模式
Idle 软件正常运行。模块注册上网络,能够接收和发送数据。
Talk/Data 网络连接正常工作。此模式下,模块功耗取决于网络设置和数据传输速率。
最少功能模式
不断电情况下,使用 AT+CFUN=0 命令可以将模块设置成最少功能模式。此模式下射频和 USIM 卡不工作。
飞行模式
AT+CFUN=4 命令或 W_DISABLE#管脚可以将模块设置成飞行模式。此模式下射频不工作。
睡眠模式
此模式下,模块的功耗将会降到非常低,但模块仍然可以接收寻呼、短信、电话和TCP/UDP 数据。
关机模式
在此模式下,PMU 停止给基带和射频部分的电源供电,软件停止工作,串口不通。但VBAT_RF 和 VBAT_BB 管脚仍然通电
AT+CFUN=0:最少功能模式(关闭 RF 和 USIM 卡)。
AT+CFUN=1:全功能模式(默认)。
AT+CFUN=4:关闭 RF 功能(飞行模式)。
AT+CCID //查询EC20 模块 SIM卡号iccid
+CCID: 89860317745393532238
echo -e "AT+CFUN=1,1\r\n" >/dev/ttyUSB2 //重启模块
echo -e "AT+QCCID\r\n" >/dev/ttyUSB2 //查询SIM卡
echo -e "AT+CFUN=1,1\r\n" >/dev/ttyUSB2 //重启模块
echo -e "AT+QSIMDET=1\r\n" >/dev/ttyUSB2 //开启SIM卡热插拔状态报告
echo -e "AT+QSIMDET=1,1\r\n" >/dev/ttyUSB2 //开启SIM卡检测功能
echo -e "AT+CSQ\r\n" >/dev/ttyUSB2 //查询信号强度
echo -e "AT+QNWINFO\r\n" >/dev/ttyUSB2 //查询网络状态
echo -e "AT+QCFG=\"NWSCANMODE\",3,1\r\n" >/dev/ttyUSB2 //设置4G LTE only
echo -e "AT+QCFG=\"NWSCANMODE\",2,1\r\n" >/dev/ttyUSB2 //设置3G WCDMA only
echo -e "AT+QCFG=\"NWSCANMODE\",1,1\r\n" >/dev/ttyUSB2 //设置2G GSM only
echo -e "AT+QCFG=\"NWSCANMODE\",0,1\r\n" >/dev/ttyUSB2 //设置自动搜索网络
通用指令(300毫秒内返回,超时无效)
ATI:查询产品信息。
AT+GMI:查询制造商信息。
AT+GMM:查询产品模型。(不懂,制造标准?)
AT+GMR:查询软件版本号。
AT+CGMI:查询制造商识别码。
AT+CGMM:查询产品模型。(不懂,制造标准?)
AT+CGMR:查询软件版本号。
AT+GSN:查询IMEI号(国际移动设备识别号)。
AT+CGSN:查询产品序列号。
AT&F:将所有参数恢复到出厂缺省值。
AT&V:查询当前参数设置值。
AT&W[ ATZ[ ATQ ATV ATE A/:重复执行上一条命令。/ 作为结束符号。 ATS3= ATS4= ATS5= ATX AT+CFUN= AT+CMEE= AT+CSCS= AT+QURCCFG="urcport"[, cat /dev/ttyUSB1 & // NMEA数据从ttyUSB1输出 一、在配置后4G模块linux驱动之后, ifconfig usb0 up 二、发送指令流程 1、AT+CPIN? // 查询sim卡是否有识别到 2、AT+CSQ //查询信号强度,范围0~31 3、AT+CEREG? // 查询业务数据可用状态 4、AT^SYSINFOEX //查询模块注册网络制式 5、(NDIS撥號相關)AT+CGDCONT? // 查询网络制式 6、AT^NDISDUP? // NDIS拨号是否可用 7、AT^NDISDUP=1,1 // 网络拨号 ,后参数可填写apn接入点 8、AT+CGATT? // 拨号結果 连接成功為1 三、连接完毕之后执行命令自动获取IP EC20 内嵌了 TCP/IP 协议栈, Host 直接通过 AT 命令可以方便的访问 internet, Host 可以减少对 PPP和 TCP/IP协议栈的依赖,实现低成本的设计。UC20提供TCP Client、UDP Client、TCP Server、UDP Service这些内置的 socket 服务功能。 AT_TCP/IP使用流程 第一步使用AT+QICSGP配置 context profile 的 发送和接收:socket服务启动后,可以进行数据的收发。数据收发方式根据数据访问模式不同有所变化,如在 buffer access mode 下, 利用 AT+QISEND进行数据的发送,接收到数据后,会先上报+QIURC: “recv”, 最后, 使用 AT+QIDEACT关闭 context profile。 第一步:配置 context profile AT+QICSGP=1,1,"CMNET","","",1 //移动APN:CMNET; 联通APN:UNINET 第二步:激活 context profile AT+QIACT? //查询 context profile 状态 AT+QIDEACT=1 //关闭 context profile 1 3.1 TCP Client 工作于 transparent access mode AT+QIOPEN=1,0,"TCP","61.190.19.174",8705,0,2 //在 context profile 1建立 TCP连接, <串口上输入要发送的数据,将直接发送到 internet 上> test1 //从 internet 接收的数据将直接输出到串口 +++ //输入“+++” 或者在 AT&D1 设置下拉 DTR 退出数据模式, 然后才可以输入 AT AT+QISTATE=1,0 //查询 在 buffer access mode 发送数据 test1 AT+QISEND=0,4 //发送长度为 4 的数据 AT+QISEND=0,0 //查询已发送的数据长度 在 buffer access mode 接收远端 server 发来的数据 OK AT+QIRD=0,1500 OK AT+QIRD=0,0 //查看总共接收的数据长度、 已读取的数据长度和 Buffer 中未读取的数据长度 AT+QICLOSE=0 //关闭 AT+QIOPEN=1,0,"TCP","172.16.33.242",6666,0,0AT+QIOPEN=1,6,"TCP","172.18.0.207",9999,0,2AT+QIOPEN=1,0,"TCP","172.16.33.242",6666,0,0\AT+QIOPEN=1,6,"TCP","172.18.0.207",9999,0,2 发送长度为 4 的数据 AT+QISEND=0,4testAT+QISEND=0,4 \test 读取 buffer 中长度为 1500 字节的数据 AT+QIRD=0,1500AT+QIRD=0,1500 关闭连接 AT+QICLOSE=0AT+QICLOSE=0 获取错误信息 AT+QIGETERRORAT+QIGETERROR 应用例子 备注
————————————————
版权声明:本文为CSDN博主「じоνё靁〃」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jingliuting/article/details/89928135GPS功能
echo -e "AT+QGPS=1\r\n" > /dev/ttyUSB2 // 开启GPS会话
可观察到ttyUSB1输出NMEA数据
AT+QGPSCFG
用于进行GPS功能的配置 AT+QGPSCFG="gpsnmeatype",1 (配置nmea格式为GGA) 具体配置请参考官网数据手册。
AT+QGPS GPS会话配置及启动 AT+QGPS=1 (启动GPS会话)
会话其他参数的配置请参考官方数据格式。
AT+QGPSEND 结束GPS会话 AT+QGPSEND (结束GPS会话 nmea端口停止上报) ——
AT+QGPSLOC 通过AT指令端口获取位置信息 AT+QGPSLOC=? (从AT指令端口返回位置信息)
数据格式请参考官方数据格式。
以上只列举了简单启用EC20模块GPS功能并获取到NMEA数据所需的AT指令
————————————————
版权声明:本文为CSDN博主「King_Mumumu」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011195662/article/details/78624977[4G模块]华为ME909S-821 NDIS拨号指令流程
返回信息 :+CPIN: READY
返回信息 :+CSQ: 17,99
返回信息 :+CEREG: 0,1 // 返回 1(或 或 5) 表示数据业务可以使用;返回 2 、3 、4 表示数据业务不可用。此时,表示可以进行数据业务了。
返回信息 :^SYSINFOEX:2,3,0,1,,6,"LTE",101,"LTE"
返回信息 :
+CGDCONT: 0,"IPV4V6","","",0,0,0,0,0,0
+CGDCONT: 1,"IP","3gwap","",0,0,0,0,0,0
+CGDCONT: 11,"IPV4V6","","",0,0,0,0,0,0
返回信息 :OK
返回信息 :OK
返回信息 :1
udhcpc -i usb0
EC20模块
UC20 TCPIP AT 涉及 context profile 配置、激活和关闭、 socket 服务的启动和关闭、数据的收发这几种类型的命令,一般流程如下:
第二步使用 AT+QIACT激活 context profile,激活后可以利用 AT+QIACT?查询分配到的 IP 地址。
第三步使用 AT+QIOPEN 启动一个socket服务,通过
AT实例
按照上面的步骤,举一个AT命令示例。
AT+QICSGP=1,1,”UNINET”,””,””,1 //配置 context profile 1,这里以中国联通举例
OK
AT+QIACT=1 //激活 context profile 1
OK //激活成功
+QIACT: 1,1,1,"10.7.157.1"
OK
1
2
3
4
5
6
关闭 context profile
OK //关闭成功
1
2
第三步:创建套接字,发送和接收
因为有三种不同的数据访问模式模式,通过
建立 TCP client 连接,进入 transparent access mode
OK
CONNECT //连接成功
1
2
3
在 transparent access mode 发送数据
1
在 transparent access mode 接收远端 server 发来的数据
1
关闭 TCP client 连接
OK
AT+QICLOSE=0 //关闭
OK
1
2
3
4
3.2 TCP Client 工作于 buffer access mode
建立 TCP client 连接,进入 buffer access mode
AT+QIOPEN=1,0,"TCP","61.190.19.174",8705,0,0 //在 context profile 1建立 TCP连接,
OK+QIOPEN: 0,0 //连接成功
+QISTATE: 0,”TCP”,“61.190.19.174”,8705,0,2,1,0,0,”usbmodem”
OK
AT+QISEND=0 //发送不指定长度数据
SEND OK
test
SEND OK
+QISEND: 9,0,0
OK
+QIURC: “recv”,0 //表示
AT+QIRD=0,1500 //读取 buffer 中长度为 1500 字节的数据
+QIRD: 5 //表示实际数据仅仅为 5 个字节
test1
+QIRD: 0 //buffer 中无数据
+QIRD: 5,5,0
OK
4.关闭连接
OK
AT_TCP常用命令
套接字链接
AT+QIOPEN=1,0,"TCP","172.16.33.242",6666,0,0
AT+QIOPEN=1,6,"TCP","172.18.0.207",9999,0,2
AT+QISEND=0,4
test
AT+QIRD=0,1500
AT+QICLOSE=0
AT+QIGETERROR
测试代码:单片机代码
附上一个在线调试tcp服务器:公共TCP服务器
————————————————
版权声明:本文为CSDN博主「O_MMMM_O」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/O_MMMM_O/article/details/98501735