文档库 最新最全的文档下载
当前位置:文档库 › M26模块使用方法及编程策略

M26模块使用方法及编程策略

M26模块使用方法及编程策略
M26模块使用方法及编程策略

M26模块使用方法及编程策略

初始化模块:

MCU:ATE0\r\n (关闭命令回显)

M26: OK\r\n

MCU: AT+CPIN? \r\n (查询SIM卡状态:SIM卡损坏或者无SIM卡)

M26:+CPIN: READY\r\n (非Ready可认为SIM卡异常)

MCU:AT+CREG?\r\n (确定找网成功)

M26: +CREG: 0,1\r\n (表明成功,逗号之后的数字:1表示已注册本地网,5表示漫游,否则异常)

MCU: AT+CGATT?\r\n (查询GPRS附着是否成功)

M26: +CGATT: 1\r\n (1:成功;0:失败)

MCU: AT+QIFGCNT=0\r\n (将Context0设为前台)

M26: OK\r\n

MCU: AT+QINDI=1\r\n (接收数据缓存模式)

M26: OK\r\n

MCU: AT+QISDE=0\r\n (发送时,关闭数据回显)

M26: OK\r\n

MCU: AT+QIDNSIP=0\r\n (0:使用IP地址连接;1:使用域名连接)

M26: OK\r\n

建立TCP连接:

MCU:AT+QISTATE\r\n (查询连接状态)

M26:(回应有以下可能)

1. CONNECT OK\r\n (连接已建立,应先关闭连接)

MCU:AT+QICLOSE\r\n (关闭连接)

M26:CLOSE OK\r\n (关闭成功)

2. PDP DEACT\r\n (GPRS场景异常,应重启模块)

3. IP INITIAL\r\n (或者)IP CLOSE\r\n (连接已准备好了,可建立连接)

MCU: AT+QIOPEN="TCP","120.24.76.130",6800\r\n (建立连接到120.24.76.130:6800的TCP连接)

M26: OK\r\n (语法无误则返回OK,否则返回 ERROR)

MCU: (等待连接结果返回,结果有以下可能)

1. CONNECT OK\r\n (连接成功)

2. CONNECT FAIL\r\n (连接失败)

发送数据到M26:

MCU:AT+QISEND=10\r\n (10:要发送给M26的字节数。 M26内存为1460字节)

M26:> (或者)ERROR (M26会根据当前内部缓存大小判断,足够5个则回应:>;不够则返回“ERROR”)。MCU:1234567890 (数据内容)

M26:SEND OK\r\n(或者)SEND FAIL\r\n (FAIL出现说明网络错误???)

(总结:数据可以分批发送,不足数量,则M26一直等待(无返回);超出则丢弃多余,并返回SEND OK\r\n)

M26:+QIRDI: 0,1,0\r\n (数据到达通知;多条数据也只通知一次,除非到达前已经被读空)

从M26中读数据:

MCU:AT+QIRD=0,1,0,6\r\n (6:要求读取6个字节)

M26:+QIRD: 120.24.76.130:6800,TCP,6\r\n123456\r\nOK\r\n (123456:数据)

MCU:AT+QIRD=0,1,0,6\r\n (6:要求读取6个字节)

M26:+QIRD: 120.24.76.130:6800,TCP,4\r\n7890\r\nOK\r\n (7890:被读取数据)

MCU:AT+QIRD=0,1,0,6\r\n (6:读取6个字节)

M26:\r\n OK\r\n (没有数据被读出)

(总结:

1)总会返回OK:有数据被读出则携带读出数量;空则直接OK;

2)<要求读取数量>可以固定大小,如果返回<被读取数量>小于<要求读出数量>,表明已经读空;如果相等,则只能再读,直到出现小于情况或直接返回OK情况;

3)在命令回显关闭条件下:模块回应为连续字节输出;否则,在命令回显后有一个500us左右不等时长之间隔;)

FTP下载:

MCU: AT+QIFGCNT=0\r\n (设置Contex 0为前台)

M26: OK\r\n

MCU: AT+QFTPUSER="vigi"\r\n (设置FTP用户,这里是"vigi")

M26: OK\r\n

MCU: AT+QFTPPASS="vigi"\r\n (设置FTP密码)

M26: OK\r\n

MCU: AT+QFTPOPEN="120.24.76.130",21\r\n (建立FTP连接)

M26: OK\r\n

M26: +QFTPOPEN:0\r\n (0为成功,非0为异常)

MCU: AT+QFTPCFG=4,"/RAM/dwl.txt"\r\n (设置本地存放路径)

M26: OK\r\n

M26: +QFTPCFG:0\r\n (0为成功,非0为异常)

MCU: AT+QFTPPATH="/home/vigi/share/TcpSvr/"\r\n (设置服务端目录)

M26: OK\r\n

M26: +QFTPPATH:0\r\n (0为成功,非0为异常)

MCU: AT+QFTPGET="db.c"\r\n (下载文件db.c保存到指定的路径)

M26: OK\r\n

M26: +QFTPGET:1146\r\n (小于0为异常,否则为下载文件大小)

MCU: AT+QFOPEN="RAM:dwl.txt",2\r\n (只读模式打开文件)

M26: +QFOPEN: 134072\r\n (返回文件句柄134072)

OK\r\n

MCU: AT+QFREAD=134072,1024\r\n (读句柄为134072的文件1024字节)

M26: CONNECT 1024\r\n (返回实际读取字节数)

..... (返回数据,此处为了编写文档的便利,省略数据内容)

OK\r\n

MCU: AT+QFREAD=134072,1024\r\n (继续读句柄为134072的文件1024字节)

M26: CONNECT 122\r\n (如果实际读取的字节数小于要读的字节数,则表明是最后一个数据包) ..... (返回数据,此处为了编写文档的便利,省略数据内容)

OK\r\n

MCU: AT+QFCLOSE=134072\r\n (关闭句柄为134072的文件)

M26: OK\r\n

相关文档